Search in sources :

Example 26 with RepositoryConfiguration

use of com.thoughtworks.go.plugin.api.material.packagerepository.RepositoryConfiguration in project gocd by gocd.

the class PackageConfigurationsTest method shouldConstructPackageConfigurationFromApiRepositoryConfiguration.

@Test
public void shouldConstructPackageConfigurationFromApiRepositoryConfiguration() throws Exception {
    RepositoryConfiguration configuration = new RepositoryConfiguration();
    configuration.add(new PackageMaterialProperty("k1", "v1").with(Property.SECURE, Boolean.TRUE));
    PackageConfigurations packageConfigurations = new PackageConfigurations(configuration);
    assertThat(packageConfigurations.list().size(), is(1));
    assertThat(packageConfigurations.list().get(0).getKey(), is("k1"));
    assertThat(packageConfigurations.list().get(0).getValue(), is("v1"));
    assertThat(packageConfigurations.list().get(0).getOption(PackageConfiguration.REQUIRED), is(true));
    assertThat(packageConfigurations.list().get(0).getOption(PackageConfiguration.PART_OF_IDENTITY), is(true));
    assertThat(packageConfigurations.list().get(0).getOption(PackageConfiguration.SECURE), is(true));
    assertThat(packageConfigurations.list().get(0).getOption(PackageConfiguration.DISPLAY_NAME), is(""));
    assertThat(packageConfigurations.list().get(0).getOption(PackageConfiguration.DISPLAY_ORDER), is(0));
}
Also used : PackageMaterialProperty(com.thoughtworks.go.plugin.api.material.packagerepository.PackageMaterialProperty) RepositoryConfiguration(com.thoughtworks.go.plugin.api.material.packagerepository.RepositoryConfiguration) Test(org.junit.jupiter.api.Test)

Example 27 with RepositoryConfiguration

use of com.thoughtworks.go.plugin.api.material.packagerepository.RepositoryConfiguration in project gocd by gocd.

the class PackageMaterialPollerTest method setup.

@BeforeEach
void setup() {
    // setup material
    material = new PackageMaterial();
    PackageRepository packageRepository = PackageRepositoryMother.create("id", "name", "plugin-id", "plugin-version", new Configuration(ConfigurationPropertyMother.create("url", false, "http://some-url")));
    PackageDefinition packageDefinition = create("id", "package", new Configuration(ConfigurationPropertyMother.create("name", false, "go-agent"), ConfigurationPropertyMother.create("secure", true, "value")), packageRepository);
    material.setPackageDefinition(packageDefinition);
    packageRepositoryExtension = mock(PackageRepositoryExtension.class);
    poller = new com.thoughtworks.go.server.service.materials.PackageMaterialPoller(packageRepositoryExtension);
    packageConfiguration = ArgumentCaptor.forClass(com.thoughtworks.go.plugin.api.material.packagerepository.PackageConfiguration.class);
    repositoryConfiguration = ArgumentCaptor.forClass(RepositoryConfiguration.class);
}
Also used : Configuration(com.thoughtworks.go.domain.config.Configuration) RepositoryConfiguration(com.thoughtworks.go.plugin.api.material.packagerepository.RepositoryConfiguration) PackageMaterial(com.thoughtworks.go.config.materials.PackageMaterial) PackageDefinition(com.thoughtworks.go.domain.packagerepository.PackageDefinition) PackageRepository(com.thoughtworks.go.domain.packagerepository.PackageRepository) PackageRepositoryExtension(com.thoughtworks.go.plugin.access.packagematerial.PackageRepositoryExtension) RepositoryConfiguration(com.thoughtworks.go.plugin.api.material.packagerepository.RepositoryConfiguration) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 28 with RepositoryConfiguration

use of com.thoughtworks.go.plugin.api.material.packagerepository.RepositoryConfiguration in project gocd by gocd.

the class PackageRepositoryServiceTest method shouldSendResolvedValuesForValidateRepositoryConfigurationOnPlugin.

