From 47871d1571542e55735ab08a7fa839ef085aa716 Mon Sep 17 00:00:00 2001 From: wusheng Date: Tue, 21 Feb 2017 09:47:29 +0800 Subject: [PATCH] Add mock-module test cases. --- .../context/MockTracerContextListener.java | 11 ++++++- .../MockTracerContextListenerTestCase.java | 33 +++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/context/MockTracerContextListener.java b/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/context/MockTracerContextListener.java index a79f80e1a..d9de084d2 100644 --- a/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/context/MockTracerContextListener.java +++ b/skywalking-sniffer/skywalking-sniffer-mock/src/main/java/com/a/eye/skywalking/sniffer/mock/context/MockTracerContextListener.java @@ -30,6 +30,15 @@ public class MockTracerContextListener implements TracerContextListener { Assert.assertEquals(size, finishedTraceSegments.size()); } + /** + * Assert the given index is a valid index of {@link #finishedTraceSegments} + * + * @param index the given index. + */ + public void assertValidIndex(int index){ + Assert.assertTrue(index < finishedTraceSegments.size()); + } + /** * Assert the {@link TraceSegment} at the given index of {@link #finishedTraceSegments}, * and run the given {@link SegmentAssert#call(TraceSegment)} to assert. @@ -38,7 +47,7 @@ public class MockTracerContextListener implements TracerContextListener { * @param segmentAssert the given assert. */ public void assertTraceSegment(int index, SegmentAssert segmentAssert){ - assertSize(index + 1); + assertValidIndex(index); segmentAssert.call(finishedTraceSegments.get(index)); } diff --git a/skywalking-sniffer/skywalking-sniffer-mock/src/test/java/com/a/eye/skywalking/sniffer/mock/MockTracerContextListenerTestCase.java b/skywalking-sniffer/skywalking-sniffer-mock/src/test/java/com/a/eye/skywalking/sniffer/mock/MockTracerContextListenerTestCase.java index 96e05bb42..ce43770c8 100644 --- a/skywalking-sniffer/skywalking-sniffer-mock/src/test/java/com/a/eye/skywalking/sniffer/mock/MockTracerContextListenerTestCase.java +++ b/skywalking-sniffer/skywalking-sniffer-mock/src/test/java/com/a/eye/skywalking/sniffer/mock/MockTracerContextListenerTestCase.java @@ -1,7 +1,9 @@ package com.a.eye.skywalking.sniffer.mock; import com.a.eye.skywalking.sniffer.mock.context.MockTracerContextListener; +import com.a.eye.skywalking.sniffer.mock.context.SegmentAssert; import com.a.eye.skywalking.sniffer.mock.trace.TraceSegmentBuilderFactory; +import com.a.eye.skywalking.trace.TraceSegment; import org.junit.Assert; import org.junit.Test; @@ -16,4 +18,35 @@ public class MockTracerContextListenerTestCase { Assert.assertNotNull(listener.getFinished(0)); } + + @Test(expected = AssertionError.class) + public void testAssertSize(){ + MockTracerContextListener listener = new MockTracerContextListener(); + listener.afterFinished(TraceSegmentBuilderFactory.INSTANCE.singleTomcat404Trace()); + + listener.assertSize(0); + } + + @Test + public void testAssertTraceSegment(){ + MockTracerContextListener listener = new MockTracerContextListener(); + listener.afterFinished(TraceSegmentBuilderFactory.INSTANCE.singleTomcat404Trace()); + listener.afterFinished(TraceSegmentBuilderFactory.INSTANCE.singleTomcat500Trace()); + + listener.assertTraceSegment(0, new SegmentAssert() { + @Override public void call(TraceSegment finishedSegment) { + Assert.assertNotNull(finishedSegment); + } + }); + } + + @Test(expected = AssertionError.class) + public void testClear(){ + MockTracerContextListener listener = new MockTracerContextListener(); + listener.afterFinished(TraceSegmentBuilderFactory.INSTANCE.singleTomcat404Trace()); + listener.afterFinished(TraceSegmentBuilderFactory.INSTANCE.singleTomcat500Trace()); + + listener.clear(); + listener.assertValidIndex(0); + } }