From 700c772298e0401fa3c6f0f6a7754cd9fef352ed Mon Sep 17 00:00:00 2001 From: pengys5 <8082209@qq.com> Date: Wed, 26 Apr 2017 00:54:01 +0800 Subject: [PATCH] mock --- .../actor/AbstractClusterWorker.java | 4 +- .../skywalking/collector/log/LogManager.java | 14 ++++ ...AbstractClusterWorkerProviderTestCase.java | 62 +++++++++++++++++ .../actor/AbstractClusterWorkerTestCase.java | 65 +++++++++++++++++- .../selector/AbstractHashMessageTestCase.java | 24 +++++++ .../selector/HashCodeSelectorTestCase.java | 6 ++ .../eye/skywalking/collector/log/MockLog.java | 18 +++++ .../src/test/resources/application.conf | 37 ---------- .../worker/globaltrace/GlobalTraceIndex.java | 3 +- .../collector/worker/node/NodeCompIndex.java | 9 +-- .../worker/noderef/NodeRefIndex.java | 53 +++++++-------- .../worker/noderef/NodeRefResSumIndex.java | 3 +- .../worker/segment/SegmentCostIndex.java | 6 +- .../worker/segment/SegmentExceptionIndex.java | 6 +- .../worker/segment/SegmentIndex.java | 6 +- .../storage/PersistenceWorkerListener.java | 4 ++ .../src/main/resources/log4j2.xml | 16 ++--- .../CacheSizeConfigProviderTestCase.java | 18 +++++ .../config/CacheSizeConfigTestCase.java | 16 +++++ .../config/EsConfigProviderTestCase.java | 30 +++++++++ .../config/HttpConfigProviderTestCase.java | 26 +++++++ .../worker/config/HttpConfigTestCase.java | 17 +++++ .../config/WorkerConfigProviderTestCase.java | 18 +++++ .../globaltrace/GlobalTraceIndexTestCase.java | 2 +- .../worker/node/NodeCompIndexTestCase.java | 2 +- .../worker/noderef/NodeRefIndexTestCase.java | 2 +- .../noderef/NodeRefResSumIndexTestCase.java | 2 +- .../segment/SegmentCostIndexTestCase.java | 2 +- .../SegmentExceptionIndexTestCase.java | 2 +- .../worker/segment/SegmentIndexTestCase.java | 2 +- .../storage/MergeAnalysisDataTestCase.java | 28 ++++++++ ...java => MergePersistenceDataTestCase.java} | 29 +++++++- .../storage/MetricAnalysisDataTestCase.java | 31 +++++++++ ...se.java => MetricPersistenceTestCase.java} | 28 +++++++- .../PersistenceWorkerListenerTestCase.java | 23 +++++++ .../storage/RecordAnalysisDataTestCase.java | 29 ++++++++ ...se.java => RecordPersistenceTestCase.java} | 28 +++++++- .../worker/storage/SegmentDataTestCase.java | 21 ++++++ .../SegmentPersistenceDataTestCase.java | 36 ++++++++++ .../worker/storage/WindowTestCase.java | 67 +++++++++++++++++++ 40 files changed, 681 insertions(+), 114 deletions(-) create mode 100644 skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/log/LogManager.java create mode 100644 skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/actor/AbstractClusterWorkerProviderTestCase.java create mode 100644 skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/actor/selector/AbstractHashMessageTestCase.java create mode 100644 skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/log/MockLog.java delete mode 100644 skywalking-collector/skywalking-collector-cluster/src/test/resources/application.conf create mode 100644 skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/CacheSizeConfigProviderTestCase.java create mode 100644 skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/CacheSizeConfigTestCase.java create mode 100644 skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/EsConfigProviderTestCase.java create mode 100644 skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/HttpConfigProviderTestCase.java create mode 100644 skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/HttpConfigTestCase.java create mode 100644 skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/WorkerConfigProviderTestCase.java create mode 100644 skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/MergeAnalysisDataTestCase.java rename skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/{MergePersistenceWindowDataTestCase.java => MergePersistenceDataTestCase.java} (53%) create mode 100644 skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/MetricAnalysisDataTestCase.java rename skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/{MetricPersistenceWindowDataTestCase.java => MetricPersistenceTestCase.java} (55%) create mode 100644 skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/PersistenceWorkerListenerTestCase.java create mode 100644 skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/RecordAnalysisDataTestCase.java rename skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/{RecordPersistenceWindowDataTestCase.java => RecordPersistenceTestCase.java} (58%) create mode 100644 skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/SegmentDataTestCase.java create mode 100644 skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/SegmentPersistenceDataTestCase.java create mode 100644 skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/WindowTestCase.java diff --git a/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/AbstractClusterWorker.java b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/AbstractClusterWorker.java index 5775bea81..a7e5ddf49 100644 --- a/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/AbstractClusterWorker.java +++ b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/AbstractClusterWorker.java @@ -7,7 +7,7 @@ import akka.cluster.Member; import akka.cluster.MemberStatus; import com.a.eye.skywalking.collector.cluster.WorkerListenerMessage; import com.a.eye.skywalking.collector.cluster.WorkersListener; -import org.apache.logging.log4j.LogManager; +import com.a.eye.skywalking.collector.log.LogManager; import org.apache.logging.log4j.Logger; /** @@ -52,7 +52,7 @@ public abstract class AbstractClusterWorker extends AbstractWorker { protected abstract void onWork(Object message) throws Exception; static class WorkerWithAkka extends UntypedActor { - private Logger logger = LogManager.getFormatterLogger(WorkerWithAkka.class); + private Logger logger = LogManager.INSTANCE.getFormatterLogger(WorkerWithAkka.class); private Cluster cluster; private final AbstractClusterWorker ownerWorker; diff --git a/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/log/LogManager.java b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/log/LogManager.java new file mode 100644 index 000000000..c374de557 --- /dev/null +++ b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/log/LogManager.java @@ -0,0 +1,14 @@ +package com.a.eye.skywalking.collector.log; + +import org.apache.logging.log4j.Logger; + +/** + * @author pengys5 + */ +public enum LogManager { + INSTANCE; + + public Logger getFormatterLogger(final Class clazz) { + return org.apache.logging.log4j.LogManager.getFormatterLogger(clazz); + } +} diff --git a/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/actor/AbstractClusterWorkerProviderTestCase.java b/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/actor/AbstractClusterWorkerProviderTestCase.java new file mode 100644 index 000000000..26fa64751 --- /dev/null +++ b/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/actor/AbstractClusterWorkerProviderTestCase.java @@ -0,0 +1,62 @@ +package com.a.eye.skywalking.collector.actor; + +import akka.actor.ActorSystem; +import com.a.eye.skywalking.collector.actor.selector.RollingSelector; +import com.a.eye.skywalking.collector.actor.selector.WorkerSelector; +import com.a.eye.skywalking.collector.log.LogManager; +import org.apache.logging.log4j.Logger; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.powermock.reflect.Whitebox; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; + +/** + * @author pengys5 + */ +@RunWith(PowerMockRunner.class) +public class AbstractClusterWorkerProviderTestCase { + + @Test + public void testOnCreate() throws ProviderNotFoundException { + LogManager logManager = Mockito.mock(LogManager.class); + Whitebox.setInternalState(LogManager.class, "INSTANCE", logManager); + Logger logger = Mockito.mock(Logger.class); + Mockito.when(logManager.getFormatterLogger(Mockito.any())).thenReturn(logger); + + ActorSystem actorSystem = Mockito.mock(ActorSystem.class); + ClusterWorkerContext clusterWorkerContext = new ClusterWorkerContext(actorSystem); + Impl impl = new Impl(); + impl.onCreate(null); + } + + class Impl extends AbstractClusterWorkerProvider { + @Override public Role role() { + return Role.INSTANCE; + } + + @Override public AbstractClusterWorkerTestCase.Impl workerInstance(ClusterWorkerContext clusterContext) { + return new AbstractClusterWorkerTestCase.Impl(role(), clusterContext, new LocalWorkerContext()); + } + + @Override public int workerNum() { + return 0; + } + } + + enum Role implements com.a.eye.skywalking.collector.actor.Role { + INSTANCE; + + @Override + public String roleName() { + return AbstractClusterWorkerTestCase.Impl.class.getSimpleName(); + } + + @Override + public WorkerSelector workerSelector() { + return new RollingSelector(); + } + } +} diff --git a/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/actor/AbstractClusterWorkerTestCase.java b/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/actor/AbstractClusterWorkerTestCase.java index 968ff41ed..d5359d601 100644 --- a/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/actor/AbstractClusterWorkerTestCase.java +++ b/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/actor/AbstractClusterWorkerTestCase.java @@ -1,21 +1,80 @@ package com.a.eye.skywalking.collector.actor; +import akka.actor.Address; +import akka.cluster.ClusterEvent; +import akka.cluster.Member; +import org.junit.Before; import org.junit.Test; -import org.mockito.Mockito; +import org.junit.runner.RunWith; import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; +import org.powermock.reflect.Whitebox; +import org.apache.logging.log4j.Logger; + +import static org.mockito.Mockito.*; /** * @author pengys5 */ +@RunWith(PowerMockRunner.class) +@PrepareForTest({ClusterEvent.MemberUp.class, Address.class}) public class AbstractClusterWorkerTestCase { + private AbstractClusterWorker.WorkerWithAkka workerWithAkka = mock(AbstractClusterWorker.WorkerWithAkka.class, CALLS_REAL_METHODS); + private AbstractClusterWorker worker = PowerMockito.spy(new Impl(null, null, null)); + + @Before + public void init(){ + Logger logger = mock(Logger.class); + Whitebox.setInternalState(workerWithAkka, "logger", logger); + Whitebox.setInternalState(workerWithAkka, "ownerWorker", worker); + } + @Test public void testAllocateJob() throws Exception { - AbstractClusterWorker worker = PowerMockito.mock(AbstractClusterWorker.class); String jobStr = "TestJob"; worker.allocateJob(jobStr); - Mockito.verify(worker).onWork(jobStr); + verify(worker).onWork(jobStr); + } + + @Test + public void testMemberUp() throws Throwable { + ClusterEvent.MemberUp memberUp = mock(ClusterEvent.MemberUp.class); + + Address address = mock(Address.class); + when(address.toString()).thenReturn("address"); + + Member member = mock(Member.class); + when(member.address()).thenReturn(address); + + when(memberUp.member()).thenReturn(member); + + workerWithAkka.onReceive(memberUp); + + verify(workerWithAkka).register(member); + } + + @Test + public void testMessage() throws Throwable { + String message = "test"; + workerWithAkka.onReceive(message); + + verify(worker).allocateJob(message); + } + + static class Impl extends AbstractClusterWorker { + @Override public void preStart() throws ProviderNotFoundException { + } + + public Impl(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { + super(role, clusterContext, selfContext); + } + + @Override protected void onWork(Object message) throws Exception { + + } } } diff --git a/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/actor/selector/AbstractHashMessageTestCase.java b/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/actor/selector/AbstractHashMessageTestCase.java new file mode 100644 index 000000000..f3a66c952 --- /dev/null +++ b/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/actor/selector/AbstractHashMessageTestCase.java @@ -0,0 +1,24 @@ +package com.a.eye.skywalking.collector.actor.selector; + +import org.junit.Assert; +import org.junit.Test; + +/** + * @author pengys5 + */ +public class AbstractHashMessageTestCase { + + @Test + public void testGetHashCode() { + String key = "key"; + + Impl impl = new Impl(key); + Assert.assertEquals(key.hashCode(), impl.getHashCode()); + } + + class Impl extends AbstractHashMessage { + public Impl(String key) { + super(key); + } + } +} diff --git a/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/actor/selector/HashCodeSelectorTestCase.java b/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/actor/selector/HashCodeSelectorTestCase.java index 13cfda87c..9a71c6b19 100644 --- a/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/actor/selector/HashCodeSelectorTestCase.java +++ b/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/actor/selector/HashCodeSelectorTestCase.java @@ -46,4 +46,10 @@ public class HashCodeSelectorTestCase { WorkerRef select_3 = selector.select(members, message_3); Assert.assertEquals(workerRef_3.hashCode(), select_3.hashCode()); } + + @Test(expected = IllegalArgumentException.class) + public void testSelectError() { + HashCodeSelector selector = new HashCodeSelector(); + selector.select(null, new Object()); + } } diff --git a/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/log/MockLog.java b/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/log/MockLog.java new file mode 100644 index 000000000..313fa0463 --- /dev/null +++ b/skywalking-collector/skywalking-collector-cluster/src/test/java/com/a/eye/skywalking/collector/log/MockLog.java @@ -0,0 +1,18 @@ +package com.a.eye.skywalking.collector.log; + +import org.apache.logging.log4j.Logger; +import org.mockito.Mockito; +import org.powermock.api.mockito.PowerMockito; + +/** + * @author pengys5 + */ +public class MockLog { + + public Logger mockito() { + LogManager logManager = PowerMockito.mock(LogManager.class); + Logger logger = Mockito.mock(Logger.class); + Mockito.when(logManager.getFormatterLogger(Mockito.any())).thenReturn(logger); + return logger; + } +} diff --git a/skywalking-collector/skywalking-collector-cluster/src/test/resources/application.conf b/skywalking-collector/skywalking-collector-cluster/src/test/resources/application.conf deleted file mode 100644 index 63ff45216..000000000 --- a/skywalking-collector/skywalking-collector-cluster/src/test/resources/application.conf +++ /dev/null @@ -1,37 +0,0 @@ -akka { - actor { - provider = "akka.cluster.ClusterActorRefProvider" - - serializers { - java = "akka.serialization.JavaSerializer" - proto = "akka.remote.serialization.ProtobufSerializer" -// data = "com.a.eye.skywalking.collector.worker.TraceSegmentSerializer" -// json = "com.a.eye.skywalking.collector.commons.serializer.JsonSerializer" - } - - serialization-bindings { - "java.lang.String" = java - "com.google.protobuf.Message" = proto -// "com.a.eye.skywalking.messages.ISerializable" = data -// "com.google.gson.JsonObject" = json - // "java.io.Serializable" = none - } - - // serialize-messages = on - warn-about-java-serializer-usage = on - } - - remote { - log-remote-lifecycle-events = off - - netty.tcp { - hostname = "127.0.0.1" - port = 1000 - } - } - - cluster { - auto-down-unreachable-after = off - metrics.enabled = off - } -} \ No newline at end of file diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/globaltrace/GlobalTraceIndex.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/globaltrace/GlobalTraceIndex.java index f5d29446f..760fa5516 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/globaltrace/GlobalTraceIndex.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/globaltrace/GlobalTraceIndex.java @@ -36,8 +36,7 @@ public class GlobalTraceIndex extends AbstractIndex { .startObject() .startObject("properties") .startObject(SUB_SEG_IDS) - .field("type", "text") - .field("index", "not_analyzed") + .field("type", "keyword") .endObject() .endObject() .endObject(); diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/node/NodeCompIndex.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/node/NodeCompIndex.java index 99ba5d3aa..3c9995505 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/node/NodeCompIndex.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/node/NodeCompIndex.java @@ -37,16 +37,13 @@ public class NodeCompIndex extends AbstractIndex { .startObject() .startObject("properties") .startObject(NAME) - .field("type", "string") - .field("index", "not_analyzed") + .field("type", "keyword") .endObject() .startObject(PEERS) - .field("type", "string") - .field("index", "not_analyzed") + .field("type", "keyword") .endObject() .startObject(AGG_COLUMN) - .field("type", "string") - .field("index", "not_analyzed") + .field("type", "keyword") .endObject() .endObject() .endObject(); diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefIndex.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefIndex.java index daba5128e..1c268b2ee 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefIndex.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefIndex.java @@ -35,34 +35,31 @@ public class NodeRefIndex extends AbstractIndex { @Override public XContentBuilder createMappingBuilder() throws IOException { XContentBuilder mappingBuilder = XContentFactory.jsonBuilder() - .startObject() - .startObject("properties") - .startObject(FRONT) - .field("type", "string") - .field("index", "not_analyzed") - .endObject() - .startObject(FRONT_IS_REAL_CODE) - .field("type", "boolean") - .field("index", "not_analyzed") - .endObject() - .startObject(BEHIND) - .field("type", "string") - .field("index", "not_analyzed") - .endObject() - .startObject(BEHIND_IS_REAL_CODE) - .field("type", "boolean") - .field("index", "not_analyzed") - .endObject() - .startObject(AGG_COLUMN) - .field("type", "string") - .field("index", "not_analyzed") - .endObject() - .startObject(TIME_SLICE) - .field("type", "long") - .field("index", "not_analyzed") - .endObject() - .endObject() - .endObject(); + .startObject() + .startObject("properties") + .startObject(FRONT) + .field("type", "keyword") + .endObject() + .startObject(FRONT_IS_REAL_CODE) + .field("type", "boolean") + .field("index", "not_analyzed") + .endObject() + .startObject(BEHIND) + .field("type", "keyword") + .endObject() + .startObject(BEHIND_IS_REAL_CODE) + .field("type", "boolean") + .field("index", "not_analyzed") + .endObject() + .startObject(AGG_COLUMN) + .field("type", "keyword") + .endObject() + .startObject(TIME_SLICE) + .field("type", "long") + .field("index", "not_analyzed") + .endObject() + .endObject() + .endObject(); return mappingBuilder; } } diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefResSumIndex.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefResSumIndex.java index 87118b443..796deb1b5 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefResSumIndex.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefResSumIndex.java @@ -64,8 +64,7 @@ public class NodeRefResSumIndex extends AbstractIndex { .field("index", "not_analyzed") .endObject() .startObject(AGG_COLUMN) - .field("type", "string") - .field("index", "not_analyzed") + .field("type", "keyword") .endObject() .startObject(TIME_SLICE) .field("type", "long") diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/SegmentCostIndex.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/SegmentCostIndex.java index 833d46af5..823b43f82 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/SegmentCostIndex.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/SegmentCostIndex.java @@ -40,8 +40,7 @@ public class SegmentCostIndex extends AbstractIndex { .startObject() .startObject("properties") .startObject(SEG_ID) - .field("type", "string") - .field("index", "not_analyzed") + .field("type", "keyword") .endObject() .startObject(START_TIME) .field("type", "long") @@ -52,8 +51,7 @@ public class SegmentCostIndex extends AbstractIndex { .field("index", "not_analyzed") .endObject() .startObject(OPERATION_NAME) - .field("type", "string") - .field("index", "not_analyzed") + .field("type", "keyword") .endObject() .startObject(COST) .field("type", "long") diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/SegmentExceptionIndex.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/SegmentExceptionIndex.java index 575060dfa..54b199ac4 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/SegmentExceptionIndex.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/SegmentExceptionIndex.java @@ -37,16 +37,14 @@ public class SegmentExceptionIndex extends AbstractIndex { .startObject() .startObject("properties") .startObject(SEG_ID) - .field("type", "string") - .field("index", "not_analyzed") + .field("type", "keyword") .endObject() .startObject(IS_ERROR) .field("type", "boolean") .field("index", "not_analyzed") .endObject() .startObject(ERROR_KIND) - .field("type", "string") - .field("index", "not_analyzed") + .field("type", "keyword") .endObject() .endObject() .endObject(); diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/SegmentIndex.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/SegmentIndex.java index 951d5b2ee..56a3a995b 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/SegmentIndex.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/SegmentIndex.java @@ -35,8 +35,7 @@ public class SegmentIndex extends AbstractIndex { .startObject() .startObject("properties") .startObject("traceSegmentId") - .field("type", "string") - .field("index", "not_analyzed") + .field("type", "keyword") .endObject() .startObject("startTime") .field("type", "date") @@ -47,8 +46,7 @@ public class SegmentIndex extends AbstractIndex { .field("index", "not_analyzed") .endObject() .startObject("applicationCode") - .field("type", "string") - .field("index", "not_analyzed") + .field("type", "keyword") .endObject() .startObject("minute") .field("type", "long") diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/storage/PersistenceWorkerListener.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/storage/PersistenceWorkerListener.java index 0c810b9af..ef31aa354 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/storage/PersistenceWorkerListener.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/storage/PersistenceWorkerListener.java @@ -19,4 +19,8 @@ public enum PersistenceWorkerListener { public List getWorkers() { return workers; } + + public void reset(){ + workers.clear(); + } } diff --git a/skywalking-collector/skywalking-collector-worker/src/main/resources/log4j2.xml b/skywalking-collector/skywalking-collector-worker/src/main/resources/log4j2.xml index 066c9bd62..d139c48ed 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/resources/log4j2.xml +++ b/skywalking-collector/skywalking-collector-worker/src/main/resources/log4j2.xml @@ -15,20 +15,12 @@ - - - - - - - - - + + + + - - - diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/CacheSizeConfigProviderTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/CacheSizeConfigProviderTestCase.java new file mode 100644 index 000000000..05cd29bfe --- /dev/null +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/CacheSizeConfigProviderTestCase.java @@ -0,0 +1,18 @@ +package com.a.eye.skywalking.collector.worker.config; + +import org.junit.Assert; +import org.junit.Test; + +/** + * @author pengys5 + */ +public class CacheSizeConfigProviderTestCase { + + @Test + public void test() { + CacheSizeConfigProvider provider = new CacheSizeConfigProvider(); + provider.cliArgs(); + + Assert.assertEquals(CacheSizeConfig.class, provider.configClass()); + } +} diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/CacheSizeConfigTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/CacheSizeConfigTestCase.java new file mode 100644 index 000000000..fba27a200 --- /dev/null +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/CacheSizeConfigTestCase.java @@ -0,0 +1,16 @@ +package com.a.eye.skywalking.collector.worker.config; + +import org.junit.Assert; +import org.junit.Test; + +/** + * @author pengys5 + */ +public class CacheSizeConfigTestCase { + + @Test + public void test() { + Assert.assertEquals(1024, CacheSizeConfig.Cache.Analysis.SIZE); + Assert.assertEquals(5000, CacheSizeConfig.Cache.Persistence.SIZE); + } +} diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/EsConfigProviderTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/EsConfigProviderTestCase.java new file mode 100644 index 000000000..05298f394 --- /dev/null +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/EsConfigProviderTestCase.java @@ -0,0 +1,30 @@ +package com.a.eye.skywalking.collector.worker.config; + +import org.junit.Assert; +import org.junit.Test; + +/** + * @author pengys5 + */ +public class EsConfigProviderTestCase { + + @Test + public void test() { + EsConfigProvider provider = new EsConfigProvider(); + + Assert.assertEquals(EsConfig.class, provider.configClass()); + + System.setProperty("es.cluster.NAME", "A"); + System.setProperty("es.cluster.NODES", "B"); + System.setProperty("es.cluster.transport.SNIFFER", "C"); + System.setProperty("es.index.shards.NUMBER", "10"); + System.setProperty("es.index.replicas.NUMBER", "20"); + provider.cliArgs(); + + Assert.assertEquals("A", EsConfig.Es.Cluster.NAME); + Assert.assertEquals("B", EsConfig.Es.Cluster.NODES); + Assert.assertEquals("C", EsConfig.Es.Cluster.Transport.SNIFFER); + Assert.assertEquals("10", EsConfig.Es.Index.Shards.NUMBER); + Assert.assertEquals("20", EsConfig.Es.Index.Replicas.NUMBER); + } +} diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/HttpConfigProviderTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/HttpConfigProviderTestCase.java new file mode 100644 index 000000000..b0677d7e0 --- /dev/null +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/HttpConfigProviderTestCase.java @@ -0,0 +1,26 @@ +package com.a.eye.skywalking.collector.worker.config; + +import org.junit.Assert; +import org.junit.Test; + +/** + * @author pengys5 + */ +public class HttpConfigProviderTestCase { + + @Test + public void test() { + HttpConfigProvider provider = new HttpConfigProvider(); + + Assert.assertEquals(HttpConfig.class, provider.configClass()); + + System.setProperty("http.HOSTNAME", "A"); + System.setProperty("http.PORT", "B"); + System.setProperty("http.CONTEXTPATH", "C"); + provider.cliArgs(); + + Assert.assertEquals("A", HttpConfig.Http.HOSTNAME); + Assert.assertEquals("B", HttpConfig.Http.PORT); + Assert.assertEquals("C", HttpConfig.Http.CONTEXTPATH); + } +} diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/HttpConfigTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/HttpConfigTestCase.java new file mode 100644 index 000000000..b086c6e43 --- /dev/null +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/HttpConfigTestCase.java @@ -0,0 +1,17 @@ +package com.a.eye.skywalking.collector.worker.config; + +import org.junit.Assert; +import org.junit.Test; + +/** + * @author pengys5 + */ +public class HttpConfigTestCase { + + @Test + public void test() { + Assert.assertEquals("", HttpConfig.Http.HOSTNAME); + Assert.assertEquals("", HttpConfig.Http.PORT); + Assert.assertEquals("", HttpConfig.Http.CONTEXTPATH); + } +} diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/WorkerConfigProviderTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/WorkerConfigProviderTestCase.java new file mode 100644 index 000000000..cb6a47b7a --- /dev/null +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/config/WorkerConfigProviderTestCase.java @@ -0,0 +1,18 @@ +package com.a.eye.skywalking.collector.worker.config; + +import org.junit.Assert; +import org.junit.Test; + +/** + * @author pengys5 + */ +public class WorkerConfigProviderTestCase { + + @Test + public void test() { + WorkerConfigProvider provider = new WorkerConfigProvider(); + provider.cliArgs(); + + Assert.assertEquals(WorkerConfig.class, provider.configClass()); + } +} diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/globaltrace/GlobalTraceIndexTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/globaltrace/GlobalTraceIndexTestCase.java index ebd960295..cc4e9dbf7 100644 --- a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/globaltrace/GlobalTraceIndexTestCase.java +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/globaltrace/GlobalTraceIndexTestCase.java @@ -20,6 +20,6 @@ public class GlobalTraceIndexTestCase { @Test public void testBuilder() throws IOException { GlobalTraceIndex index = new GlobalTraceIndex(); - Assert.assertEquals("{\"properties\":{\"subSegIds\":{\"type\":\"text\",\"index\":\"not_analyzed\"}}}", index.createMappingBuilder().string()); + Assert.assertEquals("{\"properties\":{\"subSegIds\":{\"type\":\"keyword\"}}}", index.createMappingBuilder().string()); } } diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/node/NodeCompIndexTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/node/NodeCompIndexTestCase.java index edab2511e..7a8782b0e 100644 --- a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/node/NodeCompIndexTestCase.java +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/node/NodeCompIndexTestCase.java @@ -19,6 +19,6 @@ public class NodeCompIndexTestCase { @Test public void testBuilder() throws IOException { NodeCompIndex index = new NodeCompIndex(); - Assert.assertEquals("{\"properties\":{\"name\":{\"type\":\"string\",\"index\":\"not_analyzed\"},\"peers\":{\"type\":\"string\",\"index\":\"not_analyzed\"},\"aggId\":{\"type\":\"string\",\"index\":\"not_analyzed\"}}}", index.createMappingBuilder().string()); + Assert.assertEquals("{\"properties\":{\"name\":{\"type\":\"keyword\"},\"peers\":{\"type\":\"keyword\"},\"aggId\":{\"type\":\"keyword\"}}}", index.createMappingBuilder().string()); } } diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefIndexTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefIndexTestCase.java index 3e7c2f710..2420f64d2 100644 --- a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefIndexTestCase.java +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefIndexTestCase.java @@ -21,6 +21,6 @@ public class NodeRefIndexTestCase { @Test public void testBuilder() throws IOException { NodeRefIndex index = new NodeRefIndex(); - Assert.assertEquals("{\"properties\":{\"front\":{\"type\":\"string\",\"index\":\"not_analyzed\"},\"frontIsRealCode\":{\"type\":\"boolean\",\"index\":\"not_analyzed\"},\"behind\":{\"type\":\"string\",\"index\":\"not_analyzed\"},\"behindIsRealCode\":{\"type\":\"boolean\",\"index\":\"not_analyzed\"},\"aggId\":{\"type\":\"string\",\"index\":\"not_analyzed\"},\"timeSlice\":{\"type\":\"long\",\"index\":\"not_analyzed\"}}}", index.createMappingBuilder().string()); + Assert.assertEquals("{\"properties\":{\"front\":{\"type\":\"keyword\"},\"frontIsRealCode\":{\"type\":\"boolean\",\"index\":\"not_analyzed\"},\"behind\":{\"type\":\"keyword\"},\"behindIsRealCode\":{\"type\":\"boolean\",\"index\":\"not_analyzed\"},\"aggId\":{\"type\":\"keyword\"},\"timeSlice\":{\"type\":\"long\",\"index\":\"not_analyzed\"}}}", index.createMappingBuilder().string()); } } diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefResSumIndexTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefResSumIndexTestCase.java index 5042572ca..2d0c6c4c7 100644 --- a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefResSumIndexTestCase.java +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefResSumIndexTestCase.java @@ -20,6 +20,6 @@ public class NodeRefResSumIndexTestCase { @Test public void testBuilder() throws IOException { NodeRefResSumIndex index = new NodeRefResSumIndex(); - Assert.assertEquals("{\"properties\":{\"oneSecondLess\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"threeSecondLess\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"fiveSecondLess\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"fiveSecondGreater\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"error\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"summary\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"aggId\":{\"type\":\"string\",\"index\":\"not_analyzed\"},\"timeSlice\":{\"type\":\"long\",\"index\":\"not_analyzed\"}}}", index.createMappingBuilder().string()); + Assert.assertEquals("{\"properties\":{\"oneSecondLess\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"threeSecondLess\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"fiveSecondLess\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"fiveSecondGreater\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"error\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"summary\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"aggId\":{\"type\":\"keyword\"},\"timeSlice\":{\"type\":\"long\",\"index\":\"not_analyzed\"}}}", index.createMappingBuilder().string()); } } diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/segment/SegmentCostIndexTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/segment/SegmentCostIndexTestCase.java index 3f789db30..917cd881f 100644 --- a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/segment/SegmentCostIndexTestCase.java +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/segment/SegmentCostIndexTestCase.java @@ -21,6 +21,6 @@ public class SegmentCostIndexTestCase { @Test public void testBuilder() throws IOException { SegmentCostIndex index = new SegmentCostIndex(); - Assert.assertEquals("{\"properties\":{\"segId\":{\"type\":\"string\",\"index\":\"not_analyzed\"},\"startTime\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"END_TIME\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"operationName\":{\"type\":\"string\",\"index\":\"not_analyzed\"},\"cost\":{\"type\":\"long\",\"index\":\"not_analyzed\"}}}", index.createMappingBuilder().string()); + Assert.assertEquals("{\"properties\":{\"segId\":{\"type\":\"keyword\"},\"startTime\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"END_TIME\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"operationName\":{\"type\":\"keyword\"},\"cost\":{\"type\":\"long\",\"index\":\"not_analyzed\"}}}", index.createMappingBuilder().string()); } } diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/segment/SegmentExceptionIndexTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/segment/SegmentExceptionIndexTestCase.java index 0f818cace..5a1f57ef3 100644 --- a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/segment/SegmentExceptionIndexTestCase.java +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/segment/SegmentExceptionIndexTestCase.java @@ -21,6 +21,6 @@ public class SegmentExceptionIndexTestCase { @Test public void testBuilder() throws IOException { SegmentExceptionIndex index = new SegmentExceptionIndex(); - Assert.assertEquals("{\"properties\":{\"segId\":{\"type\":\"string\",\"index\":\"not_analyzed\"},\"isError\":{\"type\":\"boolean\",\"index\":\"not_analyzed\"},\"errorKind\":{\"type\":\"string\",\"index\":\"not_analyzed\"}}}", index.createMappingBuilder().string()); + Assert.assertEquals("{\"properties\":{\"segId\":{\"type\":\"keyword\"},\"isError\":{\"type\":\"boolean\",\"index\":\"not_analyzed\"},\"errorKind\":{\"type\":\"keyword\"}}}", index.createMappingBuilder().string()); } } diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/segment/SegmentIndexTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/segment/SegmentIndexTestCase.java index 930351b7b..89c8dc229 100644 --- a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/segment/SegmentIndexTestCase.java +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/segment/SegmentIndexTestCase.java @@ -20,6 +20,6 @@ public class SegmentIndexTestCase { @Test public void testBuilder() throws IOException { SegmentIndex index = new SegmentIndex(); - Assert.assertEquals("{\"properties\":{\"traceSegmentId\":{\"type\":\"string\",\"index\":\"not_analyzed\"},\"startTime\":{\"type\":\"date\",\"index\":\"not_analyzed\"},\"endTime\":{\"type\":\"date\",\"index\":\"not_analyzed\"},\"applicationCode\":{\"type\":\"string\",\"index\":\"not_analyzed\"},\"minute\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"hour\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"day\":{\"type\":\"long\",\"index\":\"not_analyzed\"}}}", index.createMappingBuilder().string()); + Assert.assertEquals("{\"properties\":{\"traceSegmentId\":{\"type\":\"keyword\"},\"startTime\":{\"type\":\"date\",\"index\":\"not_analyzed\"},\"endTime\":{\"type\":\"date\",\"index\":\"not_analyzed\"},\"applicationCode\":{\"type\":\"keyword\"},\"minute\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"hour\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"day\":{\"type\":\"long\",\"index\":\"not_analyzed\"}}}", index.createMappingBuilder().string()); } } diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/MergeAnalysisDataTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/MergeAnalysisDataTestCase.java new file mode 100644 index 000000000..3b1df3d95 --- /dev/null +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/MergeAnalysisDataTestCase.java @@ -0,0 +1,28 @@ +package com.a.eye.skywalking.collector.worker.storage; + +import org.junit.Assert; +import org.junit.Test; + +/** + * @author pengys5 + */ +public class MergeAnalysisDataTestCase { + + @Test + public void getOrCreate() { + MergeAnalysisData mergeAnalysisData = new MergeAnalysisData(); + MergeData mergeData = mergeAnalysisData.getOrCreate("Test1"); + + MergeData mergeData_1 = mergeAnalysisData.getOrCreate("Test1"); + Assert.assertEquals(mergeData, mergeData_1); + } + + @Test + public void asMap() { + MergeAnalysisData mergeAnalysisData = new MergeAnalysisData(); + MergeData mergeData = mergeAnalysisData.getOrCreate("Test1"); + + MergeData mergeData_1 = mergeAnalysisData.asMap().get("Test1"); + Assert.assertEquals(mergeData, mergeData_1); + } +} diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/MergePersistenceWindowDataTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/MergePersistenceDataTestCase.java similarity index 53% rename from skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/MergePersistenceWindowDataTestCase.java rename to skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/MergePersistenceDataTestCase.java index b7c84ece2..4d64703f3 100644 --- a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/MergePersistenceWindowDataTestCase.java +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/MergePersistenceDataTestCase.java @@ -1,12 +1,14 @@ package com.a.eye.skywalking.collector.worker.storage; +import java.lang.reflect.Field; import org.junit.Assert; import org.junit.Test; +import org.mockito.Mockito; /** * @author pengys5 */ -public class MergePersistenceWindowDataTestCase { +public class MergePersistenceDataTestCase { @Test public void testGetElseCreate() { @@ -37,4 +39,29 @@ public class MergePersistenceWindowDataTestCase { persistenceData.getCurrentAndHold().clear(); Assert.assertEquals(0, persistenceData.getCurrentAndHold().size()); } + + @Test + public void hold() throws NoSuchFieldException, IllegalAccessException { + MergePersistenceData persistenceData = new MergePersistenceData(); + persistenceData.hold(); + + Field testAField = persistenceData.getClass().getDeclaredField("lockedWindowData"); + testAField.setAccessible(true); + WindowData windowData = (WindowData)testAField.get(persistenceData); + Assert.assertEquals(true, windowData.isHolding()); + } + + @Test + public void release() throws NoSuchFieldException, IllegalAccessException { + MergePersistenceData persistenceData = new MergePersistenceData(); + persistenceData.hold(); + + Field testAField = persistenceData.getClass().getDeclaredField("lockedWindowData"); + testAField.setAccessible(true); + WindowData windowData = (WindowData)testAField.get(persistenceData); + Assert.assertEquals(true, windowData.isHolding()); + + persistenceData.release(); + Assert.assertEquals(false, windowData.isHolding()); + } } diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/MetricAnalysisDataTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/MetricAnalysisDataTestCase.java new file mode 100644 index 000000000..171419960 --- /dev/null +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/MetricAnalysisDataTestCase.java @@ -0,0 +1,31 @@ +package com.a.eye.skywalking.collector.worker.storage; + +import com.a.eye.skywalking.collector.worker.Const; +import org.junit.Assert; +import org.junit.Test; + +/** + * @author pengys5 + */ +public class MetricAnalysisDataTestCase { + + @Test + public void getOrCreate() { + String id = "2016" + Const.ID_SPLIT + "A" + Const.ID_SPLIT + "B"; + MetricAnalysisData metricAnalysisData = new MetricAnalysisData(); + MetricData metricData = metricAnalysisData.getOrCreate(id); + + MetricData metricData_1 = metricAnalysisData.getOrCreate(id); + Assert.assertEquals(metricData, metricData_1); + } + + @Test + public void asMap() { + String id = "2016" + Const.ID_SPLIT + "A" + Const.ID_SPLIT + "B"; + MetricAnalysisData metricAnalysisData = new MetricAnalysisData(); + MetricData metricData = metricAnalysisData.getOrCreate(id); + + MetricData metricData_1 = metricAnalysisData.asMap().get(id); + Assert.assertEquals(metricData, metricData_1); + } +} diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/MetricPersistenceWindowDataTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/MetricPersistenceTestCase.java similarity index 55% rename from skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/MetricPersistenceWindowDataTestCase.java rename to skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/MetricPersistenceTestCase.java index 57d2d532c..71902f32b 100644 --- a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/MetricPersistenceWindowDataTestCase.java +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/MetricPersistenceTestCase.java @@ -1,13 +1,14 @@ package com.a.eye.skywalking.collector.worker.storage; import com.a.eye.skywalking.collector.worker.Const; +import java.lang.reflect.Field; import org.junit.Assert; import org.junit.Test; /** * @author pengys5 */ -public class MetricPersistenceWindowDataTestCase { +public class MetricPersistenceTestCase { @Test public void testGetElseCreate() { @@ -39,4 +40,29 @@ public class MetricPersistenceWindowDataTestCase { metricPersistenceData.getCurrentAndHold().clear(); Assert.assertEquals(0, metricPersistenceData.getCurrentAndHold().size()); } + + @Test + public void hold() throws NoSuchFieldException, IllegalAccessException { + MetricPersistenceData persistenceData = new MetricPersistenceData(); + persistenceData.hold(); + + Field testAField = persistenceData.getClass().getDeclaredField("lockedWindowData"); + testAField.setAccessible(true); + WindowData windowData = (WindowData)testAField.get(persistenceData); + Assert.assertEquals(true, windowData.isHolding()); + } + + @Test + public void release() throws NoSuchFieldException, IllegalAccessException { + MetricPersistenceData persistenceData = new MetricPersistenceData(); + persistenceData.hold(); + + Field testAField = persistenceData.getClass().getDeclaredField("lockedWindowData"); + testAField.setAccessible(true); + WindowData windowData = (WindowData)testAField.get(persistenceData); + Assert.assertEquals(true, windowData.isHolding()); + + persistenceData.release(); + Assert.assertEquals(false, windowData.isHolding()); + } } diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/PersistenceWorkerListenerTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/PersistenceWorkerListenerTestCase.java new file mode 100644 index 000000000..70917c360 --- /dev/null +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/PersistenceWorkerListenerTestCase.java @@ -0,0 +1,23 @@ +package com.a.eye.skywalking.collector.worker.storage; + +import com.a.eye.skywalking.collector.actor.AbstractLocalSyncWorker; +import java.util.List; +import org.junit.Assert; +import org.junit.Test; +import org.mockito.Mockito; + +/** + * @author pengys5 + */ +public class PersistenceWorkerListenerTestCase { + + @Test + public void register() { + PersistenceWorkerListener.INSTANCE.reset(); + AbstractLocalSyncWorker worker = Mockito.mock(AbstractLocalSyncWorker.class); + PersistenceWorkerListener.INSTANCE.register(worker); + + List workers = PersistenceWorkerListener.INSTANCE.getWorkers(); + Assert.assertEquals(worker, workers.get(0)); + } +} diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/RecordAnalysisDataTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/RecordAnalysisDataTestCase.java new file mode 100644 index 000000000..5438ea192 --- /dev/null +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/RecordAnalysisDataTestCase.java @@ -0,0 +1,29 @@ +package com.a.eye.skywalking.collector.worker.storage; + +import org.junit.Assert; +import org.junit.Test; + +/** + * @author pengys5 + */ +public class RecordAnalysisDataTestCase { + + @Test + public void getOrCreate() { + RecordAnalysisData recordAnalysisData = new RecordAnalysisData(); + RecordData recordData = recordAnalysisData.getOrCreate("Test1"); + + RecordData recordData_1 = recordAnalysisData.getOrCreate("Test1"); + Assert.assertEquals(recordData, recordData_1); + } + + @Test + public void asMap() { + RecordAnalysisData recordAnalysisData = new RecordAnalysisData(); + RecordData recordData = recordAnalysisData.getOrCreate("Test1"); + recordData.merge(null); + + RecordData recordData_1 = recordAnalysisData.asMap().get("Test1"); + Assert.assertEquals(recordData, recordData_1); + } +} diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/RecordPersistenceWindowDataTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/RecordPersistenceTestCase.java similarity index 58% rename from skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/RecordPersistenceWindowDataTestCase.java rename to skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/RecordPersistenceTestCase.java index 766a0eff1..e06b64b5d 100644 --- a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/RecordPersistenceWindowDataTestCase.java +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/RecordPersistenceTestCase.java @@ -2,13 +2,14 @@ package com.a.eye.skywalking.collector.worker.storage; import com.a.eye.skywalking.collector.worker.Const; import com.google.gson.JsonObject; +import java.lang.reflect.Field; import org.junit.Assert; import org.junit.Test; /** * @author pengys5 */ -public class RecordPersistenceWindowDataTestCase { +public class RecordPersistenceTestCase { @Test public void testGetElseCreate() { @@ -43,4 +44,29 @@ public class RecordPersistenceWindowDataTestCase { recordPersistenceData.getCurrentAndHold().clear(); Assert.assertEquals(0, recordPersistenceData.getCurrentAndHold().size()); } + + @Test + public void hold() throws NoSuchFieldException, IllegalAccessException { + RecordPersistenceData persistenceData = new RecordPersistenceData(); + persistenceData.hold(); + + Field testAField = persistenceData.getClass().getDeclaredField("lockedWindowData"); + testAField.setAccessible(true); + WindowData windowData = (WindowData)testAField.get(persistenceData); + Assert.assertEquals(true, windowData.isHolding()); + } + + @Test + public void release() throws NoSuchFieldException, IllegalAccessException { + RecordPersistenceData persistenceData = new RecordPersistenceData(); + persistenceData.hold(); + + Field testAField = persistenceData.getClass().getDeclaredField("lockedWindowData"); + testAField.setAccessible(true); + WindowData windowData = (WindowData)testAField.get(persistenceData); + Assert.assertEquals(true, windowData.isHolding()); + + persistenceData.release(); + Assert.assertEquals(false, windowData.isHolding()); + } } diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/SegmentDataTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/SegmentDataTestCase.java new file mode 100644 index 000000000..fb1e2b456 --- /dev/null +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/SegmentDataTestCase.java @@ -0,0 +1,21 @@ +package com.a.eye.skywalking.collector.worker.storage; + +import org.junit.Assert; +import org.junit.Test; + +/** + * @author pengys5 + */ +public class SegmentDataTestCase { + + @Test + public void test() { + SegmentData segmentData = new SegmentData("Test1"); + + segmentData.merge(null); + Assert.assertEquals("Test1", segmentData.getId()); + + segmentData.setSegmentStr("Test2"); + Assert.assertEquals("Test2", segmentData.getSegmentStr()); + } +} diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/SegmentPersistenceDataTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/SegmentPersistenceDataTestCase.java new file mode 100644 index 000000000..080d62d22 --- /dev/null +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/SegmentPersistenceDataTestCase.java @@ -0,0 +1,36 @@ +package com.a.eye.skywalking.collector.worker.storage; + +import java.lang.reflect.Field; +import org.junit.Assert; +import org.junit.Test; + +/** + * @author pengys5 + */ +public class SegmentPersistenceDataTestCase { + + @Test + public void getOrCreate() throws NoSuchFieldException, IllegalAccessException { + SegmentPersistenceData segmentPersistenceData = new SegmentPersistenceData(); + segmentPersistenceData.hold(); + SegmentData segmentData = segmentPersistenceData.getOrCreate("Test1"); + + SegmentData segmentData_1 = segmentPersistenceData.getOrCreate("Test1"); + Assert.assertEquals(segmentData, segmentData_1); + + SegmentData segmentData_2 = segmentPersistenceData.getOrCreate("Test2"); + Assert.assertEquals(2, segmentPersistenceData.size()); + + System.out.println(segmentPersistenceData.asMap().toString()); + Assert.assertEquals(segmentData, segmentPersistenceData.asMap().get("Test1")); + Assert.assertEquals(segmentData_2, segmentPersistenceData.asMap().get("Test2")); + + Field testAField = segmentPersistenceData.getClass().getDeclaredField("lockedWindowData"); + testAField.setAccessible(true); + WindowData windowData = (WindowData)testAField.get(segmentPersistenceData); + Assert.assertEquals(true, windowData.isHolding()); + + segmentPersistenceData.release(); + Assert.assertEquals(false, windowData.isHolding()); + } +} diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/WindowTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/WindowTestCase.java new file mode 100644 index 000000000..c0f20d820 --- /dev/null +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/storage/WindowTestCase.java @@ -0,0 +1,67 @@ +package com.a.eye.skywalking.collector.worker.storage; + +import java.lang.reflect.Field; +import java.util.Map; +import org.junit.Assert; +import org.junit.Test; + +/** + * @author pengys5 + */ +public class WindowTestCase { + + @Test + public void switchPointer() throws NoSuchFieldException, IllegalAccessException { + Impl impl = new Impl(); + + Field pointerField = impl.getClass().getSuperclass().getDeclaredField("pointer"); + pointerField.setAccessible(true); + WindowData pointer = (WindowData)pointerField.get(impl); + + Field windowDataAField = impl.getClass().getSuperclass().getDeclaredField("windowDataA"); + windowDataAField.setAccessible(true); + WindowData windowDataA = (WindowData)windowDataAField.get(impl); + + Field windowDataBField = impl.getClass().getSuperclass().getDeclaredField("windowDataB"); + windowDataBField.setAccessible(true); + WindowData windowDataB = (WindowData)windowDataBField.get(impl); + + Assert.assertEquals(false, windowDataA.isHolding()); + WindowData current = impl.getCurrentAndHold(); + Assert.assertEquals(current, windowDataA); + Assert.assertEquals(true, windowDataA.isHolding()); + + WindowData last = impl.getLast(); + Assert.assertEquals(last, windowDataB); + + Assert.assertEquals(pointer, windowDataA); + impl.switchPointer(); + pointer = (WindowData)pointerField.get(impl); + Assert.assertEquals(pointer, windowDataB); + + current = impl.getCurrentAndHold(); + Assert.assertEquals(current, windowDataB); + Assert.assertEquals(true, windowDataB.isHolding()); + + last = impl.getLast(); + Assert.assertEquals(last, windowDataA); + + impl.switchPointer(); + pointer = (WindowData)pointerField.get(impl); + Assert.assertEquals(pointer, windowDataA); + } + + class Impl extends Window { + + } + + class DataImpl implements Data { + @Override public String getId() { + return null; + } + + @Override public void merge(Map dbData) { + + } + } +}