private Subversion svn(SvnMaterialConfig svnMaterialConfig) { String cacheKey = cacheKeyForSubversionMaterialCommand(svnMaterialConfig.getFingerprint()); Subversion svnLazyLoaded = (SvnCommand) goCache.get(cacheKey); if (svnLazyLoaded == null || !svnLazyLoaded.getUrl().forCommandline().equals(svnMaterialConfig.getUrl())) { synchronized (cacheKey) { svnLazyLoaded = (SvnCommand) goCache.get(cacheKey); if (svnLazyLoaded == null || !svnLazyLoaded.getUrl().forCommandline().equals(svnMaterialConfig.getUrl())) { svnLazyLoaded = new SvnCommand(svnMaterialConfig.getFingerprint(), svnMaterialConfig.getUrl(), svnMaterialConfig.getUserName(), svnMaterialConfig.getPassword(), svnMaterialConfig.isCheckExternals()); goCache.put(cacheKeyForSubversionMaterialCommand(svnMaterialConfig.getFingerprint()), svnLazyLoaded); } } } return svnLazyLoaded; }
private void shouldBeSvnMaterial(MaterialConfig material) { assertThat(material, is(instanceOf(SvnMaterialConfig.class))); SvnMaterialConfig svnMaterial = (SvnMaterialConfig) material; assertThat(svnMaterial.getUrl(), is("svnUrl")); assertThat(svnMaterial.isCheckExternals(), is(true)); }
@Test public void shouldReturnTheUrl() { String url = "git@github.com/my/repo"; SvnMaterialConfig config = new SvnMaterialConfig(); config.setUrl(url); assertThat(config.getUrl(), is(url)); }
@Test public void shouldReturnNullIfUrlForMaterialNotSpecified() { SvnMaterialConfig config = new SvnMaterialConfig(); assertNull(config.getUrl()); }
public SvnMaterial(SvnMaterialConfig config) { this(config.getUrl(), config.getUserName(), config.getPassword(), config.isCheckExternals(), config.getGoCipher()); this.autoUpdate = config.getAutoUpdate(); this.filter = config.rawFilter(); this.invertFilter = config.getInvertFilter(); this.folder = config.getFolder(); this.name = config.getName(); }
@Test public void shouldHandleNullWhenSettingUrlForAMaterial() { SvnMaterialConfig config = new SvnMaterialConfig(); config.setUrl(null); assertNull(config.getUrl()); } }
private CRSvnMaterial svnMaterialToCRSvnMaterial(String materialName, SvnMaterialConfig svnMaterial) { CRSvnMaterial crSvnMaterial = new CRSvnMaterial(materialName, svnMaterial.getFolder(), svnMaterial.isAutoUpdate(), svnMaterial.getUrl(), svnMaterial.getUserName(), null, svnMaterial.isCheckExternals(), svnMaterial.isInvertFilter(), svnMaterial.filter().ignoredFileNames()); crSvnMaterial.setEncryptedPassword(svnMaterial.getEncryptedPassword()); return crSvnMaterial; }
@Test public void shouldSetConfigAttributes() { SvnMaterialConfig svnMaterialConfig = new SvnMaterialConfig("", "", "", false); Map<String, String> map = new HashMap<>(); map.put(SvnMaterialConfig.URL, "url"); map.put(SvnMaterialConfig.USERNAME, "username"); map.put(SvnMaterialConfig.CHECK_EXTERNALS, "true"); map.put(ScmMaterialConfig.FOLDER, "folder"); map.put(ScmMaterialConfig.AUTO_UPDATE, "0"); map.put(ScmMaterialConfig.FILTER, "/root,/**/*.help"); map.put(AbstractMaterialConfig.MATERIAL_NAME, "material-name"); svnMaterialConfig.setConfigAttributes(map); assertThat(svnMaterialConfig.getUrl(), is("url")); assertThat(svnMaterialConfig.getUserName(), is("username")); assertThat(svnMaterialConfig.isCheckExternals(), is(true)); assertThat(svnMaterialConfig.getFolder(), is("folder")); assertThat(svnMaterialConfig.getName(), is(new CaseInsensitiveString("material-name"))); assertThat(svnMaterialConfig.isAutoUpdate(), is(false)); assertThat(svnMaterialConfig.filter(), is(new Filter(new IgnoredFiles("/root"), new IgnoredFiles("/**/*.help")))); }
static void toJSON(OutputWriter json, SvnMaterialConfig material) { json.add("name", material.getName()); json.add("auto_update", material.getAutoUpdate()); json.add("url", material.getUrl()); json.add("check_externals", material.isCheckExternals()); json.add("username", material.getUserName()); json.addIfNotNull("encrypted_password", material.getEncryptedPassword()); }