Loading sharding-opentracing/src/test/java/io/shardingsphere/opentracing/listener/BaseEventListenerTest.java 0 → 100644 +65 −0 Original line number Diff line number Diff line /* * Copyright 2016-2018 shardingsphere.io. * <p> * 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. * </p> */ package io.shardingsphere.opentracing.listener; import com.google.common.collect.HashMultimap; import com.google.common.eventbus.EventBus; import io.opentracing.NoopTracerFactory; import io.opentracing.mock.MockTracer; import io.opentracing.util.GlobalTracer; import io.opentracing.util.ThreadLocalActiveSpanSource; import io.shardingsphere.core.event.ShardingEventBusInstance; import io.shardingsphere.opentracing.ShardingTracer; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import java.lang.reflect.Field; public abstract class BaseEventListenerTest { private static final MockTracer TRACER = new MockTracer(new ThreadLocalActiveSpanSource(), MockTracer.Propagator.TEXT_MAP); @BeforeClass public static void init() { ShardingTracer.init(TRACER); } @AfterClass public static void tearDown() throws NoSuchFieldException, IllegalAccessException { releaseTracer(); } @Before public void reset() { TRACER.reset(); } private static void releaseTracer() throws NoSuchFieldException, IllegalAccessException { Field tracerField = GlobalTracer.class.getDeclaredField("tracer"); tracerField.setAccessible(true); tracerField.set(GlobalTracer.class, NoopTracerFactory.create()); Field subscribersByTypeField = EventBus.class.getDeclaredField("subscribersByType"); subscribersByTypeField.setAccessible(true); subscribersByTypeField.set(ShardingEventBusInstance.getInstance(), HashMultimap.create()); } protected static MockTracer getTracer() { return TRACER; } } sharding-opentracing/src/test/java/io/shardingsphere/opentracing/listener/execution/ExecuteEventListenerTest.java +5 −42 Original line number Diff line number Diff line Loading @@ -17,12 +17,6 @@ package io.shardingsphere.opentracing.listener.execution; import com.google.common.collect.HashMultimap; import com.google.common.eventbus.EventBus; import io.opentracing.NoopTracerFactory; import io.opentracing.mock.MockTracer; import io.opentracing.util.GlobalTracer; import io.opentracing.util.ThreadLocalActiveSpanSource; import io.shardingsphere.core.constant.SQLType; import io.shardingsphere.core.executor.BaseStatementUnit; import io.shardingsphere.core.executor.ExecuteCallback; Loading @@ -32,14 +26,9 @@ import io.shardingsphere.core.executor.type.memory.MemoryStrictlyExecutorEngine; import io.shardingsphere.core.executor.type.statement.StatementUnit; import io.shardingsphere.core.routing.SQLExecutionUnit; import io.shardingsphere.core.routing.SQLUnit; import io.shardingsphere.core.event.ShardingEventBusInstance; import io.shardingsphere.opentracing.ShardingTracer; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import io.shardingsphere.opentracing.listener.BaseEventListenerTest; import org.junit.Test; import java.lang.reflect.Field; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; Loading @@ -54,27 +43,10 @@ import static org.junit.Assert.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public final class ExecuteEventListenerTest { private static final MockTracer TRACER = new MockTracer(new ThreadLocalActiveSpanSource(), MockTracer.Propagator.TEXT_MAP); public final class ExecuteEventListenerTest extends BaseEventListenerTest { private final ExecutorEngine executorEngine = new MemoryStrictlyExecutorEngine(5); @BeforeClass public static void init() { ShardingTracer.init(TRACER); } @AfterClass public static void tearDown() throws NoSuchFieldException, IllegalAccessException { releaseTracer(); } @Before public void before() { TRACER.reset(); } @Test public void assertSingleStatement() throws SQLException { Statement statement = mock(Statement.class); Loading @@ -87,7 +59,7 @@ public final class ExecuteEventListenerTest { return 0; } }); assertThat(TRACER.finishedSpans().size(), is(2)); assertThat(getTracer().finishedSpans().size(), is(2)); } @Test Loading @@ -106,7 +78,7 @@ public final class ExecuteEventListenerTest { return 0; } }); assertThat(TRACER.finishedSpans().size(), is(3)); assertThat(getTracer().finishedSpans().size(), is(3)); } @Test Loading @@ -126,7 +98,7 @@ public final class ExecuteEventListenerTest { return 0; } }); assertThat(TRACER.finishedSpans().size(), is(3)); assertThat(getTracer().finishedSpans().size(), is(3)); } @Test(expected = SQLException.class) Loading @@ -142,13 +114,4 @@ public final class ExecuteEventListenerTest { } }); } private static void releaseTracer() throws NoSuchFieldException, IllegalAccessException { Field tracerField = GlobalTracer.class.getDeclaredField("tracer"); tracerField.setAccessible(true); tracerField.set(GlobalTracer.class, NoopTracerFactory.create()); Field subscribersByTypeField = EventBus.class.getDeclaredField("subscribersByType"); subscribersByTypeField.setAccessible(true); subscribersByTypeField.set(ShardingEventBusInstance.getInstance(), HashMultimap.create()); } } sharding-opentracing/src/test/java/io/shardingsphere/opentracing/listener/merger/MergeEventListenerTest.java +6 −38 Original line number Diff line number Diff line Loading @@ -17,13 +17,7 @@ package io.shardingsphere.opentracing.listener.merger; import com.google.common.collect.HashMultimap; import com.google.common.eventbus.EventBus; import io.opentracing.NoopTracerFactory; import io.opentracing.mock.MockTracer; import io.opentracing.tag.Tags; import io.opentracing.util.GlobalTracer; import io.opentracing.util.ThreadLocalActiveSpanSource; import io.shardingsphere.core.api.config.ShardingRuleConfiguration; import io.shardingsphere.core.api.config.TableRuleConfiguration; import io.shardingsphere.core.constant.ConnectionMode; Loading @@ -38,15 +32,11 @@ import io.shardingsphere.core.metadata.ShardingMetaData; import io.shardingsphere.core.parsing.parser.dialect.mysql.statement.ShowColumnsStatement; import io.shardingsphere.core.parsing.parser.dialect.mysql.statement.ShowDatabasesStatement; import io.shardingsphere.core.rule.ShardingRule; import io.shardingsphere.core.event.ShardingEventBusInstance; import io.shardingsphere.opentracing.ShardingTracer; import org.junit.AfterClass; import io.shardingsphere.opentracing.listener.BaseEventListenerTest; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import javax.sql.DataSource; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.sql.Connection; Loading @@ -61,27 +51,14 @@ import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public final class MergeEventListenerTest { private static final MockTracer TRACER = new MockTracer(new ThreadLocalActiveSpanSource(), MockTracer.Propagator.TEXT_MAP); public final class MergeEventListenerTest extends BaseEventListenerTest { private ShardingContext shardingContext; private MergeEngine mergeEngine; @BeforeClass public static void init() { ShardingTracer.init(TRACER); } @AfterClass public static void tearDown() throws NoSuchFieldException, IllegalAccessException { releaseTracer(); } @Before public void setUp() throws SQLException { TRACER.reset(); ShardingRuleConfiguration shardingRuleConfig = new ShardingRuleConfiguration(); TableRuleConfiguration tableRuleConfig = new TableRuleConfiguration(); tableRuleConfig.setLogicTable("t_order"); Loading Loading @@ -111,7 +88,7 @@ public final class MergeEventListenerTest { Method mergeMethod = ShardingPreparedStatement.class.getDeclaredMethod("merge", MergeEngine.class); mergeMethod.setAccessible(true); mergeMethod.invoke(statement, mergeEngine); assertThat(TRACER.finishedSpans().size(), is(1)); assertThat(getTracer().finishedSpans().size(), is(1)); } @Test Loading @@ -120,7 +97,7 @@ public final class MergeEventListenerTest { Method mergeMethod = ShardingStatement.class.getDeclaredMethod("merge", MergeEngine.class); mergeMethod.setAccessible(true); mergeMethod.invoke(statement, mergeEngine); assertThat(TRACER.finishedSpans().size(), is(1)); assertThat(getTracer().finishedSpans().size(), is(1)); } @Test Loading @@ -135,16 +112,7 @@ public final class MergeEventListenerTest { } catch (final Exception ignored) { // CHECKSTYLE:ON } assertThat(TRACER.finishedSpans().size(), is(1)); assertTrue((Boolean) TRACER.finishedSpans().get(0).tags().get(Tags.ERROR.getKey())); } private static void releaseTracer() throws NoSuchFieldException, IllegalAccessException { Field tracerField = GlobalTracer.class.getDeclaredField("tracer"); tracerField.setAccessible(true); tracerField.set(GlobalTracer.class, NoopTracerFactory.create()); Field subscribersByTypeField = EventBus.class.getDeclaredField("subscribersByType"); subscribersByTypeField.setAccessible(true); subscribersByTypeField.set(ShardingEventBusInstance.getInstance(), HashMultimap.create()); assertThat(getTracer().finishedSpans().size(), is(1)); assertTrue((Boolean) getTracer().finishedSpans().get(0).tags().get(Tags.ERROR.getKey())); } } sharding-opentracing/src/test/java/io/shardingsphere/opentracing/listener/routing/RoutingEventListenerTest.java +6 −38 Original line number Diff line number Diff line Loading @@ -17,13 +17,7 @@ package io.shardingsphere.opentracing.listener.routing; import com.google.common.collect.HashMultimap; import com.google.common.eventbus.EventBus; import io.opentracing.NoopTracerFactory; import io.opentracing.mock.MockTracer; import io.opentracing.tag.Tags; import io.opentracing.util.GlobalTracer; import io.opentracing.util.ThreadLocalActiveSpanSource; import io.shardingsphere.core.api.config.ShardingRuleConfiguration; import io.shardingsphere.core.api.config.TableRuleConfiguration; import io.shardingsphere.core.constant.ConnectionMode; Loading @@ -34,15 +28,11 @@ import io.shardingsphere.core.jdbc.core.statement.ShardingPreparedStatement; import io.shardingsphere.core.jdbc.core.statement.ShardingStatement; import io.shardingsphere.core.metadata.ShardingMetaData; import io.shardingsphere.core.rule.ShardingRule; import io.shardingsphere.core.event.ShardingEventBusInstance; import io.shardingsphere.opentracing.ShardingTracer; import org.junit.AfterClass; import io.shardingsphere.opentracing.listener.BaseEventListenerTest; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import javax.sql.DataSource; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.sql.Connection; Loading @@ -57,25 +47,12 @@ import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public final class RoutingEventListenerTest { private static final MockTracer TRACER = new MockTracer(new ThreadLocalActiveSpanSource(), MockTracer.Propagator.TEXT_MAP); public final class RoutingEventListenerTest extends BaseEventListenerTest { private ShardingContext shardingContext; @BeforeClass public static void init() { ShardingTracer.init(TRACER); } @AfterClass public static void tearDown() throws NoSuchFieldException, IllegalAccessException { releaseTracer(); } @Before public void setUp() throws SQLException { TRACER.reset(); ShardingRuleConfiguration shardingRuleConfig = new ShardingRuleConfiguration(); TableRuleConfiguration tableRuleConfig = new TableRuleConfiguration(); tableRuleConfig.setLogicTable("t_order"); Loading Loading @@ -104,7 +81,7 @@ public final class RoutingEventListenerTest { Method sqlRouteMethod = ShardingPreparedStatement.class.getDeclaredMethod("sqlRoute"); sqlRouteMethod.setAccessible(true); sqlRouteMethod.invoke(statement); assertThat(TRACER.finishedSpans().size(), is(1)); assertThat(getTracer().finishedSpans().size(), is(1)); } Loading @@ -114,7 +91,7 @@ public final class RoutingEventListenerTest { Method sqlRouteMethod = ShardingStatement.class.getDeclaredMethod("sqlRoute", String.class); sqlRouteMethod.setAccessible(true); sqlRouteMethod.invoke(statement, "select * from t_order"); assertThat(TRACER.finishedSpans().size(), is(1)); assertThat(getTracer().finishedSpans().size(), is(1)); } @Test Loading @@ -128,16 +105,7 @@ public final class RoutingEventListenerTest { } catch (final Exception ex) { // CHECKSTYLE:ON } assertThat(TRACER.finishedSpans().size(), is(1)); assertTrue((Boolean) TRACER.finishedSpans().get(0).tags().get(Tags.ERROR.getKey())); } private static void releaseTracer() throws NoSuchFieldException, IllegalAccessException { Field tracerField = GlobalTracer.class.getDeclaredField("tracer"); tracerField.setAccessible(true); tracerField.set(GlobalTracer.class, NoopTracerFactory.create()); Field subscribersByTypeField = EventBus.class.getDeclaredField("subscribersByType"); subscribersByTypeField.setAccessible(true); subscribersByTypeField.set(ShardingEventBusInstance.getInstance(), HashMultimap.create()); assertThat(getTracer().finishedSpans().size(), is(1)); assertTrue((Boolean) getTracer().finishedSpans().get(0).tags().get(Tags.ERROR.getKey())); } } Loading
sharding-opentracing/src/test/java/io/shardingsphere/opentracing/listener/BaseEventListenerTest.java 0 → 100644 +65 −0 Original line number Diff line number Diff line /* * Copyright 2016-2018 shardingsphere.io. * <p> * 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. * </p> */ package io.shardingsphere.opentracing.listener; import com.google.common.collect.HashMultimap; import com.google.common.eventbus.EventBus; import io.opentracing.NoopTracerFactory; import io.opentracing.mock.MockTracer; import io.opentracing.util.GlobalTracer; import io.opentracing.util.ThreadLocalActiveSpanSource; import io.shardingsphere.core.event.ShardingEventBusInstance; import io.shardingsphere.opentracing.ShardingTracer; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import java.lang.reflect.Field; public abstract class BaseEventListenerTest { private static final MockTracer TRACER = new MockTracer(new ThreadLocalActiveSpanSource(), MockTracer.Propagator.TEXT_MAP); @BeforeClass public static void init() { ShardingTracer.init(TRACER); } @AfterClass public static void tearDown() throws NoSuchFieldException, IllegalAccessException { releaseTracer(); } @Before public void reset() { TRACER.reset(); } private static void releaseTracer() throws NoSuchFieldException, IllegalAccessException { Field tracerField = GlobalTracer.class.getDeclaredField("tracer"); tracerField.setAccessible(true); tracerField.set(GlobalTracer.class, NoopTracerFactory.create()); Field subscribersByTypeField = EventBus.class.getDeclaredField("subscribersByType"); subscribersByTypeField.setAccessible(true); subscribersByTypeField.set(ShardingEventBusInstance.getInstance(), HashMultimap.create()); } protected static MockTracer getTracer() { return TRACER; } }
sharding-opentracing/src/test/java/io/shardingsphere/opentracing/listener/execution/ExecuteEventListenerTest.java +5 −42 Original line number Diff line number Diff line Loading @@ -17,12 +17,6 @@ package io.shardingsphere.opentracing.listener.execution; import com.google.common.collect.HashMultimap; import com.google.common.eventbus.EventBus; import io.opentracing.NoopTracerFactory; import io.opentracing.mock.MockTracer; import io.opentracing.util.GlobalTracer; import io.opentracing.util.ThreadLocalActiveSpanSource; import io.shardingsphere.core.constant.SQLType; import io.shardingsphere.core.executor.BaseStatementUnit; import io.shardingsphere.core.executor.ExecuteCallback; Loading @@ -32,14 +26,9 @@ import io.shardingsphere.core.executor.type.memory.MemoryStrictlyExecutorEngine; import io.shardingsphere.core.executor.type.statement.StatementUnit; import io.shardingsphere.core.routing.SQLExecutionUnit; import io.shardingsphere.core.routing.SQLUnit; import io.shardingsphere.core.event.ShardingEventBusInstance; import io.shardingsphere.opentracing.ShardingTracer; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import io.shardingsphere.opentracing.listener.BaseEventListenerTest; import org.junit.Test; import java.lang.reflect.Field; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; Loading @@ -54,27 +43,10 @@ import static org.junit.Assert.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public final class ExecuteEventListenerTest { private static final MockTracer TRACER = new MockTracer(new ThreadLocalActiveSpanSource(), MockTracer.Propagator.TEXT_MAP); public final class ExecuteEventListenerTest extends BaseEventListenerTest { private final ExecutorEngine executorEngine = new MemoryStrictlyExecutorEngine(5); @BeforeClass public static void init() { ShardingTracer.init(TRACER); } @AfterClass public static void tearDown() throws NoSuchFieldException, IllegalAccessException { releaseTracer(); } @Before public void before() { TRACER.reset(); } @Test public void assertSingleStatement() throws SQLException { Statement statement = mock(Statement.class); Loading @@ -87,7 +59,7 @@ public final class ExecuteEventListenerTest { return 0; } }); assertThat(TRACER.finishedSpans().size(), is(2)); assertThat(getTracer().finishedSpans().size(), is(2)); } @Test Loading @@ -106,7 +78,7 @@ public final class ExecuteEventListenerTest { return 0; } }); assertThat(TRACER.finishedSpans().size(), is(3)); assertThat(getTracer().finishedSpans().size(), is(3)); } @Test Loading @@ -126,7 +98,7 @@ public final class ExecuteEventListenerTest { return 0; } }); assertThat(TRACER.finishedSpans().size(), is(3)); assertThat(getTracer().finishedSpans().size(), is(3)); } @Test(expected = SQLException.class) Loading @@ -142,13 +114,4 @@ public final class ExecuteEventListenerTest { } }); } private static void releaseTracer() throws NoSuchFieldException, IllegalAccessException { Field tracerField = GlobalTracer.class.getDeclaredField("tracer"); tracerField.setAccessible(true); tracerField.set(GlobalTracer.class, NoopTracerFactory.create()); Field subscribersByTypeField = EventBus.class.getDeclaredField("subscribersByType"); subscribersByTypeField.setAccessible(true); subscribersByTypeField.set(ShardingEventBusInstance.getInstance(), HashMultimap.create()); } }
sharding-opentracing/src/test/java/io/shardingsphere/opentracing/listener/merger/MergeEventListenerTest.java +6 −38 Original line number Diff line number Diff line Loading @@ -17,13 +17,7 @@ package io.shardingsphere.opentracing.listener.merger; import com.google.common.collect.HashMultimap; import com.google.common.eventbus.EventBus; import io.opentracing.NoopTracerFactory; import io.opentracing.mock.MockTracer; import io.opentracing.tag.Tags; import io.opentracing.util.GlobalTracer; import io.opentracing.util.ThreadLocalActiveSpanSource; import io.shardingsphere.core.api.config.ShardingRuleConfiguration; import io.shardingsphere.core.api.config.TableRuleConfiguration; import io.shardingsphere.core.constant.ConnectionMode; Loading @@ -38,15 +32,11 @@ import io.shardingsphere.core.metadata.ShardingMetaData; import io.shardingsphere.core.parsing.parser.dialect.mysql.statement.ShowColumnsStatement; import io.shardingsphere.core.parsing.parser.dialect.mysql.statement.ShowDatabasesStatement; import io.shardingsphere.core.rule.ShardingRule; import io.shardingsphere.core.event.ShardingEventBusInstance; import io.shardingsphere.opentracing.ShardingTracer; import org.junit.AfterClass; import io.shardingsphere.opentracing.listener.BaseEventListenerTest; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import javax.sql.DataSource; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.sql.Connection; Loading @@ -61,27 +51,14 @@ import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public final class MergeEventListenerTest { private static final MockTracer TRACER = new MockTracer(new ThreadLocalActiveSpanSource(), MockTracer.Propagator.TEXT_MAP); public final class MergeEventListenerTest extends BaseEventListenerTest { private ShardingContext shardingContext; private MergeEngine mergeEngine; @BeforeClass public static void init() { ShardingTracer.init(TRACER); } @AfterClass public static void tearDown() throws NoSuchFieldException, IllegalAccessException { releaseTracer(); } @Before public void setUp() throws SQLException { TRACER.reset(); ShardingRuleConfiguration shardingRuleConfig = new ShardingRuleConfiguration(); TableRuleConfiguration tableRuleConfig = new TableRuleConfiguration(); tableRuleConfig.setLogicTable("t_order"); Loading Loading @@ -111,7 +88,7 @@ public final class MergeEventListenerTest { Method mergeMethod = ShardingPreparedStatement.class.getDeclaredMethod("merge", MergeEngine.class); mergeMethod.setAccessible(true); mergeMethod.invoke(statement, mergeEngine); assertThat(TRACER.finishedSpans().size(), is(1)); assertThat(getTracer().finishedSpans().size(), is(1)); } @Test Loading @@ -120,7 +97,7 @@ public final class MergeEventListenerTest { Method mergeMethod = ShardingStatement.class.getDeclaredMethod("merge", MergeEngine.class); mergeMethod.setAccessible(true); mergeMethod.invoke(statement, mergeEngine); assertThat(TRACER.finishedSpans().size(), is(1)); assertThat(getTracer().finishedSpans().size(), is(1)); } @Test Loading @@ -135,16 +112,7 @@ public final class MergeEventListenerTest { } catch (final Exception ignored) { // CHECKSTYLE:ON } assertThat(TRACER.finishedSpans().size(), is(1)); assertTrue((Boolean) TRACER.finishedSpans().get(0).tags().get(Tags.ERROR.getKey())); } private static void releaseTracer() throws NoSuchFieldException, IllegalAccessException { Field tracerField = GlobalTracer.class.getDeclaredField("tracer"); tracerField.setAccessible(true); tracerField.set(GlobalTracer.class, NoopTracerFactory.create()); Field subscribersByTypeField = EventBus.class.getDeclaredField("subscribersByType"); subscribersByTypeField.setAccessible(true); subscribersByTypeField.set(ShardingEventBusInstance.getInstance(), HashMultimap.create()); assertThat(getTracer().finishedSpans().size(), is(1)); assertTrue((Boolean) getTracer().finishedSpans().get(0).tags().get(Tags.ERROR.getKey())); } }
sharding-opentracing/src/test/java/io/shardingsphere/opentracing/listener/routing/RoutingEventListenerTest.java +6 −38 Original line number Diff line number Diff line Loading @@ -17,13 +17,7 @@ package io.shardingsphere.opentracing.listener.routing; import com.google.common.collect.HashMultimap; import com.google.common.eventbus.EventBus; import io.opentracing.NoopTracerFactory; import io.opentracing.mock.MockTracer; import io.opentracing.tag.Tags; import io.opentracing.util.GlobalTracer; import io.opentracing.util.ThreadLocalActiveSpanSource; import io.shardingsphere.core.api.config.ShardingRuleConfiguration; import io.shardingsphere.core.api.config.TableRuleConfiguration; import io.shardingsphere.core.constant.ConnectionMode; Loading @@ -34,15 +28,11 @@ import io.shardingsphere.core.jdbc.core.statement.ShardingPreparedStatement; import io.shardingsphere.core.jdbc.core.statement.ShardingStatement; import io.shardingsphere.core.metadata.ShardingMetaData; import io.shardingsphere.core.rule.ShardingRule; import io.shardingsphere.core.event.ShardingEventBusInstance; import io.shardingsphere.opentracing.ShardingTracer; import org.junit.AfterClass; import io.shardingsphere.opentracing.listener.BaseEventListenerTest; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import javax.sql.DataSource; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.sql.Connection; Loading @@ -57,25 +47,12 @@ import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public final class RoutingEventListenerTest { private static final MockTracer TRACER = new MockTracer(new ThreadLocalActiveSpanSource(), MockTracer.Propagator.TEXT_MAP); public final class RoutingEventListenerTest extends BaseEventListenerTest { private ShardingContext shardingContext; @BeforeClass public static void init() { ShardingTracer.init(TRACER); } @AfterClass public static void tearDown() throws NoSuchFieldException, IllegalAccessException { releaseTracer(); } @Before public void setUp() throws SQLException { TRACER.reset(); ShardingRuleConfiguration shardingRuleConfig = new ShardingRuleConfiguration(); TableRuleConfiguration tableRuleConfig = new TableRuleConfiguration(); tableRuleConfig.setLogicTable("t_order"); Loading Loading @@ -104,7 +81,7 @@ public final class RoutingEventListenerTest { Method sqlRouteMethod = ShardingPreparedStatement.class.getDeclaredMethod("sqlRoute"); sqlRouteMethod.setAccessible(true); sqlRouteMethod.invoke(statement); assertThat(TRACER.finishedSpans().size(), is(1)); assertThat(getTracer().finishedSpans().size(), is(1)); } Loading @@ -114,7 +91,7 @@ public final class RoutingEventListenerTest { Method sqlRouteMethod = ShardingStatement.class.getDeclaredMethod("sqlRoute", String.class); sqlRouteMethod.setAccessible(true); sqlRouteMethod.invoke(statement, "select * from t_order"); assertThat(TRACER.finishedSpans().size(), is(1)); assertThat(getTracer().finishedSpans().size(), is(1)); } @Test Loading @@ -128,16 +105,7 @@ public final class RoutingEventListenerTest { } catch (final Exception ex) { // CHECKSTYLE:ON } assertThat(TRACER.finishedSpans().size(), is(1)); assertTrue((Boolean) TRACER.finishedSpans().get(0).tags().get(Tags.ERROR.getKey())); } private static void releaseTracer() throws NoSuchFieldException, IllegalAccessException { Field tracerField = GlobalTracer.class.getDeclaredField("tracer"); tracerField.setAccessible(true); tracerField.set(GlobalTracer.class, NoopTracerFactory.create()); Field subscribersByTypeField = EventBus.class.getDeclaredField("subscribersByType"); subscribersByTypeField.setAccessible(true); subscribersByTypeField.set(ShardingEventBusInstance.getInstance(), HashMultimap.create()); assertThat(getTracer().finishedSpans().size(), is(1)); assertTrue((Boolean) getTracer().finishedSpans().get(0).tags().get(Tags.ERROR.getKey())); } }