@Test
void shouldSendResolvedValuesForValidateRepositoryConfigurationOnPlugin() {
    String pluginId = "yum";
    RepositoryMetadataStore.getInstance().addMetadataFor(pluginId, new PackageConfigurations());
    PackageRepository packageRepository = packageRepository(pluginId);
    packageRepository.getConfiguration().get(0).setConfigurationValue(new ConfigurationValue("{{SECRET:[secret_config_id][username]}}"));
    PackageRepositoryService service = new PackageRepositoryService(pluginManager, packageRepositoryExtension, goConfigService, securityService, entityHashingService, secretParamResolver);
    when(packageRepositoryExtension.isRepositoryConfigurationValid(eq(pluginId), any())).thenReturn(new ValidationResult());
    doAnswer(invocation -> {
        PackageRepository config = invocation.getArgument(0);
        config.getSecretParams().get(0).setValue("resolved-value");
        return config;
    }).when(secretParamResolver).resolve(packageRepository);
    boolean isValid = service.validateRepositoryConfiguration(packageRepository);
    assertThat(isValid).isTrue();
    ArgumentCaptor<RepositoryConfiguration> argumentCaptor = ArgumentCaptor.forClass(RepositoryConfiguration.class);
    verify(packageRepositoryExtension).isRepositoryConfigurationValid(eq(pluginId), argumentCaptor.capture());
    RepositoryConfiguration packageConfigurations = argumentCaptor.getValue();
    assertThat(packageConfigurations.list().get(0).getValue()).isEqualTo("resolved-value");
}
Also used : ConfigurationValue(com.thoughtworks.go.domain.config.ConfigurationValue) PackageRepository(com.thoughtworks.go.domain.packagerepository.PackageRepository) ValidationResult(com.thoughtworks.go.plugin.api.response.validation.ValidationResult) RepositoryConfiguration(com.thoughtworks.go.plugin.api.material.packagerepository.RepositoryConfiguration) PackageConfigurations(com.thoughtworks.go.plugin.access.packagematerial.PackageConfigurations) Test(org.junit.jupiter.api.Test)

Aggregations

RepositoryConfiguration (com.thoughtworks.go.plugin.api.material.packagerepository.RepositoryConfiguration)28 Test (org.junit.jupiter.api.Test)16 ValidationResult (com.thoughtworks.go.plugin.api.response.validation.ValidationResult)9 PackageRepository (com.thoughtworks.go.domain.packagerepository.PackageRepository)8 HttpLocalizedOperationResult (com.thoughtworks.go.server.service.result.HttpLocalizedOperationResult)8 PackageMaterialProperty (com.thoughtworks.go.plugin.api.material.packagerepository.PackageMaterialProperty)6 Result (com.thoughtworks.go.plugin.api.response.Result)6 Configuration (com.thoughtworks.go.domain.config.Configuration)5 com.thoughtworks.go.domain.packagerepository (com.thoughtworks.go.domain.packagerepository)4 com.thoughtworks.go.plugin.access.packagematerial (com.thoughtworks.go.plugin.access.packagematerial)4 PackageConfigurations (com.thoughtworks.go.plugin.access.packagematerial.PackageConfigurations)4 PackageConfiguration (com.thoughtworks.go.plugin.api.material.packagerepository.PackageConfiguration)4 PackageMaterialTestHelper.assertPackageConfiguration (com.thoughtworks.go.server.service.materials.PackageMaterialTestHelper.assertPackageConfiguration)4 BeforeEach (org.junit.jupiter.api.BeforeEach)4 ConfigurationValue (com.thoughtworks.go.domain.config.ConfigurationValue)2 PluginConfiguration (com.thoughtworks.go.domain.config.PluginConfiguration)2 PluginSettingsConfiguration (com.thoughtworks.go.plugin.access.common.settings.PluginSettingsConfiguration)2 PackageConfiguration (com.thoughtworks.go.plugin.access.packagematerial.PackageConfiguration)2 PackageRevision (com.thoughtworks.go.plugin.api.material.packagerepository.PackageRevision)2 PackageMaterial (com.thoughtworks.go.config.materials.PackageMaterial)1