use of com.thoughtworks.go.util.command.UrlArgument in project gocd by gocd.
the class TfsMaterialConfigUpdateTest method shouldErrorOutIfDecryptionFails.
@Test
public void shouldErrorOutIfDecryptionFails() throws InvalidCipherTextException {
GoCipher mockGoCipher = mock(GoCipher.class);
String fakeCipherText = "fake cipher text";
when(mockGoCipher.decrypt(fakeCipherText)).thenThrow(new InvalidCipherTextException("exception"));
TfsMaterialConfig materialConfig = new TfsMaterialConfig(mockGoCipher, new UrlArgument("http://10.4.4.101:8080/tfs/Sample"), "loser", "CORPORATE", "passwd", "walk_this_path");
ReflectionUtil.setField(materialConfig, "encryptedPassword", fakeCipherText);
try {
materialConfig.getPassword();
fail("Should have thrown up");
} catch (Exception e) {
assertThat(e.getMessage(), is("Could not decrypt the password to get the real password"));
}
}
use of com.thoughtworks.go.util.command.UrlArgument in project gocd by gocd.
the class TfsMaterialConfigUpdateTest method shouldEncryptTfsPasswordAndMarkPasswordAsNull.
@Test
public void shouldEncryptTfsPasswordAndMarkPasswordAsNull() throws Exception {
GoCipher mockGoCipher = mock(GoCipher.class);
when(mockGoCipher.encrypt("password")).thenReturn("encrypted");
TfsMaterialConfig materialConfig = new TfsMaterialConfig(mockGoCipher, new UrlArgument("http://10.4.4.101:8080/tfs/Sample"), "loser", "CORPORATE", "password", "walk_this_path");
materialConfig.ensureEncrypted();
assertThat(materialConfig.getPassword(), is(nullValue()));
assertThat(materialConfig.getEncryptedPassword(), is("encrypted"));
}
use of com.thoughtworks.go.util.command.UrlArgument in project gocd by gocd.
the class TfsMaterialConfigUpdateTest method shouldSetConfigAttributes.
@Test
public void shouldSetConfigAttributes() {
TfsMaterialConfig tfsMaterialConfig = new TfsMaterialConfig(new GoCipher(), new UrlArgument("http://10.4.4.101:8080/tfs/Sample"), "loser", "some_domain", "passwd", "walk_this_path");
Map<String, String> map = new HashMap<>();
map.put(ScmMaterialConfig.URL, "http://foo:8080/tfs/HelloWorld");
map.put(ScmMaterialConfig.USERNAME, "boozer");
map.put(ScmMaterialConfig.PASSWORD, "secret");
map.put(ScmMaterialConfig.FOLDER, "folder");
map.put(ScmMaterialConfig.AUTO_UPDATE, "0");
map.put(ScmMaterialConfig.FILTER, "/root,/**/*.help");
map.put(AbstractMaterialConfig.MATERIAL_NAME, "my-tfs-material-name");
map.put(TfsMaterialConfig.PROJECT_PATH, "/useless/project");
map.put(TfsMaterialConfig.DOMAIN, "CORPORATE");
tfsMaterialConfig.setConfigAttributes(map);
TfsMaterialConfig newTfsMaterialConfig = new TfsMaterialConfig(new GoCipher(), new UrlArgument("http://foo:8080/tfs/HelloWorld"), "boozer", "CORPORATE", "secret", "/useless/project");
newTfsMaterialConfig.setName(new CaseInsensitiveString("my-tfs-material-name"));
newTfsMaterialConfig.setFolder("folder");
assertThat(tfsMaterialConfig, is(newTfsMaterialConfig));
assertThat(tfsMaterialConfig.getPassword(), is("passwd"));
assertThat(tfsMaterialConfig.isAutoUpdate(), is(false));
assertThat(tfsMaterialConfig.getDomain(), is("CORPORATE"));
assertThat(tfsMaterialConfig.getName(), is(new CaseInsensitiveString("my-tfs-material-name")));
assertThat(tfsMaterialConfig.filter(), is(new Filter(new IgnoredFiles("/root"), new IgnoredFiles("/**/*.help"))));
}
use of com.thoughtworks.go.util.command.UrlArgument in project gocd by gocd.
the class TfsMaterialConfigUpdateTest method shouldDecryptTfsPassword.
@Test
public void shouldDecryptTfsPassword() throws Exception {
GoCipher mockGoCipher = mock(GoCipher.class);
when(mockGoCipher.decrypt("encrypted")).thenReturn("password");
TfsMaterialConfig materialConfig = new TfsMaterialConfig(mockGoCipher, new UrlArgument("http://10.4.4.101:8080/tfs/Sample"), "loser", "CORPORATE", "secret", "walk_this_path");
ReflectionUtil.setField(materialConfig, "encryptedPassword", "encrypted");
materialConfig.ensureEncrypted();
assertThat(materialConfig.getPassword(), is("password"));
}
use of com.thoughtworks.go.util.command.UrlArgument in project gocd by gocd.
the class TfsMaterialConfigUpdateTest method validate_shouldEnsureMandatoryFieldsAreNotBlank.
@Test
public void validate_shouldEnsureMandatoryFieldsAreNotBlank() {
TfsMaterialConfig tfsMaterialConfig = new TfsMaterialConfig(new GoCipher(), new UrlArgument(""), "", "CORPORATE", "", "");
tfsMaterialConfig.validate(new ConfigSaveValidationContext(null));
assertThat(tfsMaterialConfig.errors().on(TfsMaterialConfig.URL), is("URL cannot be blank"));
assertThat(tfsMaterialConfig.errors().on(TfsMaterialConfig.USERNAME), is("Username cannot be blank"));
assertThat(tfsMaterialConfig.errors().on(TfsMaterialConfig.PROJECT_PATH), is("Project Path cannot be blank"));
}
Aggregations