@Test public void shouldSetSCMIdAsNullIfSCMConfigIsNull() { pluggableSCMMaterialConfig.setSCMConfig(null); assertThat(pluggableSCMMaterialConfig.getScmId(), is(nullValue())); assertThat(pluggableSCMMaterialConfig.getSCMConfig(), is(nullValue())); }
@Test public void shouldGetNameFromSCMName() { PluggableSCMMaterialConfig pluggableSCMMaterialConfig = new PluggableSCMMaterialConfig(); SCM scmConfig = SCMMother.create("scm-id", "scm-name", "plugin-id", "1.0", new Configuration(create("k1", false, "v1"))); pluggableSCMMaterialConfig.setSCMConfig(scmConfig); assertThat(pluggableSCMMaterialConfig.getName().toString(), is("scm-name")); pluggableSCMMaterialConfig.setSCMConfig(null); assertThat(pluggableSCMMaterialConfig.getName(), is(nullValue())); }
public static PluggableSCMMaterialConfig fromJSON(JsonReader jsonReader, ConfigHelperOptions options) { PluggableSCMMaterialConfig pluggableSCMMaterialConfig = new PluggableSCMMaterialConfig(); CruiseConfig cruiseConfig = options.getCruiseConfig(); if (cruiseConfig != null) { String ref = jsonReader.getString("ref"); pluggableSCMMaterialConfig.setSCMConfig(cruiseConfig.getSCMs().find(ref)); pluggableSCMMaterialConfig.setScmId(ref); } jsonReader.readStringIfPresent("destination", pluggableSCMMaterialConfig::setFolder); jsonReader.optJsonObject("filter").ifPresent(filterReader -> { pluggableSCMMaterialConfig.setFilter(FilterRepresenter.fromJSON(filterReader)); }); return pluggableSCMMaterialConfig; } }
public static PluggableSCMMaterialConfig fromJSON(JsonReader jsonReader, ConfigHelperOptions options) { PluggableSCMMaterialConfig pluggableSCMMaterialConfig = new PluggableSCMMaterialConfig(); CruiseConfig cruiseConfig = options.getCruiseConfig(); if (cruiseConfig != null) { String ref = jsonReader.getString("ref"); pluggableSCMMaterialConfig.setSCMConfig(cruiseConfig.getSCMs().find(ref)); pluggableSCMMaterialConfig.setScmId(ref); } jsonReader.readStringIfPresent("destination", pluggableSCMMaterialConfig::setFolder); jsonReader.optJsonObject("filter").ifPresent(filterReader -> { pluggableSCMMaterialConfig.setFilter(FilterRepresenter.fromJSON(filterReader)); }); return pluggableSCMMaterialConfig; } }
@Test public void shouldCorrectlyGetTypeDisplay() { assertThat(pluggableSCMMaterialConfig.getTypeForDisplay(), is("SCM")); pluggableSCMMaterialConfig.setSCMConfig(SCMMother.create("scm-id")); assertThat(pluggableSCMMaterialConfig.getTypeForDisplay(), is("SCM")); SCMMetadataStore.getInstance().addMetadataFor("plugin", null, null); assertThat(pluggableSCMMaterialConfig.getTypeForDisplay(), is("SCM")); SCMView scmView = mock(SCMView.class); when(scmView.displayValue()).thenReturn("scm-name"); SCMMetadataStore.getInstance().addMetadataFor("plugin", null, scmView); assertThat(pluggableSCMMaterialConfig.getTypeForDisplay(), is("scm-name")); }
@Test public void shouldCheckEquals() throws Exception { SCM scmConfig = SCMMother.create("scm-id", "scm-name", "plugin-id", "1.0", new Configuration(create("k1", false, "v1"))); // same fingerprint PluggableSCMMaterialConfig p1 = new PluggableSCMMaterialConfig(); p1.setSCMConfig(scmConfig); PluggableSCMMaterialConfig p2 = new PluggableSCMMaterialConfig(); p2.setSCMConfig(scmConfig); assertThat(p1.equals(p2), is(true)); // folder p2.setFolder("dest"); assertThat(p1.equals(p2), is(false)); // scmConfig null p1 = new PluggableSCMMaterialConfig(); p2 = new PluggableSCMMaterialConfig(); assertThat(p1.equals(p2), is(true)); p2.setSCMConfig(scmConfig); assertThat(p1.equals(p2), is(false)); p1.setSCMConfig(scmConfig); p2 = new PluggableSCMMaterialConfig(); assertThat(p1.equals(p2), is(false)); p2.setSCMConfig(scmConfig); assertThat(p1.equals(p2), is(true)); // null comparison assertThat(p1.equals(null), is(false)); }
@Test public void shouldAllowSCMTypeMaterialForPipeline() throws Exception { CruiseConfig configToSave = new BasicCruiseConfig(); SCM scm = new SCM(); String scmId = "scm-id"; scm.setId(scmId); scm.setName("name"); scm.setPluginConfiguration(new PluginConfiguration("plugin-id", "1.0")); scm.setConfiguration(new Configuration(getConfigurationProperty("url", false, "http://go"))); configToSave.getSCMs().add(scm); PluggableSCMMaterialConfig pluggableSCMMaterialConfig = new PluggableSCMMaterialConfig(scmId); pluggableSCMMaterialConfig.setSCMConfig(scm); configToSave.addPipeline("default", PipelineConfigMother.pipelineConfig("test", new MaterialConfigs(pluggableSCMMaterialConfig), new JobConfigs(new JobConfig("ls")))); xmlWriter.write(configToSave, output, false); GoConfigHolder goConfigHolder = xmlLoader.loadConfigHolder(output.toString()); PipelineConfig pipelineConfig = goConfigHolder.config.pipelineConfigByName(new CaseInsensitiveString("test")); MaterialConfig materialConfig = pipelineConfig.materialConfigs().get(0); assertThat(materialConfig instanceof PluggableSCMMaterialConfig, is(true)); assertThat(((PluggableSCMMaterialConfig) materialConfig).getScmId(), is(scmId)); assertThat(((PluggableSCMMaterialConfig) materialConfig).getSCMConfig(), is(scm)); assertThat(materialConfig.getFolder(), is(nullValue())); assertThat(materialConfig.filter(), is(new Filter())); }
@Test public void shouldAllowFolderAndFilterForPluggableSCMMaterialForPipeline() throws Exception { CruiseConfig configToSave = new BasicCruiseConfig(); SCM scm = new SCM(); String scmId = "scm-id"; scm.setId(scmId); scm.setName("name"); scm.setPluginConfiguration(new PluginConfiguration("plugin-id", "1.0")); scm.setConfiguration(new Configuration(getConfigurationProperty("url", false, "http://go"))); configToSave.getSCMs().add(scm); PluggableSCMMaterialConfig pluggableSCMMaterialConfig = new PluggableSCMMaterialConfig(scmId); pluggableSCMMaterialConfig.setSCMConfig(scm); pluggableSCMMaterialConfig.setFolder("dest"); pluggableSCMMaterialConfig.setFilter(new Filter(new IgnoredFiles("x"), new IgnoredFiles("y"))); configToSave.addPipeline("default", PipelineConfigMother.pipelineConfig("test", new MaterialConfigs(pluggableSCMMaterialConfig), new JobConfigs(new JobConfig("ls")))); xmlWriter.write(configToSave, output, false); GoConfigHolder goConfigHolder = xmlLoader.loadConfigHolder(output.toString()); PipelineConfig pipelineConfig = goConfigHolder.config.pipelineConfigByName(new CaseInsensitiveString("test")); MaterialConfig materialConfig = pipelineConfig.materialConfigs().get(0); assertThat(materialConfig instanceof PluggableSCMMaterialConfig, is(true)); assertThat(((PluggableSCMMaterialConfig) materialConfig).getScmId(), is(scmId)); assertThat(((PluggableSCMMaterialConfig) materialConfig).getSCMConfig(), is(scm)); assertThat(materialConfig.getFolder(), is("dest")); assertThat(materialConfig.filter(), is(new Filter(new IgnoredFiles("x"), new IgnoredFiles("y")))); }