Java Code Examples for org.springframework.cloud.deployer.spi.core.AppDeploymentRequest#getDefinition()

The following examples show how to use org.springframework.cloud.deployer.spi.core.AppDeploymentRequest#getDefinition() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: CfEnvAwareAppDeploymentRequest.java    From spring-cloud-deployer-cloudfoundry with Apache License 2.0 4 votes vote down vote up
private CfEnvAwareAppDeploymentRequest(AppDeploymentRequest appDeploymentRequest) {
	super(appDeploymentRequest.getDefinition(),
			CfEnvAwareResource.of(appDeploymentRequest.getResource()),
			appDeploymentRequest.getDeploymentProperties(),
			appDeploymentRequest.getCommandlineArguments());
}
 
Example 2
Source File: DeployerPartitionHandlerTests.java    From spring-cloud-task with Apache License 2.0 4 votes vote down vote up
@Test
public void testSinglePartition() throws Exception {

	StepExecution masterStepExecution = createMasterStepExecution();
	JobExecution jobExecution = masterStepExecution.getJobExecution();

	StepExecution workerStepExecutionStart = getStepExecutionStart(jobExecution, 4L);
	StepExecution workerStepExecutionFinish = getStepExecutionFinish(
			workerStepExecutionStart, BatchStatus.COMPLETED);

	DeployerPartitionHandler handler = new DeployerPartitionHandler(this.taskLauncher,
			this.jobExplorer, this.resource, "step1", this.taskRepository);
	handler.setEnvironment(this.environment);

	TaskExecution taskExecution = new TaskExecution();
	taskExecution.setTaskName("partitionedJobTask");

	Set<StepExecution> stepExecutions = new HashSet<>();
	stepExecutions.add(workerStepExecutionStart);
	when(this.splitter.split(masterStepExecution, 1)).thenReturn(stepExecutions);

	when(this.jobExplorer.getStepExecution(1L, 4L))
			.thenReturn(workerStepExecutionFinish);

	handler.afterPropertiesSet();

	handler.beforeTask(taskExecution);

	Collection<StepExecution> results = handler.handle(this.splitter,
			masterStepExecution);

	verify(this.taskLauncher)
			.launch(this.appDeploymentRequestArgumentCaptor.capture());

	AppDeploymentRequest request = this.appDeploymentRequestArgumentCaptor.getValue();

	assertThat(request.getResource()).isEqualTo(this.resource);
	assertThat(request.getDeploymentProperties().size()).isEqualTo(0);

	AppDefinition appDefinition = request.getDefinition();

	assertThat(appDefinition.getName()).isEqualTo("partitionedJobTask");
	assertThat(request.getCommandlineArguments().contains(formatArgs(
			DeployerPartitionHandler.SPRING_CLOUD_TASK_JOB_EXECUTION_ID, "1")))
					.isTrue();
	assertThat(request.getCommandlineArguments().contains(formatArgs(
			DeployerPartitionHandler.SPRING_CLOUD_TASK_STEP_EXECUTION_ID, "4")))
					.isTrue();
	assertThat(request.getCommandlineArguments().contains(formatArgs(
			DeployerPartitionHandler.SPRING_CLOUD_TASK_STEP_NAME, "step1"))).isTrue();
	assertThat(request.getCommandlineArguments()
			.contains(formatArgs("spring.cloud.task.executionid", "2"))).isTrue();

	assertThat(results.size()).isEqualTo(1);
	StepExecution resultStepExecution = results.iterator().next();
	assertThat(resultStepExecution.getStatus()).isEqualTo(BatchStatus.COMPLETED);
	assertThat(resultStepExecution.getStepName()).isEqualTo("step1:partition1");
}
 
