@Override public PackageRepository findPackageById(String packageId) { return cruiseConfig.getPackageRepositories().findPackageRepositoryHaving(packageId); }
@Test public void shouldNotWalkPackageDefinitionWhileTraversingPackageMaterial() { PackageDefinition packageDefinition = mock(PackageDefinition.class); PackageMaterialConfig packageMaterialConfig = new PackageMaterialConfig("package-id"); setField(packageMaterialConfig, "packageDefinition", packageDefinition); BasicCruiseConfig config = new BasicCruiseConfig(); PackageRepository packageRepository=mock(PackageRepository.class); when(packageRepository.getPackages()).thenReturn(new Packages(packageDefinition)); when(packageDefinition.getRepository()).thenReturn(packageRepository); when(packageRepository.doesPluginExist()).thenReturn(true); when(packageDefinition.getId()).thenReturn("package-id"); config.getPackageRepositories().add(packageRepository); final ConfigSaveValidationContext context = new ConfigSaveValidationContext(config); new GoConfigGraphWalker(packageMaterialConfig).walk(new GoConfigGraphWalker.Handler() { @Override public void handle(Validatable validatable, ValidationContext ctx) { validatable.validate(context); } }); verify(packageDefinition, never()).validate(any(ValidationContext.class)); }
@Test public void shouldCheckForExistenceOfPackage() throws Exception { BasicCruiseConfig cruiseConfig = new BasicCruiseConfig(); cruiseConfig.setPackageRepositories(new PackageRepositories(PackageRepositoryMother.create("repo-id"))); cruiseConfig.getPackageRepositories().find("repo-id").setPackages(new Packages(PackageDefinitionMother.create("package-id"))); ValidationContext context = ConfigSaveValidationContext.forChain(cruiseConfig); MatcherAssert.assertThat(context.findPackageById("package-id").getId(), is("repo-id")); }
@Test public void shouldCheckForExistenceOfPackage() throws Exception { BasicCruiseConfig cruiseConfig = new BasicCruiseConfig(); cruiseConfig.setPackageRepositories(new PackageRepositories(PackageRepositoryMother.create("repo-id"))); cruiseConfig.getPackageRepositories().find("repo-id").setPackages(new Packages(PackageDefinitionMother.create("package-id"))); ValidationContext context = ConfigSaveValidationContext.forChain(cruiseConfig); MatcherAssert.assertThat(context.findPackageById("package-id").getId(), is("repo-id")); }