From 42cf1b02bff7d0ec3584fd5bceb1cc59da54e591 Mon Sep 17 00:00:00 2001 From: fanfuxiaoran <495538672@qq.com> Date: Wed, 26 Mar 2014 15:40:17 +0800 Subject: [PATCH] remove the bug that in save testScript result:behavior and page can not be saved:in testPlanScript the notify is wrong --- .../master/domain/entity/TestPlanScript.java | 10 +++---- .../domain/testplan/TestScriptResultSave.java | 1 + .../mater/test/entity/Test_TestPlan.java | 28 +++++++++++++++---- 3 files changed, 29 insertions(+), 10 deletions(-) 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 782ddde4..26d8dba3 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 @@ -111,7 +111,7 @@ public class TestPlanScript extends Observable implements this.testPlan = testPlan; } - @OneToMany(mappedBy = "testPlanScript", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY) + @OneToMany(mappedBy = "testPlanScript", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) public Set getTestPlanScriptResults() { return testPlanScriptResults; } @@ -266,11 +266,11 @@ public class TestPlanScript extends Observable implements // } private void doPeriodicalBrief() { try { - this.setChanged(); + ScriptResultModel scriptResultModel = this.getSampler() .getResultModelFromAgent(); - notifyObserver(scriptResultModel.getScriptBriefResultModel()); notifyObserver(scriptResultModel.getScriptPagesBriefModel()); + notifyObserver(scriptResultModel.getScriptBriefResultModel()); notifyObserver(scriptResultModel.getScriptBehaviorsBriefModel()); } catch (Exception e) { logger.info(ExceptionLog.getStackTrace(e)); @@ -279,9 +279,9 @@ public class TestPlanScript extends Observable implements } private void notifyObserver(SampleModel sample) { - + this.setChanged(); this.notifyObservers(sample); - + } public TestPlanScript doForComplete() { diff --git a/Bench4Q-Master/src/main/java/org/bench4q/master/domain/testplan/TestScriptResultSave.java b/Bench4Q-Master/src/main/java/org/bench4q/master/domain/testplan/TestScriptResultSave.java index 8e5feedb..10c9e0b8 100644 --- a/Bench4Q-Master/src/main/java/org/bench4q/master/domain/testplan/TestScriptResultSave.java +++ b/Bench4Q-Master/src/main/java/org/bench4q/master/domain/testplan/TestScriptResultSave.java @@ -61,6 +61,7 @@ public class TestScriptResultSave implements Observer { public boolean doSaveResult(UUID testPlanRunId, int scriptId, Object resultModel, Date now) { + Session session = this.getSessionHelper().openSession(); try { TestPlan testPlan = this.getTestPlanRepository().doGetTestPlanBy( diff --git a/Bench4Q-Master/src/test/java/org/bench4q/mater/test/entity/Test_TestPlan.java b/Bench4Q-Master/src/test/java/org/bench4q/mater/test/entity/Test_TestPlan.java index 33325b89..44b18eff 100644 --- a/Bench4Q-Master/src/test/java/org/bench4q/mater/test/entity/Test_TestPlan.java +++ b/Bench4Q-Master/src/test/java/org/bench4q/mater/test/entity/Test_TestPlan.java @@ -3,12 +3,19 @@ package org.bench4q.mater.test.entity; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; + +import javax.xml.bind.JAXBException; + +import org.apache.log4j.Logger; import org.bench4q.master.domain.entity.Monitor; import org.bench4q.master.domain.entity.TestPlan; +import org.bench4q.master.domain.entity.TestPlanScript; import org.bench4q.master.domain.factory.TestPlanFactory; import org.bench4q.master.domain.service.TestPlanService; +import org.bench4q.master.exception.ExceptionLog; import org.bench4q.master.test.TestBase_MakeUpTestPlan; import org.bench4q.share.enums.master.TestPlanStatus; +import org.bench4q.share.helper.MarshalHelper; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -45,7 +52,7 @@ public class Test_TestPlan extends TestBase_MakeUpTestPlan { @Before public void prepare() { this.getHaPool().timerTask(); - submitATestPlanWithOneScript(); + submitATestPlanWithOneScript(); } @After @@ -54,16 +61,27 @@ public class Test_TestPlan extends TestBase_MakeUpTestPlan { } @Test - public void testDoAfterRun() throws InterruptedException { + public void testDoAfterRun() throws InterruptedException, JAXBException { assertNotNull(getTestPlanRunIdUuid()); + try{ TestPlan testPlanInDomain = this.getTestPlanFactory().convertToDomain( this.getTestPlanRepository().getTestPlanBy( getTestPlanRunIdUuid())); - assertEquals(TestPlanStatus.InRunning, - testPlanInDomain.run()); + assertEquals(TestPlanStatus.InRunning, testPlanInDomain.run()); Thread.sleep(4000); for (Monitor monitor : getTestPlan().getMonitors()) { - assertTrue(monitor.getResults().size()>0); + assertTrue(monitor.getResults().size() > 0); + } + + for (TestPlanScript testPlanScript : getTestPlan().getTestPlanScripts()) { + Logger.getLogger(Test_TestPlan.class) + .info("testPlanScript:"+ + testPlanScript.getTestPlanScriptResults().size()); + assertTrue(testPlanScript.getTestPlanScriptResults().size() > 1); + } + }catch(Exception e){ + Logger.getLogger(Test_TestPlan.class).info( + ExceptionLog.getStackTrace(e)); } }