@Override protected void appendAttributes(Map<String, Object> parameters) { parameters.put("repositoryName", this.getPackageDefinition().getRepository().getName()); parameters.put("packageName", this.getPackageDefinition().getName()); }
@Override public List<Modification> latestModification(final PackageMaterial material, File baseDir, SubprocessExecutionContext execCtx) { PackageConfiguration packageConfiguration = buildPackageConfigurations(material.getPackageDefinition()); RepositoryConfiguration repositoryConfiguration = buildRepositoryConfigurations(material.getPackageDefinition().getRepository()); PackageRevision packageRevision = packageRepositoryExtension.getLatestRevision(material.getPluginId(), packageConfiguration, repositoryConfiguration); return getModifications(packageRevision); }
public String getPluginId() { return getPackageDefinition().getRepository().getPluginConfiguration().getId(); }
@Override public CaseInsensitiveString getName() { if (((name == null) || isEmpty(name.toString())) && packageDefinition != null) { return new CaseInsensitiveString(getPackageDefinition().getRepository().getName() + ":" + packageDefinition.getName()); } else { return name; } }
@Override public void updateFromConfig(MaterialConfig materialConfig) { super.updateFromConfig(materialConfig); this.getPackageDefinition().setConfiguration(((PackageMaterialConfig)materialConfig).getPackageDefinition().getConfiguration()); this.getPackageDefinition().getRepository().setConfiguration(((PackageMaterialConfig)materialConfig).getPackageDefinition().getRepository().getConfiguration()); }
@Override public List<Modification> modificationsSince(final PackageMaterial material, File baseDir, final Revision revision, SubprocessExecutionContext execCtx) { PackageMaterialRevision packageMaterialRevision = (PackageMaterialRevision) revision; PackageRevision previouslyKnownRevision = new PackageRevision(packageMaterialRevision.getRevision(), packageMaterialRevision.getTimestamp(), null, packageMaterialRevision.getData()); PackageConfiguration packageConfiguration = buildPackageConfigurations(material.getPackageDefinition()); RepositoryConfiguration repositoryConfiguration = buildRepositoryConfigurations(material.getPackageDefinition().getRepository()); PackageRevision packageRevision = packageRepositoryExtension.latestModificationSince(material.getPluginId(), packageConfiguration, repositoryConfiguration, previouslyKnownRevision); return getModifications(packageRevision); }
@Override public String getDisplayName() { return ((name == null || name.isBlank()) && getPackageDefinition().getRepository().getName() == null) ? getUriForDisplay() : getName().toString(); }
@Test public void shouldTakeValueOfIsAutoUpdateFromPackageDefinition() throws Exception { PackageMaterial material = MaterialsMother.packageMaterial(); material.getPackageDefinition().setAutoUpdate(true); assertThat(material.isAutoUpdate(), is(true)); material.getPackageDefinition().setAutoUpdate(false); assertThat(material.isAutoUpdate(), is(false)); }
private PackageMaterial createPackageMaterialWithSecureConfiguration() { PackageMaterial material = MaterialsMother.packageMaterial(); material.getPackageDefinition().getRepository().getConfiguration().get(1).handleSecureValueConfiguration(true); material.getPackageDefinition().getConfiguration().addNewConfigurationWithValue("k4", "package-v2", false); material.getPackageDefinition().getConfiguration().get(1).handleSecureValueConfiguration(true); return material; }
@Override public void populateEnvironmentContext(EnvironmentVariableContext context, MaterialRevision materialRevision, File workingDir) { context.setProperty(upperCase(format("GO_PACKAGE_%s_LABEL", escapeEnvironmentVariable(getName().toString()))), materialRevision.getRevision().getRevision(), false); for (ConfigurationProperty configurationProperty : getPackageDefinition().getRepository().getConfiguration()) { context.setProperty(getEnvironmentVariableKey("GO_REPO_%s_%s", configurationProperty.getConfigurationKey().getName()), configurationProperty.getValue(), configurationProperty.isSecure()); for (ConfigurationProperty configurationProperty : getPackageDefinition().getConfiguration()) { context.setProperty(getEnvironmentVariableKey("GO_PACKAGE_%s_%s", configurationProperty.getConfigurationKey().getName()), configurationProperty.getValue(), configurationProperty.isSecure());
@Test public void shouldConvertMaterialInstanceToMaterial() { PackageMaterial material = MaterialsMother.packageMaterial(); PackageDefinition packageDefinition = material.getPackageDefinition(); PackageMaterialInstance materialInstance = new PackageMaterialInstance(JsonHelper.toJsonString(material), "flyweight"); materialInstance.setId(1L); PackageMaterial constructedMaterial = (PackageMaterial) materialInstance.toOldMaterial(null, null, null); assertThat(constructedMaterial.getPackageDefinition().getConfiguration(), is(packageDefinition.getConfiguration())); assertThat(constructedMaterial.getPackageDefinition().getRepository().getPluginConfiguration().getId(), is(packageDefinition.getRepository().getPluginConfiguration().getId())); assertThat(constructedMaterial.getPackageDefinition().getRepository().getConfiguration(), is(packageDefinition.getRepository().getConfiguration())); assertThat(constructedMaterial.getId(), is(1L)); }
@Test public void shouldTestEqualsBasedOnConfiguration() { PackageMaterial material = MaterialsMother.packageMaterial("repo-id", "repo-name", "pkg-id", "pkg-name", ConfigurationPropertyMother.create("key1", false, "value1")); MaterialInstance materialInstance = material.createMaterialInstance(); MaterialInstance materialInstanceCopy = material.createMaterialInstance(); material.getPackageDefinition().getConfiguration().add(ConfigurationPropertyMother.create("key2", false, "value2")); MaterialInstance newMaterialInstance = material.createMaterialInstance(); assertThat(materialInstance, is(materialInstanceCopy)); assertThat(materialInstance, is(not(newMaterialInstance))); }
@Test public void shouldFailEqualsCheckIfFingerprintDiffers() { PackageMaterial material1 = MaterialsMother.packageMaterial(); material1.getPackageDefinition().getConfiguration().first().setConfigurationValue(new ConfigurationValue("new-url")); PackageMaterial material2 = MaterialsMother.packageMaterial(); assertThat(material1.equals(material2), is(false)); }
@Test public void shouldCorrectlyCheckIfUpgradeIsNecessary() { PackageMaterial material = MaterialsMother.packageMaterial("repo-id", "repo-name", "pkg-id", "pkg-name", ConfigurationPropertyMother.create("key1", false, "value1")); PackageMaterialInstance materialInstance = (PackageMaterialInstance) material.createMaterialInstance(); materialInstance.setId(10L); PackageMaterialInstance materialInstanceCopy = (PackageMaterialInstance) material.createMaterialInstance(); material.getPackageDefinition().getConfiguration().add(ConfigurationPropertyMother.create("key2", false, "value2")); PackageMaterialInstance newMaterialInstance = (PackageMaterialInstance) material.createMaterialInstance(); assertThat(materialInstance.shouldUpgradeTo(materialInstanceCopy), is(false)); assertThat(materialInstance.shouldUpgradeTo(newMaterialInstance), is(true)); }
private Pipeline createPipeline() throws Exception { Pipeline pipeline = PipelineMother.pipelineWithAllTypesOfMaterials("pipeline-name", "stage-name", "job-name", "1"); List<MaterialRevision> materialRevisions = pipeline.getMaterialRevisions().getRevisions(); PackageDefinition packageDefinition = ((PackageMaterial) materialRevisions.get(6).getMaterial()).getPackageDefinition(); packageDefinition.getRepository().getConfiguration().get(1).handleSecureValueConfiguration(true); packageDefinition.getConfiguration().addNewConfigurationWithValue("k4", "package-v2", false); packageDefinition.getConfiguration().get(1).handleSecureValueConfiguration(true); SCM scm = ((PluggableSCMMaterial) materialRevisions.get(7).getMaterial()).getScmConfig(); scm.getConfiguration().get(1).handleSecureValueConfiguration(true); Stage stage = pipeline.getFirstStage(); stage.setId(1L); stage.setPipelineId(1L); stage.setCreatedTime(new Timestamp(getFixedDate().getTime())); stage.setLastTransitionedTime(new Timestamp(getFixedDate().getTime())); JobInstance job = stage.getJobInstances().get(0); job.setScheduledDate(getFixedDate()); job.getTransition(JobState.Completed).setStateChangeTime(getFixedDate()); return pipeline; } }
private Pipeline createPipeline() throws Exception { Pipeline pipeline = PipelineMother.pipelineWithAllTypesOfMaterials("pipeline-name", "stage-name", "job-name", "1"); List<MaterialRevision> materialRevisions = pipeline.getMaterialRevisions().getRevisions(); PackageDefinition packageDefinition = ((PackageMaterial) materialRevisions.get(6).getMaterial()).getPackageDefinition(); packageDefinition.getRepository().getConfiguration().get(1).handleSecureValueConfiguration(true); packageDefinition.getConfiguration().addNewConfigurationWithValue("k4", "package-v2", false); packageDefinition.getConfiguration().get(1).handleSecureValueConfiguration(true); SCM scm = ((PluggableSCMMaterial) materialRevisions.get(7).getMaterial()).getScmConfig(); scm.getConfiguration().get(1).handleSecureValueConfiguration(true); Stage stage = pipeline.getFirstStage(); stage.setId(1L); stage.setPipelineId(1L); stage.setCreatedTime(new Timestamp(getFixedDate().getTime())); stage.setLastTransitionedTime(new Timestamp(getFixedDate().getTime())); JobInstance job = stage.getJobInstances().get(0); job.setScheduledDate(getFixedDate()); job.getTransition(JobState.Assigned).setStateChangeTime(getFixedDate()); job.getTransition(JobState.Completed).setStateChangeTime(getFixedDate()); return pipeline; } }
private Pipeline createPipeline() throws Exception { Pipeline pipeline = PipelineMother.pipelineWithAllTypesOfMaterials("pipeline-name", "stage-name", "job-name", "1"); List<MaterialRevision> materialRevisions = pipeline.getMaterialRevisions().getRevisions(); PackageDefinition packageDefinition = ((PackageMaterial) materialRevisions.get(6).getMaterial()).getPackageDefinition(); packageDefinition.getRepository().getConfiguration().get(1).handleSecureValueConfiguration(true); packageDefinition.getConfiguration().addNewConfigurationWithValue("k4", "package-v2", false); packageDefinition.getConfiguration().get(1).handleSecureValueConfiguration(true); SCM scm = ((PluggableSCMMaterial) materialRevisions.get(7).getMaterial()).getScmConfig(); scm.getConfiguration().get(1).handleSecureValueConfiguration(true); Stage stage = pipeline.getFirstStage(); stage.setId(1L); stage.setPipelineId(1L); stage.setCreatedTime(new Timestamp(getFixedDate().getTime())); stage.setLastTransitionedTime(new Timestamp(getFixedDate().getTime())); JobInstance job = stage.getJobInstances().get(0); job.setScheduledDate(getFixedDate()); job.getTransition(JobState.Assigned).setStateChangeTime(getFixedDate()); job.getTransition(JobState.Completed).setStateChangeTime(getFixedDate()); return pipeline; }
private Pipeline createPipeline() throws Exception { Pipeline pipeline = PipelineMother.pipelineWithAllTypesOfMaterials("pipeline-name", "stage-name", "job-name", "1"); List<MaterialRevision> materialRevisions = pipeline.getMaterialRevisions().getRevisions(); PackageDefinition packageDefinition = ((PackageMaterial) materialRevisions.get(6).getMaterial()).getPackageDefinition(); packageDefinition.getRepository().getConfiguration().get(1).handleSecureValueConfiguration(true); packageDefinition.getConfiguration().addNewConfigurationWithValue("k4", "package-v2", false); packageDefinition.getConfiguration().get(1).handleSecureValueConfiguration(true); SCM scm = ((PluggableSCMMaterial) materialRevisions.get(7).getMaterial()).getScmConfig(); scm.getConfiguration().get(1).handleSecureValueConfiguration(true); Stage stage = pipeline.getFirstStage(); stage.setId(1L); stage.setPipelineId(1L); stage.setCreatedTime(new Timestamp(getFixedDate().getTime())); stage.setLastTransitionedTime(new Timestamp(getFixedDate().getTime())); stage.setPreviousStage(new StageIdentifier("pipeline-name", 1, "1", "previous-stage", "1")); JobInstance job = stage.getJobInstances().get(0); job.setScheduledDate(getFixedDate()); job.getTransition(JobState.Assigned).setStateChangeTime(getFixedDate()); job.getTransition(JobState.Completed).setStateChangeTime(getFixedDate()); return pipeline; }