Example 3
Source File: DeployerPartitionHandlerTests.java    From spring-cloud-task with Apache License 2.0 4 votes vote down vote up
@Test
public void testSinglePartitionAsEnvVars() throws Exception {

	StepExecution masterStepExecution = createMasterStepExecution();
	JobExecution jobExecution = masterStepExecution.getJobExecution();

	StepExecution workerStepExecutionStart = getStepExecutionStart(jobExecution, 4L);
	StepExecution workerStepExecutionFinish = getStepExecutionFinish(
			workerStepExecutionStart, BatchStatus.COMPLETED);
	DeployerPartitionHandler handler = new DeployerPartitionHandler(this.taskLauncher,
			this.jobExplorer, this.resource, "step1", this.taskRepository);
	handler.setEnvironment(this.environment);
	handler.setDefaultArgsAsEnvironmentVars(true);

	TaskExecution taskExecution = new TaskExecution(55, null, null, null, null, null,
			new ArrayList<>(), null, null);
	taskExecution.setTaskName("partitionedJobTask");

	Set<StepExecution> stepExecutions = new HashSet<>();
	stepExecutions.add(workerStepExecutionStart);
	when(this.splitter.split(masterStepExecution, 1)).thenReturn(stepExecutions);

	when(this.jobExplorer.getStepExecution(1L, 4L))
			.thenReturn(workerStepExecutionFinish);

	handler.afterPropertiesSet();

	handler.beforeTask(taskExecution);

	Collection<StepExecution> results = handler.handle(this.splitter,
			masterStepExecution);

	verify(this.taskLauncher)
			.launch(this.appDeploymentRequestArgumentCaptor.capture());

	AppDeploymentRequest request = this.appDeploymentRequestArgumentCaptor.getValue();

	assertThat(request.getResource()).isEqualTo(this.resource);
	assertThat(request.getDeploymentProperties().size()).isEqualTo(0);

	AppDefinition appDefinition = request.getDefinition();

	assertThat(appDefinition.getName()).isEqualTo("partitionedJobTask");
	assertThat(request.getCommandlineArguments().isEmpty()).isTrue();
	assertThat(request.getDefinition().getProperties()
			.get(DeployerPartitionHandler.SPRING_CLOUD_TASK_JOB_EXECUTION_ID))
					.isEqualTo("1");
	assertThat(request.getDefinition().getProperties()
			.get(DeployerPartitionHandler.SPRING_CLOUD_TASK_STEP_EXECUTION_ID))
					.isEqualTo("4");
	assertThat(request.getDefinition().getProperties()
			.get(DeployerPartitionHandler.SPRING_CLOUD_TASK_STEP_NAME))
					.isEqualTo("step1");
	assertThat(request.getDefinition().getProperties()
			.get(DeployerPartitionHandler.SPRING_CLOUD_TASK_NAME))
					.isEqualTo("partitionedJobTask_partitionedJob_step1:partition1");
	assertThat(request.getDefinition().getProperties()
			.get(DeployerPartitionHandler.SPRING_CLOUD_TASK_PARENT_EXECUTION_ID))
					.isEqualTo("55");
	assertThat(request.getDefinition().getProperties()
			.get(DeployerPartitionHandler.SPRING_CLOUD_TASK_EXECUTION_ID))
					.isEqualTo("2");

	assertThat(results.size()).isEqualTo(1);
	StepExecution resultStepExecution = results.iterator().next();
	assertThat(resultStepExecution.getStatus()).isEqualTo(BatchStatus.COMPLETED);
	assertThat(resultStepExecution.getStepName()).isEqualTo("step1:partition1");
}
 
