use of com.thoughtworks.go.domain.scm.SCM in project gocd by gocd.
the class PluggableScmServiceTest method shouldCheckConnectionToSCM.
@Test
public void shouldCheckConnectionToSCM() {
Configuration configuration = new Configuration(ConfigurationPropertyMother.create("KEY1"));
SCM modifiedSCM = new SCM("scm-id", new PluginConfiguration(pluginId, "1"), configuration);
Result expectedResult = new Result();
expectedResult.withSuccessMessages(Arrays.asList("message"));
when(scmExtension.checkConnectionToSCM(eq(modifiedSCM.getPluginConfiguration().getId()), any(SCMPropertyConfiguration.class))).thenReturn(expectedResult);
Result gotResult = pluggableScmService.checkConnection(modifiedSCM);
verify(scmExtension).checkConnectionToSCM(eq(modifiedSCM.getPluginConfiguration().getId()), any(SCMPropertyConfiguration.class));
assertSame(expectedResult, gotResult);
}
use of com.thoughtworks.go.domain.scm.SCM in project gocd by gocd.
the class SCMControllerV4 method destroy.
public String destroy(Request request, Response response) throws IOException {
final String materialName = request.params(MATERIAL_NAME);
SCM scm = fetchEntityFromConfig(materialName);
haltIfEntityIsDefinedRemotely(scm);
HttpLocalizedOperationResult result = new HttpLocalizedOperationResult();
pluggableScmService.deletePluggableSCM(currentUsername(), scm, result);
return renderHTTPOperationResult(result, request, response);
}
use of com.thoughtworks.go.domain.scm.SCM in project gocd by gocd.
the class SCMControllerV4 method update.
public String update(Request request, Response response) {
final String materialName = request.params(MATERIAL_NAME);
final SCM existingSCM = fetchEntityFromConfig(materialName);
final SCM scmFromRequest = buildEntityFromRequestBody(request);
if (isRenameAttempt(existingSCM.getId(), scmFromRequest.getId()) || isRenameAttempt(existingSCM.getName(), scmFromRequest.getName())) {
throw haltBecauseRenameOfEntityIsNotSupported(getEntityType().getEntityNameLowerCase());
}
haltIfEntityIsDefinedRemotely(existingSCM);
if (isPutRequestStale(request, existingSCM)) {
throw haltBecauseEtagDoesNotMatch(getEntityType().getEntityNameLowerCase(), existingSCM.getId());
}
final HttpLocalizedOperationResult operationResult = new HttpLocalizedOperationResult();
pluggableScmService.updatePluggableScmMaterial(currentUsername(), scmFromRequest, operationResult, getIfMatch(request));
return handleCreateOrUpdateResponse(request, response, scmFromRequest, operationResult);
}
use of com.thoughtworks.go.domain.scm.SCM in project gocd by gocd.
the class SCMControllerV4 method getUsages.
public String getUsages(Request request, Response response) throws IOException {
String materialName = request.params(MATERIAL_NAME);
SCM scm = fetchEntityFromConfig(materialName);
Map<String, List<Pair<PipelineConfig, PipelineConfigs>>> allUsages = goConfigService.getCurrentConfig().getGroups().getPluggableSCMMaterialUsageInPipelines();
List<Pair<PipelineConfig, PipelineConfigs>> scmUsageInPipelines = allUsages.getOrDefault(scm.getId(), emptyList());
return writerForTopLevelObject(request, response, outputWriter -> ScmUsageRepresenter.toJSON(outputWriter, materialName, scmUsageInPipelines));
}
use of com.thoughtworks.go.domain.scm.SCM in project gocd by gocd.
the class UpdateSCMConfigCommand method isRequestFresh.
private boolean isRequestFresh(CruiseConfig cruiseConfig) {
SCM existingSCM = findSCM(cruiseConfig);
boolean freshRequest = entityHashingService.hashForEntity(existingSCM).equals(digest);
if (!freshRequest) {
result.stale(EntityType.SCM.staleConfig(globalScmConfig.getName()));
}
return freshRequest;
}
Aggregations