From 70086eed108d4aedbe1c00c9506672a8ab4cba20 Mon Sep 17 00:00:00 2001 From: "damon.zhu" Date: Fri, 12 Apr 2013 13:38:54 +0800 Subject: [PATCH] Refactor the code --- .../dianping/cat/abtest/spi/ABTestEntity.java | 58 +++++++++----- .../abtest/spi/internal/ABTestVisitor.java | 26 ------ .../internal/DefaultABTestEntityManager.java | 25 +++++- .../build/ABTestComponentConfigurator.java | 4 - .../resources/META-INF/plexus/components.xml | 5 -- .../com/dianping/cat/abtest/ABTestServer.java | 46 ----------- .../abtest/demo/roundrobin/ABTestServer.java | 80 +++++++++++++++++++ .../roundrobin/ABTestServerConfigurator.java | 29 +++++++ .../roundrobin}/RoundRobinGroupStrategy.java | 14 +++- .../roundrobin/SimpleRoundRobinServlet.java} | 21 ++--- .../DefaultABTestEntityManagerTest.java | 66 ++++++++------- .../abtest/roundrobin/WEB-INF/web.xml | 6 ++ .../abtest/demo/roundrobin/ABTestServer.xml | 9 +++ .../cat/abtest/spi/internal/abtest.xml | 2 +- 14 files changed, 244 insertions(+), 147 deletions(-) delete mode 100644 cat-core/src/main/java/com/dianping/cat/abtest/spi/internal/ABTestVisitor.java delete mode 100644 cat-core/src/test/java/com/dianping/cat/abtest/ABTestServer.java create mode 100644 cat-core/src/test/java/com/dianping/cat/abtest/demo/roundrobin/ABTestServer.java create mode 100644 cat-core/src/test/java/com/dianping/cat/abtest/demo/roundrobin/ABTestServerConfigurator.java rename cat-core/src/{main/java/com/dianping/cat/abtest/spi => test/java/com/dianping/cat/abtest/demo/roundrobin}/RoundRobinGroupStrategy.java (52%) rename cat-core/src/test/java/com/dianping/cat/abtest/{SimpleRoundRobinWebPage.java => demo/roundrobin/SimpleRoundRobinServlet.java} (56%) create mode 100755 cat-core/src/test/resources/abtest/roundrobin/WEB-INF/web.xml create mode 100644 cat-core/src/test/resources/com/dianping/cat/abtest/demo/roundrobin/ABTestServer.xml diff --git a/cat-core/src/main/java/com/dianping/cat/abtest/spi/ABTestEntity.java b/cat-core/src/main/java/com/dianping/cat/abtest/spi/ABTestEntity.java index fff247328..bb44e9fa9 100644 --- a/cat-core/src/main/java/com/dianping/cat/abtest/spi/ABTestEntity.java +++ b/cat-core/src/main/java/com/dianping/cat/abtest/spi/ABTestEntity.java @@ -5,46 +5,45 @@ import java.util.Date; import com.dianping.cat.abtest.model.entity.Entity; public class ABTestEntity { - - private Entity entity; + private Entity m_entity; public ABTestEntity() { - this.entity = new Entity(); + m_entity = new Entity(); } public ABTestEntity(Entity entity) { - this.entity = entity; + m_entity = entity; } public String getGroupStrategy() { - return entity.getGroupStrategy().getName(); + return m_entity.getGroupStrategy().getName(); } public String getGroupStrategyConfiguration() { - return entity.getGroupStrategy().getConfiguration(); + return m_entity.getGroupStrategy().getConfiguration(); } public int getId() { - return entity.getId(); + return m_entity.getId(); } public String getName() { - return entity.getName(); + return m_entity.getName(); } public boolean isEligible(Date date) { - if (entity.getDisabled()) { + if (m_entity.getDisabled()) { return false; } - Date startDate = entity.getStartDate(); + Date startDate = m_entity.getStartDate(); if (startDate != null) { if (date.before(startDate)) { return false; } } - Date endDate = entity.getEndDate(); + Date endDate = m_entity.getEndDate(); if (endDate != null) { if (date.after(endDate)) { return false; @@ -55,32 +54,55 @@ public class ABTestEntity { } public boolean isDisabled() { - return entity.isDisabled(); + return m_entity.isDisabled(); } public void setDisabled(boolean disabled) { - entity.setDisabled(disabled); + m_entity.setDisabled(disabled); } public void setGroupStrategy(String groupStrategy) { - entity.getGroupStrategy().setName(groupStrategy); + m_entity.getGroupStrategy().setName(groupStrategy); } public void setGroupStrategyConfiguration(String groupStrategyConfiguration) { - entity.getGroupStrategy().setConfiguration(groupStrategyConfiguration); + m_entity.getGroupStrategy().setConfiguration(groupStrategyConfiguration); } public void setId(int id) { - entity.setId(id); + m_entity.setId(id); } public void setName(String name) { - entity.setName(name); + m_entity.setName(name); } @Override public String toString() { - return "ABTestEntity [entity=" + entity + "]"; + return String.format("%s[id=%s, name=%s, groupStrategy=%s, configuation=%s]", getClass().getSimpleName(), + getId(), getName(), getGroupStrategy(), getGroupStrategyConfiguration()); + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + getId(); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + ABTestEntity other = (ABTestEntity) obj; + if (getId() != other.getId()) + return false; + return true; } } diff --git a/cat-core/src/main/java/com/dianping/cat/abtest/spi/internal/ABTestVisitor.java b/cat-core/src/main/java/com/dianping/cat/abtest/spi/internal/ABTestVisitor.java deleted file mode 100644 index e20f0b9c5..000000000 --- a/cat-core/src/main/java/com/dianping/cat/abtest/spi/internal/ABTestVisitor.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.dianping.cat.abtest.spi.internal; - -import java.util.HashMap; -import java.util.Map; - -import com.dianping.cat.abtest.model.entity.Entity; -import com.dianping.cat.abtest.model.transform.BaseVisitor; -import com.dianping.cat.abtest.spi.ABTestEntity; - -public class ABTestVisitor extends BaseVisitor { - - private Map m_entities = new HashMap(); - - @Override - public void visitEntity(Entity entity) { - if (entity != null) { - ABTestEntity abTestEntity = new ABTestEntity(entity); - m_entities.put(abTestEntity.getId(), abTestEntity); - } - } - - public Map getABTestEntitys() { - return m_entities; - } - -} diff --git a/cat-core/src/main/java/com/dianping/cat/abtest/spi/internal/DefaultABTestEntityManager.java b/cat-core/src/main/java/com/dianping/cat/abtest/spi/internal/DefaultABTestEntityManager.java index 882eb1557..008f35219 100644 --- a/cat-core/src/main/java/com/dianping/cat/abtest/spi/internal/DefaultABTestEntityManager.java +++ b/cat-core/src/main/java/com/dianping/cat/abtest/spi/internal/DefaultABTestEntityManager.java @@ -1,6 +1,7 @@ package com.dianping.cat.abtest.spi.internal; import java.io.InputStream; +import java.util.HashMap; import java.util.Map; import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable; @@ -8,12 +9,14 @@ import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationExce import com.dianping.cat.abtest.ABTestId; import com.dianping.cat.abtest.model.entity.Abtest; +import com.dianping.cat.abtest.model.entity.Entity; +import com.dianping.cat.abtest.model.transform.BaseVisitor; import com.dianping.cat.abtest.model.transform.DefaultSaxParser; import com.dianping.cat.abtest.spi.ABTestEntity; import com.dianping.cat.abtest.spi.ABTestEntityManager; public class DefaultABTestEntityManager implements ABTestEntityManager, Initializable { - private Map m_entities; + private Map m_entities = new HashMap(); @Override public ABTestEntity getEntity(ABTestId id) { @@ -22,6 +25,7 @@ public class DefaultABTestEntityManager implements ABTestEntityManager, Initiali if (entity == null) { entity = new ABTestEntity(); entity.setDisabled(true); + m_entities.put(id.getValue(), entity); } @@ -33,13 +37,26 @@ public class DefaultABTestEntityManager implements ABTestEntityManager, Initiali try { InputStream in = getClass().getResourceAsStream("abtest.xml"); Abtest abtest = DefaultSaxParser.parse(in); - ABTestVisitor visitor = new ABTestVisitor(); - abtest.accept(visitor); - m_entities = visitor.getABTestEntitys(); + ABTestVisitor visitor = new ABTestVisitor(m_entities); + abtest.accept(visitor); } catch (Exception e) { throw new InitializationException("Error when loading resource(abtest.xml)", e); } } + static class ABTestVisitor extends BaseVisitor { + private Map m_entities; + + public ABTestVisitor(Map entities) { + m_entities = entities; + } + + @Override + public void visitEntity(Entity entity) { + ABTestEntity abTestEntity = new ABTestEntity(entity); + + m_entities.put(abTestEntity.getId(), abTestEntity); + } + } } diff --git a/cat-core/src/main/java/com/dianping/cat/build/ABTestComponentConfigurator.java b/cat-core/src/main/java/com/dianping/cat/build/ABTestComponentConfigurator.java index 8da160dcc..fa1c3e5a3 100644 --- a/cat-core/src/main/java/com/dianping/cat/build/ABTestComponentConfigurator.java +++ b/cat-core/src/main/java/com/dianping/cat/build/ABTestComponentConfigurator.java @@ -8,8 +8,6 @@ import org.unidal.lookup.configuration.Component; import com.dianping.cat.abtest.spi.ABTestContextManager; import com.dianping.cat.abtest.spi.ABTestEntityManager; -import com.dianping.cat.abtest.spi.ABTestGroupStrategy; -import com.dianping.cat.abtest.spi.RoundRobinGroupStrategy; import com.dianping.cat.abtest.spi.internal.DefaultABTestContextManager; import com.dianping.cat.abtest.spi.internal.DefaultABTestEntityManager; @@ -22,8 +20,6 @@ class ABTestComponentConfigurator extends AbstractResourceConfigurator { .req(ABTestEntityManager.class)); all.add(C(ABTestEntityManager.class, DefaultABTestEntityManager.class)); - - all.add(C(ABTestGroupStrategy.class,"roundrobin",RoundRobinGroupStrategy.class)); return all; } diff --git a/cat-core/src/main/resources/META-INF/plexus/components.xml b/cat-core/src/main/resources/META-INF/plexus/components.xml index a428e8449..4042c53cd 100644 --- a/cat-core/src/main/resources/META-INF/plexus/components.xml +++ b/cat-core/src/main/resources/META-INF/plexus/components.xml @@ -315,10 +315,5 @@ com.dianping.cat.abtest.spi.ABTestEntityManager com.dianping.cat.abtest.spi.internal.DefaultABTestEntityManager - - com.dianping.cat.abtest.spi.ABTestGroupStrategy - roundrobin - com.dianping.cat.abtest.spi.RoundRobinGroupStrategy - diff --git a/cat-core/src/test/java/com/dianping/cat/abtest/ABTestServer.java b/cat-core/src/test/java/com/dianping/cat/abtest/ABTestServer.java deleted file mode 100644 index a492048a9..000000000 --- a/cat-core/src/test/java/com/dianping/cat/abtest/ABTestServer.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.dianping.cat.abtest; - -import java.io.File; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.JUnit4; -import org.mortbay.jetty.Handler; -import org.mortbay.jetty.Server; -import org.mortbay.jetty.servlet.Context; -import org.mortbay.jetty.servlet.ServletHolder; -import org.unidal.test.jetty.JettyServer; - -import com.dianping.cat.Cat; -import com.dianping.cat.servlet.CatFilter; - -@RunWith(JUnit4.class) -public class ABTestServer extends JettyServer { - - @Test - public void startWebApp() throws Exception { - File file = new File("/data/appdatas/cat/client.xml"); - Cat.initialize(file); - - Server server = new Server(getServerPort()); - Context root = new Context(server, "/", Context.SESSIONS); - root.addFilter(CatFilter.class, "/*", Handler.REQUEST | Handler.FORWARD); - root.addServlet(new ServletHolder(SimpleRoundRobinWebPage.class), "/abtest"); - server.start(); - // open the page in the default browser - display("/abtest"); - waitForAnyKey(); - } - - @Override - protected int getServerPort() { - return 8081; - } - - @Override - protected String getContextPath() { - // TODO Auto-generated method stub - return null; - } - -} diff --git a/cat-core/src/test/java/com/dianping/cat/abtest/demo/roundrobin/ABTestServer.java b/cat-core/src/test/java/com/dianping/cat/abtest/demo/roundrobin/ABTestServer.java new file mode 100644 index 000000000..e525665dc --- /dev/null +++ b/cat-core/src/test/java/com/dianping/cat/abtest/demo/roundrobin/ABTestServer.java @@ -0,0 +1,80 @@ +package com.dianping.cat.abtest.demo.roundrobin; + +import java.io.File; +import java.util.HashMap; + +import org.codehaus.plexus.DefaultContainerConfiguration; +import org.codehaus.plexus.PlexusContainer; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; +import org.mortbay.jetty.Handler; +import org.mortbay.jetty.servlet.ServletHolder; +import org.mortbay.jetty.webapp.WebAppContext; +import org.unidal.lookup.ContainerLoader; +import org.unidal.test.jetty.JettyServer; + +import com.dianping.cat.Cat; +import com.dianping.cat.servlet.CatFilter; + +@RunWith(JUnit4.class) +public class ABTestServer extends JettyServer { + public static void main(String[] args) throws Exception { + ABTestServer server = new ABTestServer(); + System.setProperty("devMode", "true"); + server.setupContainer(); + server.startServer(); + server.startWebApp(); + server.stopServer(); + } + + @Override + protected File getWarRoot() { + String path = getClass().getResource("/abtest/roundrobin").getPath(); + + return new File(path); + } + + @Before + public void before() throws Exception { + setupContainer(); + + System.setProperty("devMode", "true"); + super.startServer(); + } + + private void setupContainer() { + DefaultContainerConfiguration configuration = new DefaultContainerConfiguration(); + String defaultConfigurationName = getClass().getName().replace('.', '/') + ".xml"; + + configuration.setName("test").setContext(new HashMap()); + configuration.setContainerConfiguration(defaultConfigurationName); + PlexusContainer container = ContainerLoader.getDefaultContainer(configuration); + + Cat.initialize(container, null); + } + + @Override + protected String getContextPath() { + return "/abtest"; + } + + @Override + protected int getServerPort() { + return 8081; + } + + @Override + protected void postConfigure(WebAppContext context) { + context.addFilter(CatFilter.class, "/*", Handler.REQUEST | Handler.FORWARD); + context.addServlet(new ServletHolder(SimpleRoundRobinServlet.class), "/roundrobin/*"); + } + + @Test + public void startWebApp() throws Exception { + // open the page in the default browser + display("/abtest/roundrobin"); + waitForAnyKey(); + } +} diff --git a/cat-core/src/test/java/com/dianping/cat/abtest/demo/roundrobin/ABTestServerConfigurator.java b/cat-core/src/test/java/com/dianping/cat/abtest/demo/roundrobin/ABTestServerConfigurator.java new file mode 100644 index 000000000..b155d3342 --- /dev/null +++ b/cat-core/src/test/java/com/dianping/cat/abtest/demo/roundrobin/ABTestServerConfigurator.java @@ -0,0 +1,29 @@ +package com.dianping.cat.abtest.demo.roundrobin; + +import java.util.ArrayList; +import java.util.List; + +import org.unidal.lookup.configuration.AbstractResourceConfigurator; +import org.unidal.lookup.configuration.Component; + +import com.dianping.cat.abtest.spi.ABTestGroupStrategy; + +public class ABTestServerConfigurator extends AbstractResourceConfigurator { + @Override + public List defineComponents() { + List all = new ArrayList(); + + all.add(C(ABTestGroupStrategy.class, "roundrobin", RoundRobinGroupStrategy.class)); + + return all; + } + + @Override + protected Class getTestClass() { + return ABTestServer.class; + } + + public static void main(String[] args) { + generatePlexusComponentsXmlFile(new ABTestServerConfigurator()); + } +} diff --git a/cat-core/src/main/java/com/dianping/cat/abtest/spi/RoundRobinGroupStrategy.java b/cat-core/src/test/java/com/dianping/cat/abtest/demo/roundrobin/RoundRobinGroupStrategy.java similarity index 52% rename from cat-core/src/main/java/com/dianping/cat/abtest/spi/RoundRobinGroupStrategy.java rename to cat-core/src/test/java/com/dianping/cat/abtest/demo/roundrobin/RoundRobinGroupStrategy.java index ee0e7a890..78f53e6a6 100644 --- a/cat-core/src/main/java/com/dianping/cat/abtest/spi/RoundRobinGroupStrategy.java +++ b/cat-core/src/test/java/com/dianping/cat/abtest/demo/roundrobin/RoundRobinGroupStrategy.java @@ -1,17 +1,23 @@ -package com.dianping.cat.abtest.spi; +package com.dianping.cat.abtest.demo.roundrobin; import java.util.concurrent.atomic.AtomicInteger; -public class RoundRobinGroupStrategy implements ABTestGroupStrategy { +import com.dianping.cat.abtest.spi.ABTestContext; +import com.dianping.cat.abtest.spi.ABTestGroupStrategy; +public class RoundRobinGroupStrategy implements ABTestGroupStrategy { private AtomicInteger m_pvCounter = new AtomicInteger(); @Override public void apply(ABTestContext ctx) { - if (m_pvCounter.incrementAndGet() % 2 == 0) { + int value = m_pvCounter.incrementAndGet(); + + if (value % 3 == 0) { ctx.setGroupName("A"); - } else { + } else if (value % 3 == 1) { ctx.setGroupName("B"); + } else { + // do nothing } } } diff --git a/cat-core/src/test/java/com/dianping/cat/abtest/SimpleRoundRobinWebPage.java b/cat-core/src/test/java/com/dianping/cat/abtest/demo/roundrobin/SimpleRoundRobinServlet.java similarity index 56% rename from cat-core/src/test/java/com/dianping/cat/abtest/SimpleRoundRobinWebPage.java rename to cat-core/src/test/java/com/dianping/cat/abtest/demo/roundrobin/SimpleRoundRobinServlet.java index 3ffc68320..acac809d4 100644 --- a/cat-core/src/test/java/com/dianping/cat/abtest/SimpleRoundRobinWebPage.java +++ b/cat-core/src/test/java/com/dianping/cat/abtest/demo/roundrobin/SimpleRoundRobinServlet.java @@ -1,4 +1,4 @@ -package com.dianping.cat.abtest; +package com.dianping.cat.abtest.demo.roundrobin; import java.io.IOException; @@ -7,22 +7,23 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.dianping.cat.abtest.ABTest; +import com.dianping.cat.abtest.ABTestManager; import com.dianping.cat.abtest.sample.SampleTest.MyABTestId; -public class SimpleRoundRobinWebPage extends HttpServlet { - /** - * - */ - private static final long serialVersionUID = -6472784609174835547L; +public class SimpleRoundRobinServlet extends HttpServlet { + private static final long serialVersionUID = -6472784609174835547L; - public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - ABTest abtest = ABTestManager.getTest(MyABTestId.CASE1); - if (abtest.isGroupA()) { + private ABTest m_abtest = ABTestManager.getTest(MyABTestId.CASE1); + + @Override + public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + if (m_abtest.isGroupA()) { String a = "This is group A"; byte[] aByte = a.getBytes(); response.getOutputStream().write(aByte); // Cat.logMetric(...); - } else if (abtest.isGroupB()) { + } else if (m_abtest.isGroupB()) { String b = "This is group B"; byte[] bByte = b.getBytes(); response.getOutputStream().write(bByte); diff --git a/cat-core/src/test/java/com/dianping/cat/abtest/spi/internal/DefaultABTestEntityManagerTest.java b/cat-core/src/test/java/com/dianping/cat/abtest/spi/internal/DefaultABTestEntityManagerTest.java index 4e437769f..7b5534132 100644 --- a/cat-core/src/test/java/com/dianping/cat/abtest/spi/internal/DefaultABTestEntityManagerTest.java +++ b/cat-core/src/test/java/com/dianping/cat/abtest/spi/internal/DefaultABTestEntityManagerTest.java @@ -1,6 +1,6 @@ package com.dianping.cat.abtest.spi.internal; -import java.util.Calendar; +import java.text.SimpleDateFormat; import java.util.Date; import junit.framework.Assert; @@ -14,40 +14,48 @@ import com.dianping.cat.abtest.spi.ABTestEntityManager; public class DefaultABTestEntityManagerTest extends ComponentTestCase { + private static final String PATTERN = "yyyy-MM-dd hh:mm:ss"; + @Test public void testGetEntity() throws Exception { - ABTestEntityManager abTestEntityManager = lookup(ABTestEntityManager.class); - // 获取不到entity的情况 - ABTestId id = new ABTestId() { - @Override - public int getValue() { - return -1; - } - }; - ABTestEntity entity = abTestEntityManager.getEntity(id); - Assert.assertNotNull(entity); - Assert.assertEquals(entity.getId(), 0); - Assert.assertEquals(entity.isDisabled(), true); - // 获取具体的entity - id = new ABTestId() { + checkEntity(-1, null, null, null, null, false, true); + checkEntity(1001, "Mock1", "roundrobin", "This is the configuration", "2012-01-01 00:00:00", false, false); + checkEntity(1001, "Mock1", "roundrobin", "This is the configuration", "2013-04-10 18:00:00", true, false); + } + + private void checkEntity(final int id, String expectedEntityName, String expectedGroupStrategy, + String expectedGroupStrategyConfiguration, String expectedDateStr, boolean expectedEligible, + boolean expectedDisabled) throws Exception { + ABTestEntityManager manager = lookup(ABTestEntityManager.class); + ABTestId testId = new ABTestId() { @Override public int getValue() { - return 1001; + return id; } }; - entity = abTestEntityManager.getEntity(id); + ABTestEntity entity = manager.getEntity(testId); + Assert.assertNotNull(entity); - Assert.assertEquals(entity.getId(), id.getValue()); - Assert.assertEquals(entity.getGroupStrategy(), "mock"); - Assert.assertEquals(entity.getGroupStrategyConfiguration(), "This is the configuration"); - Assert.assertEquals(entity.getName(), "Mock1"); - Assert.assertEquals(entity.isDisabled(), false); - Calendar cal = Calendar.getInstance(); - cal.set(2013, 0, 1, 0, 0, 0); - Date date = cal.getTime(); - Assert.assertEquals(entity.isEligible(date), false); - cal.set(2013, 3, 10, 17, 1, 0); - date = cal.getTime(); - Assert.assertEquals(entity.isEligible(date), true); + + Assert.assertEquals(id < 0 ? 0 : id, entity.getId()); + + if (expectedGroupStrategy != null) { + Assert.assertEquals(expectedGroupStrategy, entity.getGroupStrategy()); + } + + if (expectedGroupStrategy != null) { + Assert.assertEquals(expectedGroupStrategyConfiguration, entity.getGroupStrategyConfiguration()); + } + + Assert.assertEquals(expectedEntityName, entity.getName()); + + if (expectedDateStr != null) { + SimpleDateFormat sdf = new SimpleDateFormat(PATTERN); + Date date = sdf.parse(expectedDateStr); + Assert.assertEquals(expectedEligible, entity.isEligible(date)); + } + + Assert.assertEquals(expectedDisabled, entity.isDisabled()); + } } diff --git a/cat-core/src/test/resources/abtest/roundrobin/WEB-INF/web.xml b/cat-core/src/test/resources/abtest/roundrobin/WEB-INF/web.xml new file mode 100755 index 000000000..17d3d5a26 --- /dev/null +++ b/cat-core/src/test/resources/abtest/roundrobin/WEB-INF/web.xml @@ -0,0 +1,6 @@ + + + + diff --git a/cat-core/src/test/resources/com/dianping/cat/abtest/demo/roundrobin/ABTestServer.xml b/cat-core/src/test/resources/com/dianping/cat/abtest/demo/roundrobin/ABTestServer.xml new file mode 100644 index 000000000..8a067ca56 --- /dev/null +++ b/cat-core/src/test/resources/com/dianping/cat/abtest/demo/roundrobin/ABTestServer.xml @@ -0,0 +1,9 @@ + + + + com.dianping.cat.abtest.spi.ABTestGroupStrategy + roundrobin + com.dianping.cat.abtest.demo.roundrobin.RoundRobinGroupStrategy + + + diff --git a/cat-core/src/test/resources/com/dianping/cat/abtest/spi/internal/abtest.xml b/cat-core/src/test/resources/com/dianping/cat/abtest/spi/internal/abtest.xml index b3ee74262..f6b8839f4 100644 --- a/cat-core/src/test/resources/com/dianping/cat/abtest/spi/internal/abtest.xml +++ b/cat-core/src/test/resources/com/dianping/cat/abtest/spi/internal/abtest.xml @@ -1,5 +1,5 @@ - + This is a mock ABTest for test -- GitLab