Example 4
Source File: DeployerPartitionHandlerTests.java    From spring-cloud-task with Apache License 2.0 4 votes vote down vote up
@Test
public void testPassingEnvironmentProperties() throws Exception {

	StepExecution masterStepExecution = createMasterStepExecution();
	JobExecution jobExecution = masterStepExecution.getJobExecution();

	StepExecution workerStepExecutionStart = getStepExecutionStart(jobExecution, 4L);
	StepExecution workerStepExecutionFinish = getStepExecutionFinish(
			workerStepExecutionStart, BatchStatus.COMPLETED);

	DeployerPartitionHandler handler = new DeployerPartitionHandler(this.taskLauncher,
			this.jobExplorer, this.resource, "step1", this.taskRepository);

	Map<String, String> environmentParameters = new HashMap<>(2);
	environmentParameters.put("foo", "bar");
	environmentParameters.put("baz", "qux");

	SimpleEnvironmentVariablesProvider environmentVariablesProvider = new SimpleEnvironmentVariablesProvider(
			this.environment);
	environmentVariablesProvider.setEnvironmentProperties(environmentParameters);
	handler.setEnvironmentVariablesProvider(environmentVariablesProvider);

	TaskExecution taskExecution = new TaskExecution();
	taskExecution.setTaskName("partitionedJobTask");

	Set<StepExecution> stepExecutions = new HashSet<>();
	stepExecutions.add(workerStepExecutionStart);
	when(this.splitter.split(masterStepExecution, 1)).thenReturn(stepExecutions);

	when(this.jobExplorer.getStepExecution(1L, 4L))
			.thenReturn(workerStepExecutionFinish);

	handler.afterPropertiesSet();

	handler.beforeTask(taskExecution);
	Collection<StepExecution> results = handler.handle(this.splitter,
			masterStepExecution);

	verify(this.taskLauncher)
			.launch(this.appDeploymentRequestArgumentCaptor.capture());

	AppDeploymentRequest request = this.appDeploymentRequestArgumentCaptor.getValue();

	assertThat(request.getResource()).isEqualTo(this.resource);
	assertThat(request.getDefinition().getProperties().size()).isEqualTo(2);
	assertThat(request.getDefinition().getProperties().get("foo")).isEqualTo("bar");
	assertThat(request.getDefinition().getProperties().get("baz")).isEqualTo("qux");

	AppDefinition appDefinition = request.getDefinition();

	assertThat(appDefinition.getName()).isEqualTo("partitionedJobTask");
	assertThat(request.getCommandlineArguments().contains(formatArgs(
			DeployerPartitionHandler.SPRING_CLOUD_TASK_JOB_EXECUTION_ID, "1")))
					.isTrue();
	assertThat(request.getCommandlineArguments().contains(formatArgs(
			DeployerPartitionHandler.SPRING_CLOUD_TASK_STEP_EXECUTION_ID, "4")))
					.isTrue();
	assertThat(request.getCommandlineArguments().contains(formatArgs(
			DeployerPartitionHandler.SPRING_CLOUD_TASK_STEP_NAME, "step1"))).isTrue();

	assertThat(results.size()).isEqualTo(1);
	StepExecution resultStepExecution = results.iterator().next();
	assertThat(resultStepExecution.getStatus()).isEqualTo(BatchStatus.COMPLETED);
	assertThat(resultStepExecution.getStepName()).isEqualTo("step1:partition1");
}
 
Example 5
Source File: DeployerPartitionHandlerTests.java    From spring-cloud-task with Apache License 2.0 4 votes vote down vote up
@Test
public void testOverridingEnvironmentProperties() throws Exception {

	((MockEnvironment) this.environment).setProperty("foo", "zoo");
	((MockEnvironment) this.environment).setProperty("task", "batch");

	StepExecution masterStepExecution = createMasterStepExecution();
	JobExecution jobExecution = masterStepExecution.getJobExecution();

	StepExecution workerStepExecutionStart = getStepExecutionStart(jobExecution, 4L);
	StepExecution workerStepExecutionFinish = getStepExecutionFinish(
			workerStepExecutionStart, BatchStatus.COMPLETED);

	DeployerPartitionHandler handler = new DeployerPartitionHandler(this.taskLauncher,
			this.jobExplorer, this.resource, "step1", this.taskRepository);
	handler.setEnvironment(this.environment);

	Map<String, String> environmentParameters = new HashMap<>(2);
	environmentParameters.put("foo", "bar");
	environmentParameters.put("baz", "qux");

	SimpleEnvironmentVariablesProvider environmentVariablesProvider = new SimpleEnvironmentVariablesProvider(
			this.environment);
	environmentVariablesProvider.setEnvironmentProperties(environmentParameters);
	handler.setEnvironmentVariablesProvider(environmentVariablesProvider);

	TaskExecution taskExecution = new TaskExecution();
	taskExecution.setTaskName("partitionedJobTask");

	Set<StepExecution> stepExecutions = new HashSet<>();
	stepExecutions.add(workerStepExecutionStart);
	when(this.splitter.split(masterStepExecution, 1)).thenReturn(stepExecutions);

	when(this.jobExplorer.getStepExecution(1L, 4L))
			.thenReturn(workerStepExecutionFinish);

	handler.afterPropertiesSet();

	handler.beforeTask(taskExecution);
	Collection<StepExecution> results = handler.handle(this.splitter,
			masterStepExecution);

	verify(this.taskLauncher)
			.launch(this.appDeploymentRequestArgumentCaptor.capture());

	AppDeploymentRequest request = this.appDeploymentRequestArgumentCaptor.getValue();

	assertThat(request.getResource()).isEqualTo(this.resource);
	assertThat(request.getDefinition().getProperties().size()).isEqualTo(3);
	assertThat(request.getDefinition().getProperties().get("foo")).isEqualTo("bar");
	assertThat(request.getDefinition().getProperties().get("baz")).isEqualTo("qux");
	assertThat(request.getDefinition().getProperties().get("task"))
			.isEqualTo("batch");

	AppDefinition appDefinition = request.getDefinition();

	assertThat(appDefinition.getName()).isEqualTo("partitionedJobTask");
	assertThat(request.getCommandlineArguments().contains(formatArgs(
			DeployerPartitionHandler.SPRING_CLOUD_TASK_JOB_EXECUTION_ID, "1")))
					.isTrue();
	assertThat(request.getCommandlineArguments().contains(formatArgs(
			DeployerPartitionHandler.SPRING_CLOUD_TASK_STEP_EXECUTION_ID, "4")))
					.isTrue();
	assertThat(request.getCommandlineArguments().contains(formatArgs(
			DeployerPartitionHandler.SPRING_CLOUD_TASK_STEP_NAME, "step1"))).isTrue();

	assertThat(results.size()).isEqualTo(1);
	StepExecution resultStepExecution = results.iterator().next();
	assertThat(resultStepExecution.getStatus()).isEqualTo(BatchStatus.COMPLETED);
	assertThat(resultStepExecution.getStepName()).isEqualTo("step1:partition1");
}
 
