use of org.jboss.pnc.client.BuildConfigurationClient in project pnc by project-ncl.
the class BuildConfigurationEndpointTest method shouldUpdateBuildConfigurationWithDependencies.
/**
* Reproducer NCL-5686 - update of build configuration with dependencies, with cache enabled, is possible
*
* @throws Exception
*/
@Test
@InSequence(60)
public void shouldUpdateBuildConfigurationWithDependencies() throws ClientException {
// given
// Create dependency
BuildConfiguration dependency = createBuildConfigurationAndValidateResults(projectId, environmentId, repositoryConfigurationId, "pnc-1.0.0.DR1", UUID.randomUUID().toString());
// Create build configuration
Map<String, BuildConfigurationRef> dependencies = new HashMap<>();
dependencies.put(dependency.getId(), dependency);
BuildConfiguration buildConfiguration = createBuildConfigurationWithDependencyAndValidateResults(projectId, environmentId, repositoryConfigurationId, "dependency-analysis-master", UUID.randomUUID().toString(), dependencies);
final String updatedBuildScript = "mvn clean deploy -DskipTests=true";
final Instant modificationTime = Instant.ofEpochMilli(155382545038L);
BuildConfiguration updatedBuildConfiguration = BuildConfiguration.builder().id(buildConfiguration.getId()).name(buildConfiguration.getName()).buildScript(updatedBuildScript).creationTime(buildConfiguration.getCreationTime()).modificationTime(modificationTime).project(buildConfiguration.getProject()).environment(buildConfiguration.getEnvironment()).parameters(buildConfiguration.getParameters()).scmRepository(buildConfiguration.getScmRepository()).buildType(buildConfiguration.getBuildType()).build();
// when
BuildConfigurationClient client = new BuildConfigurationClient(RestClientConfiguration.asUser());
client.update(updatedBuildConfiguration.getId(), updatedBuildConfiguration);
BuildConfiguration updatedBC = client.getSpecific(updatedBuildConfiguration.getId());
// then
assertThat(updatedBC.getId()).isEqualTo(buildConfiguration.getId());
assertThat(updatedBC.getName()).isEqualTo("dependency-analysis-master");
assertThat(updatedBC.getBuildScript()).isEqualTo(updatedBuildScript);
assertThat(updatedBC.getScmRepository().getId()).isEqualTo(repositoryConfigurationId);
assertThat(updatedBC.getProject().getId()).isEqualTo(projectId);
assertThat(updatedBC.getEnvironment().getId()).isEqualTo(environmentId);
assertThat(modificationTime).isNotEqualTo(updatedBC.getModificationTime());
}
use of org.jboss.pnc.client.BuildConfigurationClient in project pnc by project-ncl.
the class BuildConfigurationEndpointTest method shouldNotCreateWithInternalUrlNotMatchingPattern.
@Test
public void shouldNotCreateWithInternalUrlNotMatchingPattern() throws ClientException {
BuildConfigurationClient client = new BuildConfigurationClient(RestClientConfiguration.asUser());
BuildConfiguration bc = client.getSpecific(configurationId);
BuildConfiguration newBC = BuildConfiguration.builder().name("othername").buildScript(bc.getBuildScript()).project(bc.getProject()).environment(bc.getEnvironment()).parameters(bc.getParameters()).buildType(bc.getBuildType()).build();
BuildConfigWithSCMRequest request = BuildConfigWithSCMRequest.builder().buildConfig(newBC).scmUrl("ssh://git@github.com:22/gerrit/newRepo.git").build();
assertThatThrownBy(() -> client.createWithSCM(request)).hasCauseInstanceOf(BadRequestException.class);
BuildConfigWithSCMRequest request2 = BuildConfigWithSCMRequest.builder().buildConfig(newBC).scmUrl("ssh://git@github.com:22/foo/newRepo").build();
assertThatThrownBy(() -> client.createWithSCM(request2)).hasCauseInstanceOf(BadRequestException.class);
}
use of org.jboss.pnc.client.BuildConfigurationClient in project pnc by project-ncl.
the class GroupConfigurationEndpointTest method testAddBuildConfig.
@Test
public void testAddBuildConfig() throws ClientException {
// with
GroupConfigurationClient client = new GroupConfigurationClient(RestClientConfiguration.asUser());
BuildConfigurationClient bcClient = new BuildConfigurationClient(RestClientConfiguration.asUser());
String gcId = "100";
BuildConfiguration buildConfiguration = bcClient.getAll().iterator().next();
String bcToAddId = buildConfiguration.getId();
GroupConfiguration groupConfiguration = client.getSpecific(gcId);
assertThat(groupConfiguration.getBuildConfigs()).doesNotContainKey(bcToAddId);
// when
client.addBuildConfig(gcId, buildConfiguration);
// then
assertThat(client.getSpecific(gcId).getBuildConfigs()).containsKey(bcToAddId);
}
use of org.jboss.pnc.client.BuildConfigurationClient in project pnc by project-ncl.
the class GroupConfigurationEndpointTest method shouldUpdateAllBuildConfigurations.
@Test
public void shouldUpdateAllBuildConfigurations() throws Exception {
// with
GroupConfigurationClient client = new GroupConfigurationClient(RestClientConfiguration.asUser());
BuildConfigurationClient bcClient = new BuildConfigurationClient(RestClientConfiguration.asUser());
String gcId = "101";
BuildConfiguration bc = bcClient.getAll().iterator().next();
GroupConfiguration gc = client.getSpecific(gcId);
String bcId = bc.getId();
Map<String, BuildConfigurationRef> buildConfigurationMap = new HashMap<>();
buildConfigurationMap.put(bcId, bc);
GroupConfiguration updated = gc.toBuilder().buildConfigs(buildConfigurationMap).build();
assertThat(gc.getBuildConfigs()).doesNotContainKey(bcId);
// when
client.update(gc.getId(), updated);
// then
assertThat(client.getSpecific(gcId).getBuildConfigs()).containsOnlyKeys(bcId);
}
use of org.jboss.pnc.client.BuildConfigurationClient in project pnc by project-ncl.
the class SCMRepositoryEndpointTest method testGetBuildConfigurationForARepository.
@Test
public void testGetBuildConfigurationForARepository() throws ClientException {
BuildConfigurationClient buildConfigurationClient = new BuildConfigurationClient(RestClientConfiguration.asUser());
SCMRepository scmRepository = repositoryClient.getAll(null, null).iterator().next();
Iterator<BuildConfiguration> allConfigsIterator = buildConfigurationClient.getAll().iterator();
BuildConfiguration buildConfiguration1 = allConfigsIterator.next().toBuilder().scmRepository(scmRepository).build();
BuildConfiguration buildConfiguration2 = allConfigsIterator.next().toBuilder().scmRepository(scmRepository).build();
buildConfigurationClient.update(buildConfiguration1.getId(), buildConfiguration1);
buildConfigurationClient.update(buildConfiguration2.getId(), buildConfiguration2);
RemoteCollection<BuildConfiguration> buildConfigs = repositoryClient.getBuildConfigs(scmRepository.getId());
assertThat(buildConfigs).usingElementComparatorIgnoringFields("modificationTime", "creationUser", "modificationUser").contains(buildConfiguration1, buildConfiguration2).allSatisfy((bc -> scmRepository.equals(bc.getScmRepository())));
}
Aggregations