From 43812c1f67462085853fdad98263cef232154d29 Mon Sep 17 00:00:00 2001 From: pengys5 <8082209@qq.com> Date: Mon, 27 Feb 2017 00:08:31 +0800 Subject: [PATCH] solve test case compile error --- .../actor/AbstractWorkerProvider.java | 2 +- .../actor/SpiTestWorkerFactoryTestCase.java | 4 +- .../cluster/WorkersRefCenterTestCase.java | 83 ++++++++----------- 3 files changed, 37 insertions(+), 52 deletions(-) diff --git a/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/AbstractWorkerProvider.java b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/AbstractWorkerProvider.java index 11bd7dfb9..8859f763f 100644 --- a/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/AbstractWorkerProvider.java +++ b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/AbstractWorkerProvider.java @@ -44,7 +44,7 @@ public abstract class AbstractWorkerProvider { } for (int i = 1; i <= workerNum(); i++) { - system.actorOf(Props.create(workerClass(), roleName()), roleName() + "_" + i); + system.actorOf(Props.create(workerClass()), roleName() + "_" + i); } } diff --git a/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/actor/SpiTestWorkerFactoryTestCase.java b/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/actor/SpiTestWorkerFactoryTestCase.java index 802922310..a11db6d8b 100644 --- a/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/actor/SpiTestWorkerFactoryTestCase.java +++ b/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/actor/SpiTestWorkerFactoryTestCase.java @@ -29,9 +29,9 @@ public class SpiTestWorkerFactoryTestCase { new JavaTestKit(system) {{ SpiTestWorkerFactory aWorkerProvider = new SpiTestWorkerFactory(); aWorkerProvider.createWorker(system); - system.actorSelection("/user/" + SpiTestWorkerFactory.WorkerRole + "_1").tell("Test1", getRef()); + system.actorSelection("/user/" + aWorkerProvider.roleName() + "_1").tell("Test1", getRef()); expectMsgEquals(duration("1 second"), "Yes"); - system.actorSelection("/user/" + SpiTestWorkerFactory.WorkerRole + "_2").tell("Test2", getRef()); + system.actorSelection("/user/" + aWorkerProvider.roleName() + "_2").tell("Test2", getRef()); expectMsgEquals(duration("1 second"), "No"); }}; } diff --git a/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/cluster/WorkersRefCenterTestCase.java b/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/cluster/WorkersRefCenterTestCase.java index 0d57c71cb..5231ec9dc 100644 --- a/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/cluster/WorkersRefCenterTestCase.java +++ b/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/cluster/WorkersRefCenterTestCase.java @@ -21,10 +21,21 @@ import java.util.concurrent.ConcurrentHashMap; public class WorkersRefCenterTestCase { ActorSystem system; + TestActorRef actorRef1; + TestActorRef actorRef2; + TestActorRef actorRef3; @Before public void createSystem() { system = ActorSystem.create(); + final Props props = Props.create(WorkersListener.class); + actorRef1 = TestActorRef.create(system, props, "WorkersListener1"); + actorRef2 = TestActorRef.create(system, props, "WorkersListener2"); + actorRef3 = TestActorRef.create(system, props, "WorkersListener3"); + + WorkersRefCenter.INSTANCE.register(actorRef1, "WorkersListener"); + WorkersRefCenter.INSTANCE.register(actorRef2, "WorkersListener"); + WorkersRefCenter.INSTANCE.register(actorRef3, "WorkersListener"); } @After @@ -33,71 +44,45 @@ public class WorkersRefCenterTestCase { system.awaitTermination(); system = null; - MemberModifier.field(WorkersRefCenter.class, "actorToRole").set(WorkersRefCenter.INSTANCE, new ConcurrentHashMap()); - MemberModifier.field(WorkersRefCenter.class, "roleToActor").set(WorkersRefCenter.INSTANCE, new ConcurrentHashMap()); + MemberModifier.field(WorkersRefCenter.class, "roleToWorkerRef").set(WorkersRefCenter.INSTANCE, new ConcurrentHashMap()); + MemberModifier.field(WorkersRefCenter.class, "actorRefToWorkerRef").set(WorkersRefCenter.INSTANCE, new ConcurrentHashMap()); } @Test public void testRegister() throws IllegalAccessException { - final Props props = Props.create(WorkersListener.class); - final TestActorRef actorRef1 = TestActorRef.create(system, props, "WorkersListener1"); - final TestActorRef actorRef2 = TestActorRef.create(system, props, "WorkersListener2"); - final TestActorRef actorRef3 = TestActorRef.create(system, props, "WorkersListener3"); - - WorkersRefCenter.INSTANCE.register(actorRef1, "WorkersListener"); - WorkersRefCenter.INSTANCE.register(actorRef2, "WorkersListener"); - WorkersRefCenter.INSTANCE.register(actorRef3, "WorkersListener"); - - Map actorToRole = (Map) MemberModifier.field(WorkersRefCenter.class, "actorToRole").get(WorkersRefCenter.INSTANCE); - - for (Map.Entry entry : actorToRole.entrySet()) { - WorkerRef workerRef = entry.getKey(); - if (workerRef.equals(actorRef1) || workerRef.equals(actorRef2) || workerRef.equals(actorRef3)) { - Assert.assertEquals("WorkersListener", entry.getValue()); - } else { - Assert.fail(); - } - } - - Map> roleToActor = (Map>) MemberModifier.field(WorkersRefCenter.class, "roleToActor").get(WorkersRefCenter.INSTANCE); + Map> roleToActor = (Map>) MemberModifier.field(WorkersRefCenter.class, "roleToWorkerRef").get(WorkersRefCenter.INSTANCE); List workerRefs = roleToActor.get("WorkersListener"); - Assert.assertEquals(actorRef1.path().toString(), workerRefs.get(0).path().toString()); - Assert.assertEquals(actorRef2.path().toString(), workerRefs.get(1).path().toString()); - Assert.assertEquals(actorRef3.path().toString(), workerRefs.get(2).path().toString()); + + ActorRef actorRef = (ActorRef) MemberModifier.field(WorkerRef.class, "actorRef").get(workerRefs.get(0)); + Assert.assertEquals(actorRef1, actorRef); + actorRef = (ActorRef) MemberModifier.field(WorkerRef.class, "actorRef").get(workerRefs.get(1)); + Assert.assertEquals(actorRef2, actorRef); + actorRef = (ActorRef) MemberModifier.field(WorkerRef.class, "actorRef").get(workerRefs.get(2)); + Assert.assertEquals(actorRef3, actorRef); + + Map actorToRole = (Map) MemberModifier.field(WorkersRefCenter.class, "actorRefToWorkerRef").get(WorkersRefCenter.INSTANCE); + Assert.assertEquals("WorkersListener", actorToRole.get(actorRef1).getWorkerRole()); + Assert.assertEquals("WorkersListener", actorToRole.get(actorRef2).getWorkerRole()); + Assert.assertEquals("WorkersListener", actorToRole.get(actorRef3).getWorkerRole()); } @Test public void testUnRegister() throws IllegalAccessException { - final Props props = Props.create(WorkersListener.class); - final TestActorRef actorRef1 = TestActorRef.create(system, props, "WorkersListener1"); - final TestActorRef actorRef2 = TestActorRef.create(system, props, "WorkersListener2"); - final TestActorRef actorRef3 = TestActorRef.create(system, props, "WorkersListener3"); - - WorkersRefCenter.INSTANCE.register(actorRef1, "WorkersListener"); - WorkersRefCenter.INSTANCE.register(actorRef2, "WorkersListener"); - WorkersRefCenter.INSTANCE.register(actorRef3, "WorkersListener"); + WorkersRefCenter.INSTANCE.unregister(actorRef1); - Map actorToRole = (Map) MemberModifier.field(WorkersRefCenter.class, "actorToRole").get(WorkersRefCenter.INSTANCE); - Map> roleToActor = (Map>) MemberModifier.field(WorkersRefCenter.class, "roleToActor").get(WorkersRefCenter.INSTANCE); + Map> roleToWorkerRef = (Map>) MemberModifier.field(WorkersRefCenter.class, "roleToWorkerRef").get(WorkersRefCenter.INSTANCE); + ActorRef actorRef = (ActorRef) MemberModifier.field(WorkerRef.class, "actorRef").get(roleToWorkerRef.get("WorkersListener").get(0)); + Assert.assertEquals(actorRef2, actorRef); - WorkersRefCenter.INSTANCE.unregister(actorRef1); - Assert.assertEquals(null, actorToRole.get(actorRef1)); + actorRef = (ActorRef) MemberModifier.field(WorkerRef.class, "actorRef").get(roleToWorkerRef.get("WorkersListener").get(1)); + Assert.assertEquals(actorRef3, actorRef); - ActorRef[] actorRefs = {actorRef2, actorRef3}; - Assert.assertArrayEquals(actorRefs, roleToActor.get("WorkersListener").toArray()); + Map actorRefToWorkerRef = (Map) MemberModifier.field(WorkersRefCenter.class, "actorRefToWorkerRef").get(WorkersRefCenter.INSTANCE); + Assert.assertEquals(null, actorRefToWorkerRef.get(actorRef1)); } @Test public void testSizeOf() throws NoAvailableWorkerException { - final Props props = Props.create(WorkersListener.class); - final TestActorRef actorRef1 = TestActorRef.create(system, props, "WorkersListener1"); - final TestActorRef actorRef2 = TestActorRef.create(system, props, "WorkersListener2"); - final TestActorRef actorRef3 = TestActorRef.create(system, props, "WorkersListener3"); - - WorkersRefCenter.INSTANCE.register(actorRef1, "WorkersListener"); - WorkersRefCenter.INSTANCE.register(actorRef2, "WorkersListener"); - WorkersRefCenter.INSTANCE.register(actorRef3, "WorkersListener"); - Assert.assertEquals(3, WorkersRefCenter.INSTANCE.availableWorks("WorkersListener").size()); } } -- GitLab