X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=example%2Fdiameter%2Flauncher%2Ftesting%2FTestCase.cpp;h=8cbba4bab609d54710b0c1b6f78ea7e199cb1e57;hb=204a2f272da5c07340a1c3380ad59cec9a81f012;hp=0b26170aebedbef8dfab069a1415a3360e8af8ff;hpb=38f67dae313f5b4b988a11804cfee52f74e16e33;p=anna.git diff --git a/example/diameter/launcher/testing/TestCase.cpp b/example/diameter/launcher/testing/TestCase.cpp index 0b26170..8cbba4b 100644 --- a/example/diameter/launcher/testing/TestCase.cpp +++ b/example/diameter/launcher/testing/TestCase.cpp @@ -132,7 +132,8 @@ void TestCase::setState(const State::_v &state) throw() { if (isFinished()) { - if (!testManager.getDumpReports()) return; + if ((getState() == State::Failed) && (!testManager.getDumpFailedReports())) return; + if ((getState() == State::Success) && (!testManager.getDumpSuccessReports())) return; // report file name: cycle-.testcase-.xml // FORMAT: We tabulate the cycle and test case in order to ease ordering of files by mean ls: @@ -222,8 +223,8 @@ bool TestCase::reset(bool hard) throw() { } void TestCase::assertInitialized() const throw(anna::RuntimeException) { - if (a_state != State::Initialized) - throw anna::RuntimeException(anna::functions::asString("Cannot program anymore. The test case %llu was started. You must reset it to append new steps.", a_id), ANNA_FILE_LOCATION); + if (isFinished()) + throw anna::RuntimeException(anna::functions::asString("Cannot program anymore. The test case %llu has finished. You must reset it to append new steps (or do it during execution, which is also allowed).", a_id), ANNA_FILE_LOCATION); } void TestCase::assertMessage(const anna::DataBlock &db, bool toEntity) throw(anna::RuntimeException) { @@ -241,16 +242,8 @@ void TestCase::assertMessage(const anna::DataBlock &db, bool toEntity) throw(ann a_hopByHops[hbh] = NULL; // may be assigned to a wait condition } - if (registerSessionId) { - try { - std::string sid = anna::diameter::helpers::base::functions::getSessionId(db); - TestManager::instantiate().registerSessionId(sid, this); - } - catch (anna::RuntimeException &ex) { - //ex.trace(); - // if we don't have session-id ... don't worry - } - } + if (registerSessionId) + TestManager::instantiate().registerSessionId(anna::diameter::helpers::base::functions::getSessionId(db), this); } void TestCase::addTimeout(const anna::Millisecond &timeout) throw(anna::RuntimeException) { @@ -260,7 +253,7 @@ void TestCase::addTimeout(const anna::Millisecond &timeout) throw(anna::RuntimeE addStep(step); } -void TestCase::addSendxml2e(const anna::DataBlock &db, RealmNode *realm, int stepNumber) throw(anna::RuntimeException) { +void TestCase::addSendxml2e(const anna::DataBlock &db, OriginHost *host, int stepNumber) throw(anna::RuntimeException) { assertInitialized(); assertMessage(db, true /* to entity */); @@ -280,18 +273,18 @@ void TestCase::addSendxml2e(const anna::DataBlock &db, RealmNode *realm, int ste TestStepSendxml2e *step = new TestStepSendxml2e(this); step->setMsgDataBlock(db); - step->setRealmNode(realm); + step->setOriginHost(host); step->setWaitForRequestStepNumber(stepNumber); // -1 means, no reference addStep(step); } -void TestCase::addSendxml2c(const anna::DataBlock &db, RealmNode *realm, int stepNumber) throw(anna::RuntimeException) { +void TestCase::addSendxml2c(const anna::DataBlock &db, OriginHost *host, int stepNumber) throw(anna::RuntimeException) { assertInitialized(); assertMessage(db, false /* to client */); TestStepSendxml2c *step = new TestStepSendxml2c(this); step->setMsgDataBlock(db); - step->setRealmNode(realm); + step->setOriginHost(host); addStep(step); } @@ -349,9 +342,9 @@ void TestCase::addWait(bool fromEntity, if (!step) step = new TestStepWait(this); step->setCondition(fromEntity, code, bitR, usedHopByHop, applicationId, sessionId, resultCode, msisdn, imsi, serviceContextId); - LOGWARNING( + LOGINFORMATION( if (hasSameCondition(step->getCondition())) - anna::Logger::warning(anna::functions::asString("The same wait condition has already been programmed in this test case (%llu). Are you sure ?", a_id), ANNA_FILE_LOCATION); + anna::Logger::information(anna::functions::asString("The same wait condition has already been programmed in this test case (%llu). Are you sure ?", a_id), ANNA_FILE_LOCATION); ); addStep(step); @@ -363,9 +356,9 @@ void TestCase::addWaitRegexp(bool fromEntity, const std::string ®exp) throw(a TestStepWait *step = new TestStepWait(this); step->setCondition(fromEntity, regexp); - LOGWARNING( + LOGINFORMATION( if (hasSameCondition(step->getCondition())) - anna::Logger::warning(anna::functions::asString("The same wait condition has already been programmed in this test case (%llu). Are you sure ?", a_id), ANNA_FILE_LOCATION); + anna::Logger::information(anna::functions::asString("The same wait condition has already been programmed in this test case (%llu). Are you sure ?", a_id), ANNA_FILE_LOCATION); ); addStep(step);