trust
authorEduardo Ramos Testillano <eduardo.ramos.testillano@ericsson.com>
Fri, 5 Feb 2016 02:18:03 +0000 (03:18 +0100)
committerEduardo Ramos Testillano <eduardo.ramos.testillano@ericsson.com>
Fri, 5 Feb 2016 02:18:03 +0000 (03:18 +0100)
example/diameter/launcher/testing/TestStep.cpp
example/diameter/launcher/testing/TestStep.hpp

index d02d9b6..9bb5230 100644 (file)
@@ -177,10 +177,11 @@ void TestStep::initialize(TestCase *testCase) {
   a_number = testCase->steps() + 1; // testCase is not NULL
 }
 
-bool TestStep::decodeMessage() throw() {
+bool TestStep::decodeMessage(bool trust) throw() {
   if (a_messageCodec) return true;
   a_messageCodec = new anna::diameter::codec::Message;
   if (::decodeMessage(a_message, *a_messageCodec)) return true;
+  if (trust) return true;
 
   delete a_messageCodec;
   a_messageCodec = NULL;
@@ -413,12 +414,10 @@ bool TestStepSendxml::do_execute() throw() {
 
       // Detailed log:
       if(a_originHost->logEnabled()) {
-        //if (decodeMessage()) {
-          // here we decode what we encoded on programming, then we could have a validation problem but not a decoding one:
-          decodeMessage();
+        if (decodeMessage(true /* trust */)) {
           std::string detail = usedClientSession ? usedClientSession->asString() : "<null client session>"; // shouldn't happen
           a_originHost->writeLogFile(*a_messageCodec, (success ? "sent2e" : "send2eError"), detail);
-        //}
+        }
       }
     }
     else if (getType() == Type::Sendxml2c) {
@@ -449,12 +448,10 @@ bool TestStepSendxml::do_execute() throw() {
 
       // Detailed log:
       if(a_originHost->logEnabled()) {
-        //if (decodeMessage()) {
-          // here we decode what we encoded on programming, then we could have a validation problem but not a decoding one:
-          decodeMessage();
+        if (decodeMessage(true /* trust */)) {
           std::string detail = usedServerSession ? usedServerSession->asString() : "<null server session>"; // shouldn't happen
           a_originHost->writeLogFile(*a_messageCodec, (success ? "sent2c" : "send2cError"), detail);
-        //}
+        }
       }
     }
 
index ebded32..75cbae3 100644 (file)
@@ -87,7 +87,8 @@ class TestStep {
     // Message (not for all step types)
     anna::DataBlock a_message;
     anna::diameter::codec::Message *a_messageCodec; // used as helper and for traffic logs
-    bool decodeMessage() throw();
+    bool decodeMessage(bool trust = false) throw(); // If trust=true: decoding the previously encoded message (sendxml sentences).
+                                                    // The only error would be validation ones, and we are going to ignore them here.
 
     virtual bool do_execute() throw() = 0; // returns true if next step must be executed
     virtual void do_complete() throw() = 0; // end of transaction (delay/timeout expired, wait condition fulfilled, sending done)