use of org.guvnor.ala.pipeline.Input in project kie-wb-common by kiegroup.
the class RestPipelineImplTest method testAPI.
@Test
public void testAPI() {
ProviderTypeList allProviderTypes = runtimeService.getProviderTypes(0, 10, "", true);
assertEquals(2, allProviderTypes.getItems().size());
DockerProviderConfig dockerProviderConfig = new DockerProviderConfig() {
};
runtimeService.registerProvider(dockerProviderConfig);
ProviderList allProviders = runtimeService.getProviders(0, 10, "", true);
assertEquals(1, allProviders.getItems().size());
Provider p = allProviders.getItems().get(0);
assertTrue(p instanceof DockerProvider);
// by construction.
int systemPipelines = 2;
PipelineConfigsList allPipelineConfigs = pipelineService.getPipelineConfigs(0, 10, "", true);
assertNotNull(allPipelineConfigs);
assertEquals(systemPipelines, allPipelineConfigs.getItems().size());
List<PipelineConfigStage> configs = new ArrayList<>();
configs.add(new PipelineConfigStage("GitConfig", new GitConfigImpl()));
configs.add(new PipelineConfigStage("MavenProjectConfig", new MavenProjectConfigImpl()));
configs.add(new PipelineConfigStage("MavenBuildConfig", new MavenBuildConfigImpl()));
configs.add(new PipelineConfigStage("DockerBuildConfig", new DockerBuildConfigImpl()));
configs.add(new PipelineConfigStage("MavenBuildExecConfigImpl", new MavenBuildExecConfigImpl()));
configs.add(new PipelineConfigStage("DockerProviderConfig", new DockerProviderConfigImpl()));
configs.add(new PipelineConfigStage("ContextAwareDockerProvisioningConfig", new ContextAwareDockerProvisioningConfig()));
configs.add(new PipelineConfigStage("ContextAwareDockerRuntimeExecConfig", new ContextAwareDockerRuntimeExecConfig()));
pipelineService.newPipeline(new PipelineConfigImpl("mypipe", configs));
pipelineService.newPipeline(new PipelineConfigImpl("wildlfyPipe", configs), WildflyProviderType.instance());
pipelineService.newPipeline(new PipelineConfigImpl("dockerPipe", configs), DockerProviderType.instance());
allPipelineConfigs = pipelineService.getPipelineConfigs(0, 10, "", true);
int createdPipelines = 3;
int totalPipelines = systemPipelines + createdPipelines;
assertEquals(totalPipelines, allPipelineConfigs.getItems().size());
PipelineConfigsList wildflyConfigs = pipelineService.getPipelineConfigs(WildflyProviderType.instance().getProviderTypeName(), WildflyProviderType.instance().getVersion(), 0, 10, "", true);
assertEquals(2, wildflyConfigs.getItems().size());
List<String> wildflyPipelineNames = pipelineService.getPipelineNames(WildflyProviderType.instance().getProviderTypeName(), WildflyProviderType.instance().getVersion(), 0, 10, "", true);
assertEquals(2, wildflyPipelineNames.size());
assertTrue(wildflyPipelineNames.contains("wildlfyPipe"));
assertTrue(wildflyPipelineNames.contains(SYSTEM_PIPELINE1));
PipelineConfigsList dockerConfigs = pipelineService.getPipelineConfigs(DockerProviderType.instance().getProviderTypeName(), DockerProviderType.instance().getVersion(), 0, 10, "", true);
assertEquals(1, dockerConfigs.getItems().size());
List<String> dockerPipelineNames = pipelineService.getPipelineNames(DockerProviderType.instance().getProviderTypeName(), DockerProviderType.instance().getVersion(), 0, 10, "", true);
assertEquals(1, dockerPipelineNames.size());
assertTrue(dockerPipelineNames.contains("dockerPipe"));
Input input = new Input();
input.put("provider-name", "local");
input.put("repo-name", "drools-workshop");
input.put("create-repo", "true");
input.put("branch", "master");
input.put("out-dir", tempPath.getAbsolutePath());
input.put("origin", gitUrl);
String pipelineExecutionId = pipelineService.runPipeline("mypipe", input, false);
RuntimeQueryResultItemList itemList = runtimeService.executeQuery(RuntimeQueryBuilder.newInstance().withPipelineExecutionId(pipelineExecutionId).build());
assertEquals(1, itemList.getItems().size());
assertEquals(pipelineExecutionId, itemList.getItems().get(0).getPipelineExecutionId());
pipelineService.deletePipelineExecution(pipelineExecutionId);
itemList = runtimeService.executeQuery(RuntimeQueryBuilder.newInstance().withPipelineExecutionId(pipelineExecutionId).build());
assertEquals(1, itemList.getItems().size());
assertNull(itemList.getItems().get(0).getPipelineExecutionId());
RuntimeList allRuntimes = runtimeService.getRuntimes(0, 10, "", true);
assertEquals(1, allRuntimes.getItems().size());
runtimeService.destroyRuntime(allRuntimes.getItems().get(0).getId(), true);
allRuntimes = runtimeService.getRuntimes(0, 10, "", true);
assertEquals(0, allRuntimes.getItems().size());
assertEquals(18, // 8 Stages x 2 + 2 pipeline events
listener.getEvents().size());
pipelineExecutionId = pipelineService.runPipeline("mypipe", input, true);
pipelineService.stopPipelineExecution(pipelineExecutionId);
itemList = runtimeService.executeQuery(RuntimeQueryBuilder.newInstance().withPipelineExecutionId(pipelineExecutionId).build());
assertEquals(1, itemList.getItems().size());
assertEquals(pipelineExecutionId, itemList.getItems().get(0).getPipelineExecutionId());
assertEquals(PipelineExecutorTask.Status.STOPPED.name(), itemList.getItems().get(0).getPipelineStatus());
}
use of org.guvnor.ala.pipeline.Input in project kie-wb-common by kiegroup.
the class MavenDependencyConfigExecutorTest method testMavenDependencyAPI.
@Test
public void testMavenDependencyAPI() throws Exception {
final String groupId = "org.guvnor.ala";
final String artifactId = "maven-ala-artifact-test";
final String version = "1";
final String artifactPath = "/org/guvnor/ala/maven-ala-artifact-test/1/maven-ala-artifact-test-1.pom";
final String oldSettingsXmlPath = System.getProperty(CUSTOM_SETTINGS_PROPERTY);
try {
final Path settingsXmlPath = generateSettingsXml();
System.setProperty(CUSTOM_SETTINGS_PROPERTY, settingsXmlPath.toString());
MavenSettings.reinitSettings();
installArtifactLocally(groupId, artifactId, version);
final BuildRegistry buildRegistry = new InMemoryBuildRegistry();
final Pipeline pipe = PipelineFactory.newBuilder().addConfigStage("Maven Artifact", new MavenDependencyConfigImpl()).buildAs("my pipe");
final PipelineExecutor executor = new PipelineExecutor(singletonList(new MavenDependencyConfigExecutor(buildRegistry)));
executor.execute(new Input() {
{
put("artifact", groupId + ":" + artifactId + ":pom:" + version);
}
}, pipe, System.out::println);
final List<Binary> allBinaries = buildRegistry.getAllBinaries();
assertNotNull(allBinaries);
assertEquals(1, allBinaries.size());
assertTrue(allBinaries.get(0) instanceof MavenBinary);
final MavenBinary binary = (MavenBinary) allBinaries.get(0);
assertEquals("Maven", binary.getType());
assertEquals(artifactId, binary.getName());
assertEquals(groupId, binary.getGroupId());
assertEquals(artifactId, binary.getArtifactId());
assertEquals(version, binary.getVersion());
assertEquals(Paths.get(m2Folder.getPath(), artifactPath).toString(), binary.getPath().toString());
} finally {
if (oldSettingsXmlPath == null) {
System.clearProperty(CUSTOM_SETTINGS_PROPERTY);
} else {
System.setProperty(CUSTOM_SETTINGS_PROPERTY, oldSettingsXmlPath);
}
MavenSettings.reinitSettings();
}
}
use of org.guvnor.ala.pipeline.Input in project kie-wb-common by kiegroup.
the class MavenProjectConfigExecutorTest method testAPI.
@Test
public void testAPI() {
final SourceRegistry sourceRegistry = new InMemorySourceRegistry();
final BuildRegistry buildRegistry = new InMemoryBuildRegistry();
final Pipeline pipe = PipelineFactory.newBuilder().addConfigStage("Git Source", new MyGitConfig()).addConfigStage("Maven Project", new MavenProjectConfigImpl()).addConfigStage("Maven Build Config", new MavenBuildConfigImpl()).addConfigStage("Maven Build", new MavenBuildExecConfigImpl()).buildAs("my pipe");
final PipelineExecutor executor = new PipelineExecutor(asList(new GitConfigExecutor(sourceRegistry), new MavenProjectConfigExecutor(sourceRegistry), new MavenBuildConfigExecutor(), new MavenBuildExecConfigExecutor(buildRegistry)));
executor.execute(new Input() {
{
put("repo-name", "drools-workshop-pipe");
put("create-repo", "true");
put("branch", "master");
put("out-dir", tempPath.getAbsolutePath());
put("origin", gitUrl);
}
}, pipe, System.out::println);
List<Repository> allRepositories = sourceRegistry.getAllRepositories();
assertEquals(1, allRepositories.size());
Repository repo = allRepositories.get(0);
List<Project> allProjects = sourceRegistry.getAllProjects(repo);
assertEquals(1, allProjects.size());
List<Binary> allBinaries = buildRegistry.getAllBinaries();
assertEquals(1, allBinaries.size());
assertMavenBinary(allBinaries.get(0), allProjects.get(0));
final String tempDir = sourceRegistry.getAllProjects(repo).get(0).getTempDir();
executor.execute(new Input() {
{
put("project-temp-dir", tempDir);
put("repo-name", "drools-workshop-pipe");
put("branch", "master");
}
}, pipe, System.out::println);
allRepositories = sourceRegistry.getAllRepositories();
assertEquals(1, allRepositories.size());
repo = allRepositories.get(0);
allProjects = sourceRegistry.getAllProjects(repo);
assertEquals(2, allProjects.size());
allBinaries = buildRegistry.getAllBinaries();
assertEquals(1, allBinaries.size());
assertMavenBinary(allBinaries.get(0), allProjects.get(1));
}
use of org.guvnor.ala.pipeline.Input in project kie-wb-common by kiegroup.
the class RuntimeServiceImplTest method testCreateRuntimeSuccessful.
@Test
public void testCreateRuntimeSuccessful() {
Provider provider = mock(Provider.class);
ProviderTypeKey providerTypeKey = new ProviderTypeKey(PROVIDER_NAME, PROVIDER_VERSION);
ProviderKey providerKey = new ProviderKey(providerTypeKey, PROVIDER_ID);
Map<String, String> params = PipelineInputBuilderTest.mockParams(PARAMS_COUNT);
List<RuntimeQueryResultItem> items = mock(List.class);
when(providerService.getProvider(providerKey)).thenReturn(provider);
when(runtimeProvisioningService.executeQuery(RuntimeQueryBuilder.newInstance().withRuntimeName(RUNTIME_ID).build())).thenReturn(items);
when(items.isEmpty()).thenReturn(true);
Input expectedInput = PipelineInputBuilder.newInstance().withProvider(providerKey).withRuntimeName(RUNTIME_ID).withParams(params).build();
service.createRuntime(providerKey, RUNTIME_ID, PIPELINE_KEY, params);
verify(pipelineService, times(1)).runPipeline(PIPELINE, expectedInput, true);
}
use of org.guvnor.ala.pipeline.Input in project kie-wb-common by kiegroup.
the class PipelineInputBuilderTest method testBuild.
@Test
public void testBuild() {
Input result = PipelineInputBuilder.newInstance().withProvider(providerKey).withParams(params).withRuntimeName(RUNTIME).build();
assertNotNull(result);
assertEquals(RUNTIME, result.get(RuntimeConfig.RUNTIME_NAME));
assertEquals(PROVIDER, result.get(ProviderConfig.PROVIDER_NAME));
params.forEach((name, value) -> assertEquals(value, result.get(name)));
}
Aggregations