From 287eb2ad7d374de9cc54fb193cef8f8436d5e597 Mon Sep 17 00:00:00 2001 From: coderfengyun Date: Tue, 13 May 2014 17:29:17 +0800 Subject: [PATCH] refactor the test there are two class to test : Test_RunningAgent, Test_RunningScript --- .../master/api/TestPlanResultController.java | 58 ----------- .../master/domain/entity/TestPlanScript.java | 2 +- .../domain/factory/TestPlanFactory.java | 4 +- .../domain/repository/AgentRepository.java | 27 +++++- .../service/TestPlanScriptResultService.java | 73 +------------- .../impl/HighAvailablePoolImpl.java | 1 + ...Test_HighAvailableWithActualMessenger.java | 1 - .../Test_MonitorMessenger.java | 2 +- .../master/integrated/Test_TestPlan.java | 8 -- .../communication/Test_AgentMessenger.java | 2 +- .../communication/Test_MonitorMessenger.java | 2 +- .../controller/AgentPoolControllerTest.java | 6 ++ .../controller/PluginControllerTest.java | 1 + .../controller/RecordPortControllerTest.java | 6 ++ .../RecordScriptControllerTest.java | 6 ++ .../controller/ScriptControllerTest.java | 6 ++ .../master/unitTest/controller/TestBase.java | 3 +- .../TestPlanScriptResultControllerTest.java | 5 + .../controller/Test_MonitorController.java | 8 +- .../controller/Test_TestPlanController.java | 6 ++ .../Test_TestPlanResultController.java | 6 ++ .../controller/UserControllerTest.java | 9 +- .../Test_highAvailableWithMockMessenger.java | 58 ++++++++--- .../service/Test_MonitorResultService.java | 11 ++- .../unitTest/service/Test_PluginService.java | 2 +- .../unitTest/service/Test_ReportService.java | 8 -- .../unitTest/service/Test_ScriptService.java | 2 +- .../unitTest/service/Test_TestPlanEngine.java | 60 +++++++----- .../Test_TestPlanScriptResultService.java | 95 +++---------------- .../service/Test_TestPlanScriptService.java | 6 +- .../transaction/Test_ScriptLoadCommand.java | 15 +-- .../test/java/stubs/Mock_AgentMessenger.java | 4 +- 32 files changed, 203 insertions(+), 300 deletions(-) delete mode 100644 Bench4Q-Master/src/main/java/org/bench4q/master/api/TestPlanResultController.java rename Bench4Q-Master/src/test/java/org/bench4q/master/{unitTest/service => integrated}/Test_MonitorMessenger.java (95%) rename Bench4Q-Master/src/test/java/org/bench4q/master/{unitTest/infrastructure => integrated}/communication/Test_AgentMessenger.java (98%) rename Bench4Q-Master/src/test/java/org/bench4q/master/{unitTest/infrastructure => integrated}/communication/Test_MonitorMessenger.java (94%) diff --git a/Bench4Q-Master/src/main/java/org/bench4q/master/api/TestPlanResultController.java b/Bench4Q-Master/src/main/java/org/bench4q/master/api/TestPlanResultController.java deleted file mode 100644 index 6790f829..00000000 --- a/Bench4Q-Master/src/main/java/org/bench4q/master/api/TestPlanResultController.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.bench4q.master.api; - -import java.util.UUID; - -import org.bench4q.master.domain.service.TestPlanScriptResultService; -import org.bench4q.master.domain.service.UserService; -import org.bench4q.master.exception.Bench4QException; -import org.bench4q.share.models.master.ResultLoadModel; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.ResponseBody; - -@Controller -@RequestMapping("/testPlanResult") -public class TestPlanResultController extends BaseController { - private TestPlanScriptResultService testPlanScriptResultService; - - public TestPlanScriptResultService getTestPlanScriptResultService() { - return testPlanScriptResultService; - } - - @Autowired - public void setTestPlanScriptResultService( - TestPlanScriptResultService testPlanScriptResultService) { - this.testPlanScriptResultService = testPlanScriptResultService; - } - - @RequestMapping(value = "/{testPlanRunId}/loadScriptBirefResults/{scriptId}/{fieldName}", method = RequestMethod.GET) - @ResponseBody - public ResultLoadModel loadScriptBriefResults( - @PathVariable UUID testPlanRunId, @PathVariable int scriptId, - @PathVariable String fieldName) throws Bench4QException { - if (!this.checkScope(UserService.NORAML_AUTHENTICATION)) { - throw new Bench4QException(400 + "", "not permitted", - "/{testPlanRunId}/script/{scriptId}/{fieldName}"); - } - ResultLoadModel ret = new ResultLoadModel(); - ret.setValueTimeModels(this.getTestPlanScriptResultService() - .loadScriptBriefSpecificField(testPlanRunId, scriptId, - fieldName)); - return ret; - } - - @RequestMapping(value = "/{testPlanRunId}/loadBehaviorsBriefResults/{scriptId}/{fieldName}", method = RequestMethod.GET) - @ResponseBody - public ResultLoadModel loadBehaviorsBriefResults( - @PathVariable UUID testPlanRunId, @PathVariable int scriptId, - @PathVariable String fieldName) throws Bench4QException { - if (!this.checkScope(UserService.NORAML_AUTHENTICATION)) { - throw new Bench4QException("400", "not permitted", - "/{testPlanRunId}/loadBehaviorsBriefResults/{scriptId}/{fieldName}"); - } - return null; - } -} diff --git a/Bench4Q-Master/src/main/java/org/bench4q/master/domain/entity/TestPlanScript.java b/Bench4Q-Master/src/main/java/org/bench4q/master/domain/entity/TestPlanScript.java index 3949d1aa..537b81e7 100644 --- a/Bench4Q-Master/src/main/java/org/bench4q/master/domain/entity/TestPlanScript.java +++ b/Bench4Q-Master/src/main/java/org/bench4q/master/domain/entity/TestPlanScript.java @@ -236,7 +236,7 @@ public class TestPlanScript implements RunningScriptInterface { .getResultModelFromAgent(); List testPlanScriptResultList = this .getTestPlanFactory().createScriptResultsWithoutId( - scriptResultModel, testPlan, this, new Date()); + scriptResultModel, this, new Date()); return testPlanScriptResultList; } catch (Exception e) { logger.info(ExceptionLog.getStackTrace(e)); diff --git a/Bench4Q-Master/src/main/java/org/bench4q/master/domain/factory/TestPlanFactory.java b/Bench4Q-Master/src/main/java/org/bench4q/master/domain/factory/TestPlanFactory.java index 689529ef..1d90f356 100644 --- a/Bench4Q-Master/src/main/java/org/bench4q/master/domain/factory/TestPlanFactory.java +++ b/Bench4Q-Master/src/main/java/org/bench4q/master/domain/factory/TestPlanFactory.java @@ -175,8 +175,8 @@ public class TestPlanFactory { // new interface public List createScriptResultsWithoutId( - ScriptResultModel scriptResultModel, TestPlan testPlan, - TestPlanScript testPlanScript, Date createDatetime) { + ScriptResultModel scriptResultModel, TestPlanScript testPlanScript, + Date createDatetime) { List testPlanScriptResults = new LinkedList(); Field[] fields = scriptResultModel.getClass().getDeclaredFields(); diff --git a/Bench4Q-Master/src/main/java/org/bench4q/master/domain/repository/AgentRepository.java b/Bench4Q-Master/src/main/java/org/bench4q/master/domain/repository/AgentRepository.java index 9993270a..b7b57566 100644 --- a/Bench4Q-Master/src/main/java/org/bench4q/master/domain/repository/AgentRepository.java +++ b/Bench4Q-Master/src/main/java/org/bench4q/master/domain/repository/AgentRepository.java @@ -73,6 +73,25 @@ public class AgentRepository extends AbstractRepositoty { } } + public boolean detach(String hostName) { + Session session = this.getSessionHelper().openSession(); + Transaction transaction = session.beginTransaction(); + try { + Agent agent = getAgentBy(hostName, session); + if (agent == null) { + return false; + } + session.delete(agent); + transaction.commit(); + return true; + } catch (Exception e) { + transaction.rollback(); + return false; + } finally { + releaseSession(session); + } + } + public boolean update(Agent agentForUpdate) { Session session = this.getSessionHelper().openSession(); Transaction transaction = session.beginTransaction(); @@ -113,8 +132,7 @@ public class AgentRepository extends AbstractRepositoty { public Agent getAgentBy(String hostName) { Session session = this.getSessionHelper().openSession(); try { - Agent agent = (Agent) session.createCriteria(Agent.class) - .add(Restrictions.eq("hostName", hostName)).uniqueResult(); + Agent agent = getAgentBy(hostName, session); return agent; } catch (Exception e) { return null; @@ -123,6 +141,11 @@ public class AgentRepository extends AbstractRepositoty { } } + private Agent getAgentBy(String hostName, Session session) { + return (Agent) session.createCriteria(Agent.class) + .add(Restrictions.eq("hostName", hostName)).uniqueResult(); + } + public Agent getEntity(int id) { Session session = this.getSessionHelper().openSession(); try { diff --git a/Bench4Q-Master/src/main/java/org/bench4q/master/domain/service/TestPlanScriptResultService.java b/Bench4Q-Master/src/main/java/org/bench4q/master/domain/service/TestPlanScriptResultService.java index 94b3ca78..89648010 100644 --- a/Bench4Q-Master/src/main/java/org/bench4q/master/domain/service/TestPlanScriptResultService.java +++ b/Bench4Q-Master/src/main/java/org/bench4q/master/domain/service/TestPlanScriptResultService.java @@ -1,13 +1,10 @@ package org.bench4q.master.domain.service; -import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.UUID; -import javax.xml.bind.JAXBException; - import org.apache.log4j.Logger; import org.bench4q.master.domain.entity.TestPlanScript; import org.bench4q.master.domain.entity.TestPlanScriptResult; @@ -15,7 +12,6 @@ import org.bench4q.master.domain.repository.TestPlanRepository; import org.bench4q.master.exception.ExceptionLog; import org.bench4q.master.helper.SessionHelper; import org.bench4q.share.helper.MarshalHelper; -import org.bench4q.share.models.master.ValueTimeModel; import org.bench4q.share.models.master.statistics.ScriptBehaviorsBriefModel; import org.bench4q.share.models.master.statistics.ScriptBriefResultModel; import org.bench4q.share.models.master.statistics.ScriptPagesBriefModel; @@ -27,22 +23,11 @@ import org.springframework.stereotype.Component; @Component public class TestPlanScriptResultService { - private TestPlanScriptService testPlanScriptService; private TestPlanRepository testPlanRepository; private SessionHelper sessionHelper; private static Logger logger = Logger .getLogger(TestPlanScriptResultService.class); - private TestPlanScriptService getTestPlanScriptService() { - return testPlanScriptService; - } - - @Autowired - private void setTestPlanScriptService( - TestPlanScriptService testPlanScriptService) { - this.testPlanScriptService = testPlanScriptService; - } - public SessionHelper getSessionHelper() { return sessionHelper; } @@ -61,58 +46,6 @@ public class TestPlanScriptResultService { this.testPlanRepository = testPlanRepository; } - /** - * Here I just use the Time that createDateTime in testplanscriptResult, If - * it's not accuracy, i just need to modify the way of pick createDateTime - * - * @param testPlanId - * @param scriptId - * @return - */ - public List loadScriptBriefSpecificField(UUID testPlanId, - int scriptId, String fieldName) { - List scriptBriefresults = this - .getTestPlanScriptService().queryScriptBriefResults(testPlanId, - scriptId); - List ret = new ArrayList(); - for (TestPlanScriptResult result : scriptBriefresults) { - try { - ScriptBriefResultModel briefModel = (ScriptBriefResultModel) MarshalHelper - .unmarshal(ScriptBriefResultModel.class, - result.getResultContent()); - ret.add(ValueTimeModel.buildValueTimeModel( - getSpecificFieldValue(briefModel, fieldName), - result.getCreateDatetime())); - } catch (JAXBException e) { - logger.info(ExceptionLog.getStackTrace(e) - + " When unmarshal the model from ResultCOntent"); - continue; - } catch (NoSuchFieldException e) { - logger.info(ExceptionLog.getStackTrace(e) - + " When get Field from the model from ResultCOntent"); - continue; - } - } - return ret; - } - - private long getSpecificFieldValue(ScriptBriefResultModel briefModel, - String fieldName) throws NoSuchFieldException { - try { - Field field = getFieldAndSetAccessible(briefModel, fieldName); - return (Long) field.get(briefModel); - } catch (Exception e) { - throw new NoSuchFieldException(); - } - } - - private Field getFieldAndSetAccessible(ScriptBriefResultModel briefModel, - String fieldName) throws NoSuchFieldException, SecurityException { - Field field = briefModel.getClass().getDeclaredField(fieldName); - field.setAccessible(true); - return field; - } - public List loadScriptBriefWithDuation( UUID testPlanId, int scriptId, long startTime) { Session session = this.getSessionHelper().openSession(); @@ -136,7 +69,8 @@ public class TestPlanScriptResultService { UUID testPlanId, int scriptId, long startTime, Class resultType, Session session) { TestPlanScript testPlanScript = this.getTestPlanRepository() - .getTestPlanInDomainBy(testPlanId).extracSpecifiedScript(scriptId); + .getTestPlanInDomainBy(testPlanId) + .extracSpecifiedScript(scriptId); @SuppressWarnings("unchecked") List results = (List) session .createCriteria(TestPlanScriptResult.class) @@ -169,7 +103,8 @@ public class TestPlanScriptResultService { private TestPlanScriptResult doGetLastSampleResult(UUID testPlanId, int scriptId, Class resultType, Session session) { TestPlanScript testPlanScript = this.getTestPlanRepository() - .getTestPlanInDomainBy(testPlanId).extracSpecifiedScript(scriptId); + .getTestPlanInDomainBy(testPlanId) + .extracSpecifiedScript(scriptId); @SuppressWarnings("unchecked") List results = (List) session .createCriteria(TestPlanScriptResult.class) diff --git a/Bench4Q-Master/src/main/java/org/bench4q/master/infrastructure/highavailable/impl/HighAvailablePoolImpl.java b/Bench4Q-Master/src/main/java/org/bench4q/master/infrastructure/highavailable/impl/HighAvailablePoolImpl.java index 8d952579..47148c20 100644 --- a/Bench4Q-Master/src/main/java/org/bench4q/master/infrastructure/highavailable/impl/HighAvailablePoolImpl.java +++ b/Bench4Q-Master/src/main/java/org/bench4q/master/infrastructure/highavailable/impl/HighAvailablePoolImpl.java @@ -155,6 +155,7 @@ public class HighAvailablePoolImpl extends CurrentLoadSubject implements continue; } runningAgent.substituteOnBoard(); + this.getAgentRunIdShouldBeSubstitute().remove(agentRunId); } } diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/integrated/Test_HighAvailableWithActualMessenger.java b/Bench4Q-Master/src/test/java/org/bench4q/master/integrated/Test_HighAvailableWithActualMessenger.java index ced6d489..38b9f158 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/integrated/Test_HighAvailableWithActualMessenger.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/integrated/Test_HighAvailableWithActualMessenger.java @@ -25,7 +25,6 @@ public class Test_HighAvailableWithActualMessenger extends @Before public void prepare() { - } @After diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_MonitorMessenger.java b/Bench4Q-Master/src/test/java/org/bench4q/master/integrated/Test_MonitorMessenger.java similarity index 95% rename from Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_MonitorMessenger.java rename to Bench4Q-Master/src/test/java/org/bench4q/master/integrated/Test_MonitorMessenger.java index 5b1ef299..48e01859 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_MonitorMessenger.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/integrated/Test_MonitorMessenger.java @@ -1,4 +1,4 @@ -package org.bench4q.master.unitTest.service; +package org.bench4q.master.integrated; import static org.junit.Assert.*; diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/integrated/Test_TestPlan.java b/Bench4Q-Master/src/test/java/org/bench4q/master/integrated/Test_TestPlan.java index e37daba3..49fdcb81 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/integrated/Test_TestPlan.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/integrated/Test_TestPlan.java @@ -2,7 +2,6 @@ package org.bench4q.master.integrated; import static org.junit.Assert.*; -import java.util.List; import java.util.Set; import org.bench4q.master.domain.entity.RunningAgentDB; @@ -11,7 +10,6 @@ import org.bench4q.master.domain.entity.TestPlanScript; import org.bench4q.master.domain.factory.TestPlanFactory; import org.bench4q.master.unitTest.TestBase_MakeUpTestPlan; import org.bench4q.share.enums.master.TestPlanStatus; -import org.bench4q.share.models.master.ValueTimeModel; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -77,12 +75,6 @@ public class Test_TestPlan extends TestBase_MakeUpTestPlan { assertNotNull(runningAgentDB); assertEquals(EACH_SCRIPT_LOAD_SMALLSCALE, runningAgentDB.getLoadInUse()); Thread.sleep(10000); - List valueTimeModels = this - .getTestPlanScriptResultService().loadScriptBriefSpecificField( - getTestPlanRunIdUuid(), getScriptId(), - "averageResponseTime"); - assertNotNull(valueTimeModels); - assertTrue(valueTimeModels.size() > 0); while (!TestPlanStatus.valueOf( this.getTestPlanRepository() .getTestPlanInDomainBy(getTestPlanRunIdUuid()) diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/infrastructure/communication/Test_AgentMessenger.java b/Bench4Q-Master/src/test/java/org/bench4q/master/integrated/communication/Test_AgentMessenger.java similarity index 98% rename from Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/infrastructure/communication/Test_AgentMessenger.java rename to Bench4Q-Master/src/test/java/org/bench4q/master/integrated/communication/Test_AgentMessenger.java index de663275..07df9bf2 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/infrastructure/communication/Test_AgentMessenger.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/integrated/communication/Test_AgentMessenger.java @@ -1,4 +1,4 @@ -package org.bench4q.master.unitTest.infrastructure.communication; +package org.bench4q.master.integrated.communication; import static org.junit.Assert.*; diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/infrastructure/communication/Test_MonitorMessenger.java b/Bench4Q-Master/src/test/java/org/bench4q/master/integrated/communication/Test_MonitorMessenger.java similarity index 94% rename from Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/infrastructure/communication/Test_MonitorMessenger.java rename to Bench4Q-Master/src/test/java/org/bench4q/master/integrated/communication/Test_MonitorMessenger.java index 115a484a..56ae1aa6 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/infrastructure/communication/Test_MonitorMessenger.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/integrated/communication/Test_MonitorMessenger.java @@ -1,4 +1,4 @@ -package org.bench4q.master.unitTest.infrastructure.communication; +package org.bench4q.master.integrated.communication; import static org.junit.Assert.assertNotNull; diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/AgentPoolControllerTest.java b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/AgentPoolControllerTest.java index d55210ef..224f1271 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/AgentPoolControllerTest.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/AgentPoolControllerTest.java @@ -10,6 +10,7 @@ import org.bench4q.share.communication.HttpRequester.HttpResponse; import org.bench4q.share.helper.MarshalHelper; import org.bench4q.share.models.master.AgentModel; import org.bench4q.share.models.master.AgentResponseModel; +import org.junit.Before; import org.junit.Test; public class AgentPoolControllerTest extends TestBase { @@ -17,6 +18,11 @@ public class AgentPoolControllerTest extends TestBase { private final static String HOSTNAME1 = "127.0.0.1"; private final static String HOSTNAME2 = "133.133.12.9"; + @Before + public void prepare() { + this.setAccessTocken(this.login()); + } + @Test public void testAdd() throws JAXBException, IOException { this.setAccessTocken(this.login()); diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/PluginControllerTest.java b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/PluginControllerTest.java index 15217665..11e59ba0 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/PluginControllerTest.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/PluginControllerTest.java @@ -66,6 +66,7 @@ public class PluginControllerTest extends TestBase { this.paramInPluginCount = 7; this.getTest_PluginHelper().addPlugin(fileName, this.getPluginService(), pluginName); + this.setAccessTocken(this.login()); } @Test diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/RecordPortControllerTest.java b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/RecordPortControllerTest.java index 310ef2da..e323f7da 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/RecordPortControllerTest.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/RecordPortControllerTest.java @@ -7,12 +7,18 @@ import java.util.Map; import javax.xml.bind.JAXBException; import org.bench4q.share.communication.HttpRequester.HttpResponse; +import org.junit.Before; public class RecordPortControllerTest extends TestBase { private final String URLSTRING = BASE_URL + "/RecordPort"; private final String PORT = "1100"; private final String PARAM1 = "port"; + @Before + public void prepare() { + this.setAccessTocken(this.login()); + } + public void AddPortToPool() throws IOException, JAXBException { String accesTocken = this.login(); Map params = new HashMap(); diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/RecordScriptControllerTest.java b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/RecordScriptControllerTest.java index b79a3ad6..0f7f9d6f 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/RecordScriptControllerTest.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/RecordScriptControllerTest.java @@ -13,12 +13,18 @@ import org.bench4q.share.helper.MarshalHelper; import org.bench4q.share.models.agent.RunScenarioModel; import org.bench4q.share.models.master.OperateScriptServerResponseModel; import org.bench4q.share.models.master.ScriptModel; +import org.junit.Before; import org.junit.Test; public class RecordScriptControllerTest extends TestBase { private static final int RECORD_TIME = 60000; private final String SCRIPT_URL = TestBase.BASE_URL + "/RecordScript"; + @Before + public void prepare() { + this.setAccessTocken(this.login()); + } + public OperateScriptServerResponseModel startRecord() throws IOException, JAXBException { HttpResponse httpResponse = this.httpRequester.sendPost(this.SCRIPT_URL diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/ScriptControllerTest.java b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/ScriptControllerTest.java index 76552681..4d200c4a 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/ScriptControllerTest.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/ScriptControllerTest.java @@ -11,12 +11,18 @@ import javax.xml.bind.JAXBException; import org.bench4q.share.communication.HttpRequester.HttpResponse; import org.bench4q.share.helper.MarshalHelper; import org.bench4q.share.models.master.OperateScriptServerResponseModel; +import org.junit.Before; import org.junit.Test; public class ScriptControllerTest extends TestBase { private String controllerUrl = BASE_URL + "/RecordScript"; + @Before + public void prepare() { + this.setAccessTocken(this.login()); + } + @Test public void loadScriptsTest() throws IOException, JAXBException { String url = this.controllerUrl + "/loadScriptList"; diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/TestBase.java b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/TestBase.java index e66ec81d..628b93f8 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/TestBase.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/TestBase.java @@ -28,7 +28,6 @@ public class TestBase { } public TestBase() { - this.setAccessTocken(this.login()); } public String login() { @@ -39,7 +38,7 @@ public class TestBase { HttpResponse httpResponse; try { httpResponse = this.httpRequester.sendGet(urlString, map, null); - System.out.println("http content:"+httpResponse.getContent()); + System.out.println("http content:" + httpResponse.getContent()); return ((AuthorizeResponseModel) MarshalHelper.unmarshal( AuthorizeResponseModel.class, httpResponse.getContent())) .getAccessToken(); diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/TestPlanScriptResultControllerTest.java b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/TestPlanScriptResultControllerTest.java index 0e833c37..27221667 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/TestPlanScriptResultControllerTest.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/TestPlanScriptResultControllerTest.java @@ -25,6 +25,11 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; public class TestPlanScriptResultControllerTest extends TestBase_MakeUpTestPlan { private String urlString = BASE_URL + "/testPlanResult"; + @Before + public void prepare() { + this.setAccessTocken(this.login()); + } + @Test public void testGetScriptResults() throws IOException, JAXBException { HttpResponse httpResponse = this.httpRequester.sendGet(urlString + "/" diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/Test_MonitorController.java b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/Test_MonitorController.java index 62b3b6c9..51f944dc 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/Test_MonitorController.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/Test_MonitorController.java @@ -8,14 +8,18 @@ import java.util.Map; import javax.xml.bind.JAXBException; -import org.bench4q.master.unitTest.TestBase_MakeUpTestPlan; import org.bench4q.share.communication.HttpRequester; import org.bench4q.share.communication.HttpRequester.HttpResponse; import org.bench4q.share.helper.MarshalHelper; import org.bench4q.share.models.master.MonitorMemoryResponseModel; +import org.junit.Before; import org.junit.Test; -public class Test_MonitorController extends TestBase_MakeUpTestPlan { +public class Test_MonitorController extends TestBase { + @Before + public void prepare() { + this.setAccessTocken(this.login()); + } @Test public void testMemoryInfo() throws IOException, JAXBException { diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/Test_TestPlanController.java b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/Test_TestPlanController.java index 3df5b0c6..4c37ec91 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/Test_TestPlanController.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/Test_TestPlanController.java @@ -27,6 +27,7 @@ import org.bench4q.share.models.master.TestPlanResultModel; import org.bench4q.share.models.master.TestPlanScriptBriefResultModel; import org.bench4q.share.models.master.statistics.ScriptBriefResultModel; import org.bench4q.share.models.master.statistics.ScriptPagesBriefModel; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.context.support.ClassPathXmlApplicationContext; @@ -72,6 +73,11 @@ public class Test_TestPlanController extends TestBase_MakeUpTestPlan { this.runAndGetBrief(); } + @Before + public void prepare() { + this.setAccessTocken(this.login()); + } + @Test public void testWithoutBrief() throws JAXBException, IOException, InterruptedException { diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/Test_TestPlanResultController.java b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/Test_TestPlanResultController.java index cb774ede..7f83970e 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/Test_TestPlanResultController.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/Test_TestPlanResultController.java @@ -9,12 +9,18 @@ import javax.xml.bind.JAXBException; import org.bench4q.share.communication.HttpRequester.HttpResponse; import org.bench4q.share.helper.MarshalHelper; import org.bench4q.share.models.master.ResultLoadModel; +import org.junit.Before; import org.junit.Test; public class Test_TestPlanResultController extends TestBase { private static String URL = BASE_URL + "/TestPlanResult"; private static String testPlanRunId = "0cdc3398-5b61-4bff-be48-8075e5d2fa64"; + @Before + public void prepare() { + this.setAccessTocken(this.login()); + } + @Test public void test() { fail("Not yet implemented"); diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/UserControllerTest.java b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/UserControllerTest.java index 69337142..3a3a11cf 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/UserControllerTest.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/controller/UserControllerTest.java @@ -10,11 +10,16 @@ import org.bench4q.share.communication.HttpRequester.HttpResponse; import org.bench4q.share.helper.MarshalHelper; import org.bench4q.share.models.master.AuthorizeResponseModel; import org.bench4q.share.models.master.RegisterResponseModel; +import org.junit.Before; import org.junit.Test; import static org.junit.Assert.*; public class UserControllerTest extends TestBase { + @Before + public void prepare() { + this.setAccessTocken(this.login()); + } @Test public void testNormalAuth() throws IOException, JAXBException { @@ -45,7 +50,7 @@ public class UserControllerTest extends TestBase { clearUser(userName); String url = BASE_URL + "/user/register"; Map params = new HashMap(); - + params.put("userName", userName); params.put("password", "test"); params.put("scope", "1"); @@ -68,7 +73,7 @@ public class UserControllerTest extends TestBase { AuthorizeResponseModel authorizeResponseModel = (AuthorizeResponseModel) MarshalHelper .tryUnmarshal(AuthorizeResponseModel.class, httpResponse.getContent()); - + return authorizeResponseModel; } } diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/infrastructure/ha/Test_highAvailableWithMockMessenger.java b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/infrastructure/ha/Test_highAvailableWithMockMessenger.java index 35295d29..bffb88e4 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/infrastructure/ha/Test_highAvailableWithMockMessenger.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/infrastructure/ha/Test_highAvailableWithMockMessenger.java @@ -8,11 +8,10 @@ import java.util.UUID; import org.bench4q.master.domain.RunningAgentInterface; import org.bench4q.master.domain.entity.Agent; -import org.bench4q.master.domain.factory.RunningAgentFactory; -import org.bench4q.master.domain.repository.AgentRepository; -import org.bench4q.master.helper.SessionHelper; +import org.bench4q.master.domain.entity.TestPlan; +import org.bench4q.master.domain.entity.TestPlanScript; import org.bench4q.master.infrastructure.highavailable.impl.HighAvailablePoolImpl; -import org.bench4q.share.communication.HttpRequester; +import org.bench4q.master.unitTest.TestBase_MakeUpTestPlan; import org.bench4q.share.enums.master.AgentStatus; import org.junit.Test; import org.junit.runner.RunWith; @@ -20,14 +19,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import stubs.Mock_AgentMessenger; - @RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(classes = { HighAvailablePoolImpl.class, - AgentRepository.class, Mock_AgentMessenger.class, HttpRequester.class, - SessionHelper.class, RunningAgentFactory.class }) -public class Test_highAvailableWithMockMessenger { - +@ContextConfiguration(locations = { "classpath:mockHttpMesseger-context.xml" }) +public class Test_highAvailableWithMockMessenger extends + TestBase_MakeUpTestPlan { private List testCase1 = new ArrayList(); { testCase1.add(Agent.createAgentWithoutId("127.0.0.1", 6565, 500)); @@ -42,12 +37,40 @@ public class Test_highAvailableWithMockMessenger { testCase1.add(agent2); } + private List testcase2 = new ArrayList(); + { + testcase2.add(Agent.createAgentWithoutId("127.0.0.1", 6565)); + testcase2.add(Agent.createAgentWithoutId("127.0.0.2", 6565)); + } + @Autowired private HighAvailablePoolImpl ha; @Test public void test_BreakDown() { - assertNotNull(this.ha); + this.prepareWith(this.testcase2); + synchronized (this.ha) { + assertEquals(1000, this.ha.getCurrentAvailableLoad()); + } + this.submitATestPlanWithOneScript(); + TestPlan testPlan = this.getTestPlanRepository().getTestPlanInDomainBy( + getTestPlanRunIdUuid()); + testPlan.run(); + // Let ha get the agent's runIds + this.ha.checkAllHeartBeat(); + TestPlanScript runningScript = testPlan + .extracSpecifiedScript(getScriptId()); + assertEquals(1, runningScript.getRunningAgents().size()); + RunningAgentInterface runningAgentInterface = (RunningAgentInterface) runningScript + .getRunningAgents().toArray()[0]; + // Kill the agent In run + runningAgentInterface.getAgent().setCurrentEnumStatus( + AgentStatus.BreakDown); + // activate ha ckeckAllHeartBeats + this.ha.checkAllHeartBeat(); + assertEquals(2, runningScript.getRunningAgents().size()); + + this.cleanUpWith(this.testcase2); } @Test @@ -59,15 +82,22 @@ public class Test_highAvailableWithMockMessenger { private void prepareWith(List agents) { this.ha.getPool().clear(); - for (Agent agent : this.testCase1) { + for (Agent agent : agents) { this.ha.add(agent); } + this.ha.checkAllHeartBeat(); + } + + private void cleanUpWith(List agents) { + for (Agent agent : agents) { + this.getAgentRepository().detach(agent.getId()); + } } @Test public void test_applyFor() { + prepareWith(this.testcase2); int loadToApply = 10; - this.ha.checkAllHeartBeat(); List result = null; synchronized (this.ha) { assertTrue(this.ha.getCurrentAvailableLoad() > loadToApply); diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_MonitorResultService.java b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_MonitorResultService.java index aca472ed..88d39553 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_MonitorResultService.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_MonitorResultService.java @@ -11,6 +11,7 @@ import org.bench4q.master.domain.entity.TestPlan; import org.bench4q.master.domain.entity.User; import org.bench4q.master.domain.factory.TestPlanFactory; import org.bench4q.master.domain.repository.TestPlanRepository; +import org.bench4q.master.domain.service.AgentService; import org.bench4q.master.domain.service.MonitorResultService; import org.bench4q.master.exception.Bench4QException; import org.bench4q.master.unitTest.TestBase_MakeUpTestPlan; @@ -28,13 +29,15 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = { "classpath:service-test-context.xml" }) +@ContextConfiguration(locations = { "classpath:mockHttpMesseger-context.xml" }) public class Test_MonitorResultService extends TestBase_MakeUpTestPlan { private String monitor = "133.133.12.3"; private int port = 5556; private MonitorResultService monitorResultService; private TestPlanRepository testPlanRepository; private TestPlanFactory testPlanFactory; + @Autowired + private AgentService agentService; public TestPlanFactory getTestPlanFactory() { return testPlanFactory; @@ -72,12 +75,15 @@ public class Test_MonitorResultService extends TestBase_MakeUpTestPlan { @Before public void makeUpTestPlanAndTestPlanScriptAndTestPlanScriptResult() throws JAXBException { + this.agentService.addAgentToPool(Agent.createAgentWithoutId( + "127.0.0.1", 6565)); prepareForTestPlanRunning(); } @After public void cleanUp() { - cleanUpForTestPlanRunning(); + this.getAgentRepository().detach( + this.getAgentRepository().getAgentBy("127.0.0.1").getId()); } @Test @@ -124,5 +130,6 @@ public class Test_MonitorResultService extends TestBase_MakeUpTestPlan { assertTrue(networkInterfaceModels.size() >= 1); + cleanUpForTestPlanRunning(); } } diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_PluginService.java b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_PluginService.java index ddec32ed..20e8f7d6 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_PluginService.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_PluginService.java @@ -18,7 +18,7 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = { "classpath:service-test-context.xml" }) +@ContextConfiguration(locations = { "classpath:mockHttpMesseger-context.xml" }) public class Test_PluginService extends Test_PluginHelper { private PluginService pluginService; private String pluginName; diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_ReportService.java b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_ReportService.java index 168f4821..cf502a86 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_ReportService.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_ReportService.java @@ -2,8 +2,6 @@ package org.bench4q.master.unitTest.service; import static org.junit.Assert.*; -import java.util.UUID; - import org.bench4q.master.domain.service.report.ReportService; import org.bench4q.master.unitTest.TestBase_MakeUpTestPlan; import org.junit.Test; @@ -32,10 +30,4 @@ public class Test_ReportService extends TestBase_MakeUpTestPlan { assertFalse(this.getReportService().isReportCreated( getTestPlanRunIdUuid())); } - - @Test - public void testCreateReport() { - this.getReportService().createReport( - UUID.fromString("a75b14de-d99a-49ad-80b8-6ad6078ae726")); - } } diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_ScriptService.java b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_ScriptService.java index c66492fd..7e730723 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_ScriptService.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_ScriptService.java @@ -26,7 +26,7 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = { "classpath:service-test-context.xml" }) +@ContextConfiguration(locations = { "classpath:mockHttpMesseger-context.xml" }) public class Test_ScriptService { private ScriptService scriptService; private UserService userService; diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_TestPlanEngine.java b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_TestPlanEngine.java index 94c235e8..b883aeca 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_TestPlanEngine.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_TestPlanEngine.java @@ -1,38 +1,54 @@ package org.bench4q.master.unitTest.service; import java.util.Date; -import java.util.UUID; - import org.bench4q.master.Main; import org.bench4q.master.domain.entity.Agent; import org.bench4q.master.domain.entity.TestPlan; import org.bench4q.master.domain.entity.TestPlanScript; import org.bench4q.master.domain.entity.User; +import org.bench4q.master.domain.service.AgentService; import org.bench4q.master.unitTest.TestBase_MakeUpTestPlan; import org.bench4q.share.enums.master.TestPlanStatus; import org.bench4q.share.helper.TestHelper; import org.junit.After; import org.junit.Before; +import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runner.RunWith; +import org.junit.runners.MethodSorters; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import static org.junit.Assert.*; @RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = { "classpath:service-test-context.xml" }) +@ContextConfiguration(locations = { "classpath:mockHttpMesseger-context.xml" }) +@FixMethodOrder(MethodSorters.JVM) public class Test_TestPlanEngine extends TestBase_MakeUpTestPlan { + @Autowired + private AgentService agentService; @Before public void prepare() { - prepareForTestPlanRunning(); - submitATestPlanWithOneScript(); + synchronized (Test_TestPlanEngine.class) { + this.getAgentRepository().detach("147.0.0.1"); + this.agentService.addAgentToPool(Agent.createAgentWithoutId( + "147.0.0.1", 6565)); + prepareForTestPlanRunning(); + submitATestPlanWithOneScript(); + } } @After public void cleanUp() { - cleanUpForTestPlanRunning(); + synchronized (Test_TestPlanEngine.class) { + cleanUpForTestPlanRunning(); + Agent agent = null; + if ((agent = this.getAgentRepository().getAgentBy("147.0.01")) != null) { + this.getAgentRepository().detach(agent.getId()); + } + } } @Test @@ -73,11 +89,8 @@ public class Test_TestPlanEngine extends TestBase_MakeUpTestPlan { public void testRunWithWronglyWhenNoEnoughLoadInPool() throws InterruptedException { System.out.println("This need each agent not in running"); - User user = this.getUserRepository().getUser("admin"); - int scriptId = getUserFirstScript(user); + this.submitATestPlanWithOneScript(); this.getHaPool().getPool().clear(); - this.setTestPlanRunIdUuid(this.getTestPlanEngine().runWith( - createATestPlanWithOneScript(scriptId), user)); Thread.sleep(10000); TestPlan testPlan = this.getTestPlanRepository().getTestPlanInDomainBy( getTestPlanRunIdUuid()); @@ -105,19 +118,20 @@ public class Test_TestPlanEngine extends TestBase_MakeUpTestPlan { TestPlanStatus.valueOf(testPlanPicked.getCurrentStatus())); } - @Test - public void testPickAndRunByCycle() throws InterruptedException { - this.getHaPool().checkAllHeartBeat(); - Main.getPortToServe(); - UUID testPlanRunId = this.submitATestPlanWithOneScript(); - Thread.sleep(71000); - assertEquals( - TestPlanStatus.InRunning, - TestPlanStatus.valueOf(this.getTestPlanRepository() - .getTestPlanInDomainBy(testPlanRunId) - .getCurrentStatus())); - deleteTestPlan(); - } + // @Test + // public void testPickAndRunByCycle() throws InterruptedException { + // this.getHaPool().checkAllHeartBeat(); + // assertEquals(500, this.getHaPool().getCurrentAvailableLoad()); + // Main.getPortToServe(); + // UUID testPlanRunId = this.submitATestPlanWithOneScript(); + // Thread.sleep(71000); + // assertEquals( + // TestPlanStatus.InRunning, + // TestPlanStatus.valueOf(this.getTestPlanRepository() + // .getTestPlanInDomainBy(testPlanRunId) + // .getCurrentStatus())); + // deleteTestPlan(); + // } private void testForStatus(TestPlanStatus status) throws Exception { this.submitATestPlanWithOneScript(); diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_TestPlanScriptResultService.java b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_TestPlanScriptResultService.java index 77b96e85..b03eff34 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_TestPlanScriptResultService.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_TestPlanScriptResultService.java @@ -6,10 +6,11 @@ import java.util.List; import java.util.UUID; import org.bench4q.master.domain.entity.User; +import org.bench4q.master.domain.factory.TestPlanFactory; +import org.bench4q.master.domain.repository.TestPlanRepository; +import org.bench4q.master.domain.service.TestResultSave; import org.bench4q.master.unitTest.TestBase_MakeUpTestPlan; -import org.bench4q.share.helper.TestHelper; import org.bench4q.share.models.master.TestPlanModel; -import org.bench4q.share.models.master.ValueTimeModel; import org.bench4q.share.models.master.statistics.ScriptBehaviorsBriefModel; import org.bench4q.share.models.master.statistics.ScriptBriefResultModel; import org.bench4q.share.models.master.statistics.ScriptPagesBriefModel; @@ -17,49 +18,21 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath:service-test-context.xml" }) public class Test_TestPlanScriptResultService extends TestBase_MakeUpTestPlan { - @Test - public void testGetSpecficFieldValue() throws Exception { - long averageResponseTime = (Long) TestHelper.invokePrivate( - this.getTestPlanScriptResultService(), "getSpecificFieldValue", - new Class[] { ScriptBriefResultModel.class, String.class }, - new Object[] { buildScriptBriefResultModel(0), - "averageResponseTime" }); - assertEquals(0, averageResponseTime); - } + @Autowired + private TestResultSave testResultSave; - @Test - public void testLoadAvgFromScriptBriefResultWithWrongTestPlanID() - throws NoSuchFieldException, SecurityException { - List results = this - .getTestPlanScriptResultService() - .loadScriptBriefSpecificField( - UUID.fromString("af67ccd7-ca7b-4dbf-9544-8ffe81b3af2d"), - 61, - ScriptBriefResultModel.class.getDeclaredField( - "averageResponseTime").getName()); - assertEquals(0, results.size()); - } + @Autowired + private TestPlanFactory testPlanFactory; - @Test - public void testLoadAvgFromScriptBriefResult() throws NoSuchFieldException, - SecurityException, InterruptedException { - Thread.sleep(5000); - List results = this.getTestPlanScriptResultService() - .loadScriptBriefSpecificField( - this.getTestPlanRunIdUuid(), - this.getScriptId(), - ScriptBriefResultModel.class.getDeclaredField( - "averageResponseTime").getName()); - System.out.println(results.size()); - assertTrue(results.size() > 0); - assertTrue(results.get(1).getValue() % 100 == 0); - } + @Autowired + private TestPlanRepository testPlanRepository; @Test public void testLoadScriptBriefWithWrongTestPlanId() { @@ -85,27 +58,6 @@ public class Test_TestPlanScriptResultService extends TestBase_MakeUpTestPlan { assertNotNull(behavirosResults.isFinished()); } - @Test - public void testLoadScriptBriefWithDuation() throws InterruptedException { - Thread.sleep(5000); - List results = this - .getTestPlanScriptResultService().loadScriptBriefWithDuation( - this.getTestPlanRunIdUuid(), this.getScriptId(), 0); - ScriptPagesBriefModel scriptPagesBriefModel = this - .getTestPlanScriptResultService().getScriptPagesBrief( - this.getTestPlanRunIdUuid(), this.getScriptId()); - ScriptBehaviorsBriefModel behavirosResults = this - .getTestPlanScriptResultService().getScriptBehaviorsBrief( - this.getTestPlanRunIdUuid(), this.getScriptId()); - assertEquals(3, results.size()); - assertNotNull(scriptPagesBriefModel); - assertTrue(scriptPagesBriefModel.getScriptPageBriefModels().size() > 0); - assertTrue(scriptPagesBriefModel.getScriptPageBriefModels().get(0) - .getMaxResponseTimeFromBegin() >= 200); - assertNotNull(behavirosResults); - assertNotNull(behavirosResults.isFinished()); - } - @Before public void makeUpTestPlanAndTestPlanScriptAndTestPlanScriptResult() { UUID testPlanRunId = UUID.randomUUID(); @@ -114,35 +66,14 @@ public class Test_TestPlanScriptResultService extends TestBase_MakeUpTestPlan { TestPlanModel model = createATestPlanWithOneScript(this.getScriptId()); this.getTestPlanEngine().submitTestPlan(model, user, testPlanRunId); this.setTestPlanRunIdUuid(testPlanRunId); - /* - * for (int i = 0; i < 3; i++) { - * this.getTestScriptResultSave().doSaveResult(testPlanRunId, - * this.getScriptId(), buildScriptBriefResultModel(i), new Date()); - * - * this.getTestScriptResultSave().doSaveResult(testPlanRunId, - * this.getScriptId(), new ScriptBehaviorsBriefModel(), new Date()); - * this.getTestScriptResultSave().doSaveResult(testPlanRunId, - * this.getScriptId(), makeUpScriptPagesBriefModel(i), new Date()); } - */ + this.testPlanRepository.getTestPlanInDomainBy(getTestPlanRunIdUuid()); } - // private ScriptPagesBriefModel makeUpScriptPagesBriefModel(int i) { - // ScriptPagesBriefModel scriptPagesBriefModel = new - // ScriptPagesBriefModel(); - // ScriptPageBriefModel scriptPageBriefModel = new ScriptPageBriefModel(); - // scriptPageBriefModel.setMaxResponseTimeFromBegin(200 + 10 * i); - // scriptPageBriefModel.setMinResponseTimeFromBegin(200 - 10 * i); - // scriptPagesBriefModel.getScriptPageBriefModels().add( - // scriptPageBriefModel); - // return scriptPagesBriefModel; - // } - @After public void cleanUp() { this.getTestPlanService().removeTestPlanInDB( - this.getTestPlanRepository() - .getTestPlanInDomainBy(this.getTestPlanRunIdUuid()) - .getId()); + this.testPlanRepository.getTestPlanInDomainBy( + this.getTestPlanRunIdUuid()).getId()); } } diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_TestPlanScriptService.java b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_TestPlanScriptService.java index 600bed72..50f67b14 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_TestPlanScriptService.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/service/Test_TestPlanScriptService.java @@ -17,7 +17,7 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = { "classpath:service-test-context.xml" }) +@ContextConfiguration(locations = { "classpath:mockHttpMesseger-context.xml" }) public class Test_TestPlanScriptService extends TestBase_MakeUpTestPlan { private static final int WRONG_SCRIPT_ID = 99999; private static final String WRONG_TEST_PLAN_RUN_ID = "0cdca8da-5b61-4bff-be48-8075e5d2fa64"; @@ -26,10 +26,6 @@ public class Test_TestPlanScriptService extends TestBase_MakeUpTestPlan { public void prepare() { submitATestPlanWithOneScript(); System.out.println(getScriptId()); - /* - * this.getTestScriptResultSave().doSaveResult(getTestPlanRunIdUuid(), - * getScriptId(), new ScriptBriefResultModel(), new Date()); - */ } @After diff --git a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/transaction/Test_ScriptLoadCommand.java b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/transaction/Test_ScriptLoadCommand.java index add0ec06..18b76681 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/transaction/Test_ScriptLoadCommand.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/master/unitTest/transaction/Test_ScriptLoadCommand.java @@ -45,24 +45,15 @@ public class Test_ScriptLoadCommand extends TestBase_MakeUpTestPlan { @Before public void prepare() { - buildUpHaPool(); + this.agentService.addAgentToPool(Agent.createAgentWithoutId( + "127.0.0.1", 6565)); } @After public void cleanUp() { Agent agent = this.getAgentRepository().getAgentBy(Test_AGENT_HOSTNAME); this.getAgentMessenger().stop(agent, this.getAgentRunId()); - agent.setRemainLoad(agent.getMaxLoad()); - this.getAgentRepository().update(agent); - } - - /** - * This need a agent in running - */ - - private void buildUpHaPool() { - assertTrue(this.agentService.addAgentToPool(Agent.createAgentWithoutId( - "127.0.0.1", 6565))); + this.getAgentRepository().detach(agent.getId()); } @Test diff --git a/Bench4Q-Master/src/test/java/stubs/Mock_AgentMessenger.java b/Bench4Q-Master/src/test/java/stubs/Mock_AgentMessenger.java index c61d29bd..6b025f10 100644 --- a/Bench4Q-Master/src/test/java/stubs/Mock_AgentMessenger.java +++ b/Bench4Q-Master/src/test/java/stubs/Mock_AgentMessenger.java @@ -45,7 +45,7 @@ public class Mock_AgentMessenger implements AgentMessenger { result.setScenarioBriefModel(new AgentBriefStatusModel()); result.setPagesBriefModel(new AgentPagesBriefModel()); result.setBehaviorsBriefModel(new AgentBehaviorsBriefModel()); - return null; + return result; } @Override @@ -64,7 +64,7 @@ public class Mock_AgentMessenger implements AgentMessenger { } else if (agent.getCurrentEnumStatus() == AgentStatus.BreakDown) { return null; } else if (agent.getCurrentEnumStatus() == AgentStatus.InRunning) { - result.getRunningTests().add(UUID.randomUUID()); + result.getRunningTests().add(this.testId); return result; } return null;