Package org.springframework.batch.core.jsr

Source Code of org.springframework.batch.core.jsr.JsrJobContextTests

/*
* Copyright 2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.batch.core.jsr;

import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import java.util.Properties;

import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.springframework.batch.core.BatchStatus;
import org.springframework.batch.core.ExitStatus;
import org.springframework.batch.core.JobExecution;
import org.springframework.batch.core.JobInstance;
import org.springframework.batch.core.JobParameters;
import org.springframework.batch.core.JobParametersBuilder;

public class JsrJobContextTests {

  private JsrJobContext context;
  @Mock
  private JobExecution execution;
  @Mock
  private JobInstance instance;

  @Before
  public void setUp() throws Exception {
    MockitoAnnotations.initMocks(this);

    Properties properties = new Properties();
    properties.put("jobLevelProperty1", "jobLevelValue1");

    context = new JsrJobContext();
    context.setProperties(properties);
    context.setJobExecution(execution);

    when(execution.getJobInstance()).thenReturn(instance);
  }

  @Test(expected=IllegalArgumentException.class)
  public void testCreateWithNull() {
    context = new JsrJobContext();
    context.setJobExecution(null);
  }

  @Test
  public void testGetJobName() {
    when(instance.getJobName()).thenReturn("jobName");

    assertEquals("jobName", context.getJobName());
  }

  @Test
  public void testTransientUserData() {
    context.setTransientUserData("This is my data");
    assertEquals("This is my data", context.getTransientUserData());
  }

  @Test
  public void testGetInstanceId() {
    when(instance.getId()).thenReturn(5L);

    assertEquals(5L, context.getInstanceId());
  }

  @Test
  public void testGetExecutionId() {
    when(execution.getId()).thenReturn(5L);

    assertEquals(5L, context.getExecutionId());
  }

  @Test
  public void testJobParameters() {
    JobParameters params = new JobParametersBuilder()
    .addString("key1", "value1")
    .toJobParameters();

    when(execution.getJobParameters()).thenReturn(params);

    assertEquals("value1", execution.getJobParameters().getString("key1"));
  }

  @Test
  public void testJobProperties() {
    assertEquals("jobLevelValue1", context.getProperties().get("jobLevelProperty1"));
  }

  @Test
  public void testGetBatchStatus() {
    when(execution.getStatus()).thenReturn(BatchStatus.COMPLETED);

    assertEquals(javax.batch.runtime.BatchStatus.COMPLETED, context.getBatchStatus());
  }

  @Test
  public void testExitStatus() {
    context.setExitStatus("my exit status");
    verify(execution).setExitStatus(new ExitStatus("my exit status"));

    when(execution.getExitStatus()).thenReturn(new ExitStatus("exit"));
    assertEquals("exit", context.getExitStatus());
  }

  @Test
  public void testInitialNullExitStatus() {
    when(execution.getExitStatus()).thenReturn(new ExitStatus("exit"));
    assertEquals(null, context.getExitStatus());
  }
}
TOP

Related Classes of org.springframework.batch.core.jsr.JsrJobContextTests

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.