From e7ec6dcc310b95a12324f6ba24ad7f68972beb79 Mon Sep 17 00:00:00 2001 From: Wu Sheng Date: Thu, 19 Jul 2018 22:52:33 +0800 Subject: [PATCH] Fix some test cases --- .../module/ApplicationConfigurationTest.java | 43 ++++++++ .../ApplicationConfigurationTestCase.java | 56 ---------- .../server/library/module/BaseModuleA.java | 14 ++- .../server/library/module/BaseModuleB.java | 12 +-- .../library/module/ModuleABusiness1Impl.java | 1 + .../library/module/ModuleABusiness2Impl.java | 1 + .../library/module/ModuleAProvider.java | 23 ++-- .../library/module/ModuleBBusiness1Impl.java | 1 + .../library/module/ModuleBBusiness2Impl.java | 1 + .../library/module/ModuleBProvider.java | 10 +- .../library/module/ModuleManagerTest.java | 43 ++++++++ .../library/module/ModuleManagerTestCase.java | 102 ------------------ .../oap/server/library/module/TestModule.java | 10 +- .../library/module/TestModuleProvider.java | 9 +- 14 files changed, 123 insertions(+), 203 deletions(-) create mode 100644 oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ApplicationConfigurationTest.java delete mode 100644 oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ApplicationConfigurationTestCase.java create mode 100644 oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleManagerTest.java delete mode 100644 oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleManagerTestCase.java diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ApplicationConfigurationTest.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ApplicationConfigurationTest.java new file mode 100644 index 000000000..7f9578248 --- /dev/null +++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ApplicationConfigurationTest.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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. + * + */ + + +package org.apache.skywalking.oap.server.library.module; + +import org.junit.Assert; +import org.junit.Test; + +import java.util.Properties; + +public class ApplicationConfigurationTest { + @Test + public void testBuildConfig() { + ApplicationConfiguration configuration = new ApplicationConfiguration(); + Properties p1 = new Properties(); + p1.setProperty("p1", "value1"); + p1.setProperty("p2", "value2"); + Properties p2 = new Properties(); + p2.setProperty("prop1", "value1-prop"); + p2.setProperty("prop2", "value2-prop"); + configuration.addModule("MO-1").addProviderConfiguration("MO-1-P1", p1).addProviderConfiguration("MO-1-P2", p2); + + Assert.assertArrayEquals(new String[] {"MO-1"}, configuration.moduleList()); + Assert.assertEquals("value2-prop", configuration.getModuleConfiguration("MO-1").getProviderConfiguration("MO-1-P2").getProperty("prop2")); + Assert.assertEquals(p1, configuration.getModuleConfiguration("MO-1").getProviderConfiguration("MO-1-P1")); + } +} diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ApplicationConfigurationTestCase.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ApplicationConfigurationTestCase.java deleted file mode 100644 index ad9a532ce..000000000 --- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ApplicationConfigurationTestCase.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - * - */ - -package org.apache.skywalking.oap.server.library.module; - -import java.util.Properties; -import org.junit.*; - -/** - * @author peng-yongsheng - */ -public class ApplicationConfigurationTestCase { - - @Test - public void test() { - ApplicationConfiguration configuration = new ApplicationConfiguration(); - Properties providerAConfig = new Properties(); - providerAConfig.setProperty("A-key1", "A-value1"); - providerAConfig.setProperty("A-key2", "A-value2"); - Properties providerBConfig = new Properties(); - providerBConfig.setProperty("B-key1", "B-value1"); - providerBConfig.setProperty("B-key2", "B-value2"); - - final String module = "Module"; - final String providerA = "ProviderA"; - final String providerB = "ProviderB"; - configuration.addModule(module) - .addProviderConfiguration(providerA, providerAConfig) - .addProviderConfiguration(providerB, providerBConfig); - - Assert.assertArrayEquals(new String[] {module}, configuration.moduleList()); - Assert.assertTrue(configuration.has(module)); - Assert.assertFalse(configuration.has("ModuleB")); - - Assert.assertTrue(configuration.getModuleConfiguration(module).has(providerA)); - Assert.assertFalse(configuration.getModuleConfiguration(module).has("ProviderC")); - - Assert.assertEquals("B-value1", configuration.getModuleConfiguration(module).getProviderConfiguration(providerB).getProperty("B-key1")); - Assert.assertEquals(providerAConfig, configuration.getModuleConfiguration(module).getProviderConfiguration(providerA)); - } -} diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/BaseModuleA.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/BaseModuleA.java index 74124a273..98cf2a298 100644 --- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/BaseModuleA.java +++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/BaseModuleA.java @@ -16,28 +16,26 @@ * */ + package org.apache.skywalking.oap.server.library.module; /** - * @author wu-sheng, peng-yongsheng + * @author wu-sheng */ public class BaseModuleA extends ModuleDefine { - - static final String NAME = "BaseModuleA"; - @Override public String name() { - return NAME; + return "BaseA"; } - @Override public Class[] services() { + @Override public Class[] services() { return new Class[] {ServiceABusiness1.class, ServiceABusiness2.class}; } - public interface ServiceABusiness1 { + public interface ServiceABusiness1 extends Service { void print(); } - public interface ServiceABusiness2 { + public interface ServiceABusiness2 extends Service { } } diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/BaseModuleB.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/BaseModuleB.java index 18a2fae48..c86408199 100644 --- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/BaseModuleB.java +++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/BaseModuleB.java @@ -16,28 +16,26 @@ * */ + package org.apache.skywalking.oap.server.library.module; /** * @author wu-sheng */ public class BaseModuleB extends ModuleDefine { - - static final String NAME = "BaseModuleB"; - @Override public String name() { - return NAME; + return "BaseB"; } - @Override public Class[] services() { + @Override public Class[] services() { return new Class[] {BaseModuleB.ServiceBBusiness1.class, BaseModuleB.ServiceBBusiness2.class}; } - public interface ServiceBBusiness1 { + public interface ServiceBBusiness1 extends Service { } - public interface ServiceBBusiness2 { + public interface ServiceBBusiness2 extends Service { } } diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleABusiness1Impl.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleABusiness1Impl.java index 793887780..5a00e546c 100644 --- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleABusiness1Impl.java +++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleABusiness1Impl.java @@ -16,6 +16,7 @@ * */ + package org.apache.skywalking.oap.server.library.module; /** diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleABusiness2Impl.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleABusiness2Impl.java index cd959579c..8fb1480d9 100644 --- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleABusiness2Impl.java +++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleABusiness2Impl.java @@ -16,6 +16,7 @@ * */ + package org.apache.skywalking.oap.server.library.module; /** diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleAProvider.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleAProvider.java index 8f3d6e4f0..dd6690baf 100644 --- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleAProvider.java +++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleAProvider.java @@ -19,23 +19,15 @@ package org.apache.skywalking.oap.server.library.module; /** - * @author wu-sheng, peng-yongsheng + * @author wu-sheng */ public class ModuleAProvider extends ModuleProvider { - - static final String NAME = "ModuleAProvider"; - - private ModuleConfig config; - @Override public String name() { - return NAME; + return "P-A"; } @Override public ModuleConfig createConfigBeanIfAbsent() { - if (config == null) { - config = new Config(); - } - return config; + return null; } @Override public Class module() { @@ -53,11 +45,10 @@ public class ModuleAProvider extends ModuleProvider { @Override public void notifyAfterCompleted() { } - public class Config { - private String host; + @Override public String[] requiredModules() { + return new String[0]; + } - public String getHost() { - return host; - } + class Config { } } diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleBBusiness1Impl.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleBBusiness1Impl.java index c2fef6d74..cc9cf3be5 100644 --- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleBBusiness1Impl.java +++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleBBusiness1Impl.java @@ -16,6 +16,7 @@ * */ + package org.apache.skywalking.oap.server.library.module; /** diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleBBusiness2Impl.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleBBusiness2Impl.java index 92551e5e6..b9ef4b283 100644 --- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleBBusiness2Impl.java +++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleBBusiness2Impl.java @@ -16,6 +16,7 @@ * */ + package org.apache.skywalking.oap.server.library.module; /** diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleBProvider.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleBProvider.java index 5bc2e61df..08e483092 100644 --- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleBProvider.java +++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleBProvider.java @@ -19,14 +19,12 @@ package org.apache.skywalking.oap.server.library.module; /** - * @author wu-sheng, peng-yongsheng + * @author wu-sheng */ public class ModuleBProvider extends ModuleProvider { - static final String NAME = "ModuleBProvider"; - @Override public String name() { - return NAME; + return "P-B"; } @Override public ModuleConfig createConfigBeanIfAbsent() { @@ -48,6 +46,10 @@ public class ModuleBProvider extends ModuleProvider { @Override public void notifyAfterCompleted() { } + @Override public String[] requiredModules() { + return new String[0]; + } + class Config { } } diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleManagerTest.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleManagerTest.java new file mode 100644 index 000000000..25bea7c14 --- /dev/null +++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleManagerTest.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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. + * + */ + +package org.apache.skywalking.oap.server.library.module; + +import org.junit.Assert; +import org.junit.Test; + +import java.util.Properties; + +/** + * @author wu-sheng + */ +public class ModuleManagerTest { + @Test + public void testInit() throws ServiceNotProvidedException, ModuleNotFoundException, ProviderNotFoundException, DuplicateProviderException, ModuleConfigException, ModuleStartException { + ApplicationConfiguration configuration = new ApplicationConfiguration(); + configuration.addModule("Test").addProviderConfiguration("TestModule-Provider", new Properties()); + configuration.addModule("BaseA").addProviderConfiguration("P-A", new Properties()); + configuration.addModule("BaseB").addProviderConfiguration("P-B", new Properties()); + + ModuleManager manager = new ModuleManager(); + manager.init(configuration); + + BaseModuleA.ServiceABusiness1 serviceABusiness1 = manager.find("BaseA").provider().getService(BaseModuleA.ServiceABusiness1.class); + Assert.assertTrue(serviceABusiness1 != null); + } +} diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleManagerTestCase.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleManagerTestCase.java deleted file mode 100644 index 45216fd4f..000000000 --- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleManagerTestCase.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - * - */ - -package org.apache.skywalking.oap.server.library.module; - -import java.util.Properties; -import org.junit.*; - -/** - * @author peng-yongsheng - */ -public class ModuleManagerTestCase { - - private ApplicationConfiguration configuration; - - @Before - public void init() { - Properties providerAConfig = new Properties(); - providerAConfig.setProperty("host", "oap"); - providerAConfig.setProperty("A-key1", "A-value1"); - providerAConfig.setProperty("A-key2", "A-value2"); - - configuration = new ApplicationConfiguration(); - configuration.addModule(TestModule.NAME).addProviderConfiguration(TestModuleProvider.NAME, new Properties()); - configuration.addModule(BaseModuleA.NAME).addProviderConfiguration(ModuleAProvider.NAME, providerAConfig); - configuration.addModule(BaseModuleB.NAME).addProviderConfiguration(ModuleBProvider.NAME, new Properties()); - } - - @Test - public void testHas() throws ModuleNotFoundException, ModuleConfigException, ServiceNotProvidedException, ProviderNotFoundException, ModuleStartException, DuplicateProviderException { -// ModuleManager manager = new ModuleManager(); -// manager.init(configuration); -// -// Assert.assertTrue(manager.has(TestModule.NAME)); -// Assert.assertTrue(manager.has(BaseModuleA.NAME)); -// Assert.assertTrue(manager.has(BaseModuleB.NAME)); -// -// Assert.assertFalse(manager.has("Undefined")); - } - - @Test - public void testFind() throws ModuleNotFoundException, ModuleConfigException, ServiceNotProvidedException, ProviderNotFoundException, ModuleStartException, DuplicateProviderException { -// ModuleManager manager = new ModuleManager(); -// manager.init(configuration); -// -// try { -// manager.find("Undefined"); -// } catch (ModuleNotFoundRuntimeException e) { -// Assert.assertEquals("Undefined missing.", e.getMessage()); -// } - } - - @Test - public void testInit() throws ServiceNotProvidedException, DuplicateProviderException, ModuleConfigException, ModuleNotFoundException, ProviderNotFoundException, ModuleStartException { -// ModuleManager manager = new ModuleManager(); -// manager.init(configuration); -// BaseModuleA.ServiceABusiness1 serviceABusiness1 = manager.find(BaseModuleA.NAME).provider().getService(BaseModuleA.ServiceABusiness1.class); -// Assert.assertNotNull(serviceABusiness1); -// -// ModuleAProvider.Config config = (ModuleAProvider.Config)manager.find(BaseModuleA.NAME).provider().createConfigBeanIfAbsent(); -// Assert.assertEquals("oap", config.getHost()); - } - - @Test - public void testAssertPreparedStage() { -// ModuleManager manager = new ModuleManager(); -// -// try { -// manager.find("Undefined"); -// } catch (AssertionError e) { -// Assert.assertEquals("Still in preparing stage.", e.getMessage()); -// } - } - - @Test - public void testEmptyConfig() throws ModuleConfigException, ServiceNotProvidedException, ProviderNotFoundException, ModuleStartException, DuplicateProviderException { -// configuration.addModule("Undefined").addProviderConfiguration("Undefined", new Properties()); -// -// ModuleManager manager = new ModuleManager(); -// -// try { -// manager.init(configuration); -// } catch (ModuleNotFoundException e) { -// Assert.assertEquals("[Undefined] missing.", e.getMessage()); -// } - } -} diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/TestModule.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/TestModule.java index 76addedb3..f2b325d36 100644 --- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/TestModule.java +++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/TestModule.java @@ -16,20 +16,18 @@ * */ + package org.apache.skywalking.oap.server.library.module; /** - * @author wu-sheng, peng-yongsheng + * @author wu-sheng */ public class TestModule extends ModuleDefine { - - static final String NAME = "TestModule"; - @Override public String name() { - return NAME; + return "Test"; } - @Override public Class[] services() { + @Override public Class[] services() { return new Class[0]; } } diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/TestModuleProvider.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/TestModuleProvider.java index ecbc3802e..03b59b416 100644 --- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/TestModuleProvider.java +++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/TestModuleProvider.java @@ -22,11 +22,8 @@ package org.apache.skywalking.oap.server.library.module; * @author wu-sheng */ public class TestModuleProvider extends ModuleProvider { - - static final String NAME = "TestModuleProvider"; - @Override public String name() { - return NAME; + return "TestModule-Provider"; } @Override public Class module() { @@ -46,6 +43,10 @@ public class TestModuleProvider extends ModuleProvider { @Override public void notifyAfterCompleted() { } + @Override public String[] requiredModules() { + return new String[] {"BaseA", "BaseB"}; + } + class Config { } }