Example 6
Source File: DeployerPartitionHandlerTests.java    From spring-cloud-task with Apache License 2.0 4 votes vote down vote up
@Test
public void testDeployerProperties() throws Exception {

	StepExecution masterStepExecution = createMasterStepExecution();
	JobExecution jobExecution = masterStepExecution.getJobExecution();

	StepExecution workerStepExecutionStart = getStepExecutionStart(jobExecution, 4L);
	StepExecution workerStepExecutionFinish = getStepExecutionFinish(
			workerStepExecutionStart, BatchStatus.COMPLETED);

	DeployerPartitionHandler handler = new DeployerPartitionHandler(this.taskLauncher,
			this.jobExplorer, this.resource, "step1", this.taskRepository);
	handler.setEnvironment(this.environment);

	Map<String, String> deploymentProperties = new HashMap<>(2);
	deploymentProperties.put("foo", "bar");
	deploymentProperties.put("baz", "qux");

	handler.setDeploymentProperties(deploymentProperties);

	TaskExecution taskExecution = new TaskExecution();
	taskExecution.setTaskName("partitionedJobTask");

	Set<StepExecution> stepExecutions = new HashSet<>();
	stepExecutions.add(workerStepExecutionStart);
	when(this.splitter.split(masterStepExecution, 1)).thenReturn(stepExecutions);

	when(this.jobExplorer.getStepExecution(1L, 4L))
			.thenReturn(workerStepExecutionFinish);

	handler.afterPropertiesSet();

	handler.beforeTask(taskExecution);
	Collection<StepExecution> results = handler.handle(this.splitter,
			masterStepExecution);

	verify(this.taskLauncher)
			.launch(this.appDeploymentRequestArgumentCaptor.capture());

	AppDeploymentRequest request = this.appDeploymentRequestArgumentCaptor.getValue();

	assertThat(request.getResource()).isEqualTo(this.resource);
	assertThat(request.getDeploymentProperties().size()).isEqualTo(2);
	assertThat(request.getDeploymentProperties().get("foo")).isEqualTo("bar");
	assertThat(request.getDeploymentProperties().get("baz")).isEqualTo("qux");

	AppDefinition appDefinition = request.getDefinition();

	assertThat(appDefinition.getName()).isEqualTo("partitionedJobTask");
	assertThat(request.getCommandlineArguments().contains(formatArgs(
			DeployerPartitionHandler.SPRING_CLOUD_TASK_JOB_EXECUTION_ID, "1")))
					.isTrue();
	assertThat(request.getCommandlineArguments().contains(formatArgs(
			DeployerPartitionHandler.SPRING_CLOUD_TASK_STEP_EXECUTION_ID, "4")))
					.isTrue();
	assertThat(request.getCommandlineArguments().contains(formatArgs(
			DeployerPartitionHandler.SPRING_CLOUD_TASK_STEP_NAME, "step1"))).isTrue();

	assertThat(results.size()).isEqualTo(1);
	StepExecution resultStepExecution = results.iterator().next();
	assertThat(resultStepExecution.getStatus()).isEqualTo(BatchStatus.COMPLETED);
	assertThat(resultStepExecution.getStepName()).isEqualTo("step1:partition1");
}