diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-06-15 23:09:44 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-06-15 23:09:44 +0200 |
commit | 72231250ed81e10d66bfe70701e64fa5fe50f712 (patch) | |
tree | 2728bba1131a6f6e5bdf95afec7d7ff9358dac50 /container-messagebus/src/test/java/com |
Publish
Diffstat (limited to 'container-messagebus/src/test/java/com')
2 files changed, 150 insertions, 0 deletions
diff --git a/container-messagebus/src/test/java/com/yahoo/container/jdisc/messagebus/MbusClientProviderTest.java b/container-messagebus/src/test/java/com/yahoo/container/jdisc/messagebus/MbusClientProviderTest.java new file mode 100644 index 00000000000..86ad759e2db --- /dev/null +++ b/container-messagebus/src/test/java/com/yahoo/container/jdisc/messagebus/MbusClientProviderTest.java @@ -0,0 +1,37 @@ +// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.container.jdisc.messagebus; + +import com.yahoo.container.jdisc.config.SessionConfig; +import com.yahoo.container.jdisc.messagebus.MbusClientProvider; +import com.yahoo.container.jdisc.messagebus.SessionCache; +import org.junit.Test; + +import static org.junit.Assert.assertNotNull; + +/** + * @author lulf + * @since 5.1 + */ +public class MbusClientProviderTest { + @Test + public void testIntermediateClient() { + SessionConfig.Builder builder = new SessionConfig.Builder(); + builder.name("foo"); + builder.type(SessionConfig.Type.Enum.INTERMEDIATE); + testClient(new SessionConfig(builder)); + } + + @Test + public void testSourceClient() { + SessionConfig.Builder builder = new SessionConfig.Builder(); + builder.name("foo"); + builder.type(SessionConfig.Type.Enum.SOURCE); + testClient(new SessionConfig(builder)); + } + + private void testClient(SessionConfig config) { + MbusClientProvider p = new MbusClientProvider(new SessionCache("dir:src/test/resources/config/clientprovider"), config); + assertNotNull(p.get()); + p.deconstruct(); + } +} diff --git a/container-messagebus/src/test/java/com/yahoo/container/jdisc/messagebus/MbusSessionKeyTestCase.java b/container-messagebus/src/test/java/com/yahoo/container/jdisc/messagebus/MbusSessionKeyTestCase.java new file mode 100644 index 00000000000..05336e0416b --- /dev/null +++ b/container-messagebus/src/test/java/com/yahoo/container/jdisc/messagebus/MbusSessionKeyTestCase.java @@ -0,0 +1,113 @@ +// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.container.jdisc.messagebus; + +import com.yahoo.container.jdisc.messagebus.SessionCache.DynamicThrottlePolicySignature; +import com.yahoo.container.jdisc.messagebus.SessionCache.SourceSessionKey; +import com.yahoo.container.jdisc.messagebus.SessionCache.StaticThrottlePolicySignature; +import com.yahoo.container.jdisc.messagebus.SessionCache.UnknownThrottlePolicySignature; +import com.yahoo.messagebus.DynamicThrottlePolicy; +import com.yahoo.messagebus.SourceSessionParams; +import com.yahoo.messagebus.StaticThrottlePolicy; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +/** + * Check the completeness of the mbus session key classes. + * + * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a> + */ +public class MbusSessionKeyTestCase { + + @Test + public final void staticThrottlePolicySignature() { + final StaticThrottlePolicy base = new StaticThrottlePolicy(); + final StaticThrottlePolicy other = new StaticThrottlePolicy(); + other.setMaxPendingCount(500); + other.setMaxPendingSize(500 * 1000 * 1000); + base.setMaxPendingCount(1); + base.setMaxPendingSize(1000); + final StaticThrottlePolicySignature sigBase = new StaticThrottlePolicySignature( + base); + final StaticThrottlePolicySignature sigOther = new StaticThrottlePolicySignature( + other); + assertFalse("The policies are different, but signatures are equal.", + sigBase.equals(sigOther)); + assertTrue("Sigs created from same policy evaluated as different.", + sigBase.equals(new StaticThrottlePolicySignature(base))); + other.setMaxPendingCount(1); + other.setMaxPendingSize(1000); + assertTrue( + "Sigs created from different policies with same settings evaluated as different.", + sigBase.equals(new StaticThrottlePolicySignature(other))); + + } + + @Test + public final void dynamicThrottlePolicySignature() { + final DynamicThrottlePolicy base = new DynamicThrottlePolicy(); + final DynamicThrottlePolicy other = new DynamicThrottlePolicy(); + base.setEfficiencyThreshold(5); + base.setMaxPendingCount(3); + base.setMaxPendingSize(3 * 100); + base.setMaxThroughput(1e6); + base.setMaxWindowSize(1e9); + base.setMinWindowSize(1e5); + base.setWeight(1.0); + base.setWindowSizeBackOff(.6); + base.setWindowSizeIncrement(500); + other.setEfficiencyThreshold(5 + 1); + other.setMaxPendingCount(3 + 1); + other.setMaxPendingSize(3 * 100 + 1); + other.setMaxThroughput(1e6 + 1); + other.setMaxWindowSize(1e9 + 1); + other.setMinWindowSize(1e5 + 1); + other.setWeight(1.0 + 1); + other.setWindowSizeBackOff(.6 + 1); + other.setWindowSizeIncrement(500 + 1); + final DynamicThrottlePolicySignature sigBase = new DynamicThrottlePolicySignature( + base); + final DynamicThrottlePolicySignature sigOther = new DynamicThrottlePolicySignature( + other); + assertFalse("The policies are different, but signatures are equal.", + sigBase.equals(sigOther)); + assertTrue("Sigs created from same policy evaluated as different.", + sigBase.equals(new DynamicThrottlePolicySignature(base))); + other.setEfficiencyThreshold(5); + other.setMaxPendingCount(3); + other.setMaxPendingSize(3 * 100); + other.setMaxThroughput(1e6); + other.setMaxWindowSize(1e9); + other.setMinWindowSize(1e5); + other.setWeight(1.0); + other.setWindowSizeBackOff(.6); + other.setWindowSizeIncrement(500); + assertTrue( + "Sigs created from different policies with same settings evaluated as different.", + sigBase.equals(new DynamicThrottlePolicySignature(other))); + } + + @Test + public final void unknownThrottlePolicySignature() { + final UnknownThrottlePolicySignature baseSig = new UnknownThrottlePolicySignature( + new StaticThrottlePolicy()); + final UnknownThrottlePolicySignature otherSig = new UnknownThrottlePolicySignature( + new StaticThrottlePolicy()); + assertEquals(baseSig, baseSig); + assertFalse(otherSig.equals(baseSig)); + } + + // TODO the session key tests are just smoke tests + + @Test + public final void sourceSessionKey() { + final SourceSessionParams base = new SourceSessionParams(); + final SourceSessionParams other = new SourceSessionParams(); + assertEquals(new SourceSessionKey(base), new SourceSessionKey(other)); + other.setTimeout(other.getTimeout() + 1); + assertFalse(new SourceSessionKey(base).equals(new SourceSessionKey( + other))); + } +} |