Example usage for org.apache.hadoop.mapreduce TaskInputOutputContext getStatus

List of usage examples for org.apache.hadoop.mapreduce TaskInputOutputContext getStatus

Introduction

In this page you can find the example usage for org.apache.hadoop.mapreduce TaskInputOutputContext getStatus.

Prototype

public String getStatus();

Source Link

Document

Get the last set status message.

Usage

From source file:org.apache.crunch.test.CrunchTestSupport.java

License:Apache License

/**
 * The method creates a {@linkplain TaskInputOutputContext} which can be used
 * in unit tests. The context serves very limited purpose. You can only
 * operate with counters, taskAttempId, status and configuration while using
 * this context./*w ww.  j ava2s.  c  om*/
 */
public static <KI, VI, KO, VO> TaskInputOutputContext<KI, VI, KO, VO> getTestContext(
        final Configuration config) {
    TaskInputOutputContext<KI, VI, KO, VO> context = Mockito.mock(TaskInputOutputContext.class);
    TestCounters.clearCounters();
    final StateHolder holder = new StateHolder();

    Mockito.when(context.getCounter(Mockito.any(Enum.class))).then(new Answer<Counter>() {
        @Override
        public Counter answer(InvocationOnMock invocation) throws Throwable {
            Enum<?> counter = (Enum<?>) invocation.getArguments()[0];
            return TestCounters.getCounter(counter);
        }

    });

    Mockito.when(context.getCounter(Mockito.anyString(), Mockito.anyString())).then(new Answer<Counter>() {
        @Override
        public Counter answer(InvocationOnMock invocation) throws Throwable {
            String group = (String) invocation.getArguments()[0];
            String name = (String) invocation.getArguments()[1];
            return TestCounters.getCounter(group, name);
        }

    });

    Mockito.when(context.getConfiguration()).thenReturn(config);
    Mockito.when(context.getTaskAttemptID()).thenReturn(new TaskAttemptID());

    Mockito.when(context.getStatus()).then(new Answer<String>() {
        @Override
        public String answer(InvocationOnMock invocation) throws Throwable {
            return holder.internalStatus;
        }
    });

    Mockito.doAnswer(new Answer<Void>() {
        @Override
        public Void answer(InvocationOnMock invocation) throws Throwable {
            holder.internalStatus = (String) invocation.getArguments()[0];
            return null;
        }
    }).when(context).setStatus(Mockito.anyString());

    return context;

}

From source file:org.apache.crunch.test.CrunchTestSupportTest.java

License:Apache License

@Test
public void testContext() {
    Configuration sampleConfig = new Configuration();
    String status = "test";
    TaskInputOutputContext<?, ?, ?, ?> testContext = CrunchTestSupport.getTestContext(sampleConfig);
    assertEquals(sampleConfig, testContext.getConfiguration());
    TaskAttemptID taskAttemptID = testContext.getTaskAttemptID();
    assertEquals(taskAttemptID, testContext.getTaskAttemptID());
    assertNotNull(taskAttemptID);/*from   w w w  .  j  a  v a 2s.  c  o m*/
    assertNull(testContext.getStatus());
    testContext.setStatus(status);
    assertEquals(status, testContext.getStatus());
    assertEquals(0, testContext.getCounter(CT.ONE).getValue());
    testContext.getCounter(CT.ONE).increment(1);
    assertEquals(1, testContext.getCounter(CT.ONE).getValue());
    testContext.getCounter(CT.ONE).increment(4);
    assertEquals(5, testContext.getCounter(CT.ONE).getValue());
}