Testing library separation: now not in launcher but isolated
[anna.git] / example / diameter / launcher / MyLocalServer.cpp
index 7d34b46..c4f5db7 100644 (file)
 #include <anna/diameter.comm/Response.hpp>
 #include <anna/diameter.comm/ClientSession.hpp>
 #include <anna/diameter.comm/Server.hpp>
+#include <anna/diameter.comm/OriginHost.hpp>
 
 // Process
 #include <MyLocalServer.hpp>
 #include <MyDiameterEngine.hpp>
 #include <MyDiameterEntity.hpp>
 #include <Launcher.hpp>
-#include <OriginHost.hpp>
-#include <TestManager.hpp>
+#include <anna/testing/TestManager.hpp>
 
 
 void MyLocalServer::eventRequest(anna::diameter::comm::ServerSession *serverSession, const anna::DataBlock &message)
@@ -29,7 +29,7 @@ throw(anna::RuntimeException) {
   LOGMETHOD(anna::TraceMethod tm("launcher::MyLocalServer", "eventRequest", ANNA_FILE_LOCATION));
   // Performance stats:
   Launcher& my_app = static_cast <Launcher&>(anna::app::functions::getApp());
-  OriginHost * my_node = my_app.getOriginHost(getEngine()->getOriginHost());
+  anna::diameter::comm::OriginHost *my_node = my_app.getOriginHost(getEngine()->getOriginHostName());
   anna::diameter::codec::Engine *codecEngine = my_node->getCodecEngine();
 
   // CommandId:
@@ -59,7 +59,7 @@ throw(anna::RuntimeException) {
     msg->forwardEndToEnd(); // end-to-end will be kept
     msg->setBody(message);
     msg->setRequestServerSessionKey(serverSession->getKey());
-    bool success = entity->send(msg, my_node->getEntity()->getBalance());
+    bool success = entity->send(msg);
 
     // Detailed log:
     if(my_node->logEnabled()) {
@@ -71,7 +71,7 @@ throw(anna::RuntimeException) {
 
 
     // Testing:
-    TestManager::instantiate().receiveMessage(message, my_node, serverSession);
+    anna::testing::TestManager::instantiate().receiveMessage(message, serverSession);
 
     return;
   }
@@ -90,7 +90,7 @@ throw(anna::RuntimeException) {
     // Decode
     try { codecMsg.decode(message, answer_message); } catch(anna::RuntimeException &ex) { ex.trace(); }
 
-    answer_message->setStandardToAnswer(codecMsg, my_node->getMyDiameterEngine()->getOriginHost(), my_node->getMyDiameterEngine()->getOriginRealm());
+    answer_message->setStandardToAnswer(codecMsg, my_node->getCommEngine()->getOriginHostName(), my_node->getCommEngine()->getOriginRealmName());
     analysisOK = (answer_message->getResultCode() == anna::diameter::helpers::base::AVPVALUES__Result_Code::DIAMETER_SUCCESS);
   }
 
@@ -103,7 +103,7 @@ throw(anna::RuntimeException) {
     } else {
 
       // Testing:
-      TestManager::instantiate().receiveMessage(message, my_node, serverSession);
+      anna::testing::TestManager::instantiate().receiveMessage(message, serverSession);
 
       return; // nothing done
     }
@@ -136,14 +136,14 @@ throw(anna::RuntimeException) {
   if(analysisOK && programmed) a_reactingAnswers.nextMessage(code);
 
   // Testing:
-  TestManager::instantiate().receiveMessage(message, my_node, serverSession);
+  anna::testing::TestManager::instantiate().receiveMessage(message, serverSession);
 }
 
 void MyLocalServer::eventResponse(const anna::diameter::comm::Response &response)
 throw(anna::RuntimeException) {
   LOGMETHOD(anna::TraceMethod tm("launcher::MyLocalServer", "eventResponse", ANNA_FILE_LOCATION));
   Launcher& my_app = static_cast <Launcher&>(anna::app::functions::getApp());
-  OriginHost * my_node = my_app.getOriginHost(getEngine()->getOriginHost());
+  anna::diameter::comm::OriginHost * my_node = my_app.getOriginHost(getEngine()->getOriginHostName());
   anna::diameter::comm::ClassCode::_v code = response.getClassCode();
   anna::diameter::comm::Response::ResultCode::_v result = response.getResultCode();
   anna::diameter::comm::Message* request = const_cast<anna::diameter::comm::Message*>(response.getRequest());
@@ -198,7 +198,7 @@ throw(anna::RuntimeException) {
     anna::diameter::comm::Entity *entity = my_node->getEntity();
 
     if(entity) {
-      anna::diameter::comm::ClientSession *usedClientSession = my_node->getMyDiameterEngine()->findClientSession(request->getRequestClientSessionKey());
+      anna::diameter::comm::ClientSession *usedClientSession = my_node->getCommEngine()->findClientSession(request->getRequestClientSessionKey());
       std::string detail;
 
       if(my_node->logEnabled()) detail = usedClientSession ? usedClientSession->asString() : "<null client session>";  // this should not happen
@@ -229,7 +229,7 @@ throw(anna::RuntimeException) {
   }
 
   // Testing:
-  TestManager::instantiate().receiveMessage(*message, my_node, serverSession);
+  if(isOK) anna::testing::TestManager::instantiate().receiveMessage(*message, serverSession);
 }
 
 void MyLocalServer::eventUnknownResponse(anna::diameter::comm::ServerSession *serverSession, const anna::DataBlock &message)
@@ -237,7 +237,7 @@ throw(anna::RuntimeException) {
   LOGMETHOD(anna::TraceMethod tm("launcher::MyLocalServer", "eventUnknownResponse", ANNA_FILE_LOCATION));
   // Performance stats:
   Launcher& my_app = static_cast <Launcher&>(anna::app::functions::getApp());
-  OriginHost * my_node = my_app.getOriginHost(getEngine()->getOriginHost());
+  anna::diameter::comm::OriginHost *my_node = my_app.getOriginHost(getEngine()->getOriginHostName());
   // CommandId:
   anna::diameter::CommandId cid = anna::diameter::codec::functions::getCommandId(message);
   LOGDEBUG
@@ -259,7 +259,7 @@ throw(anna::RuntimeException) {
   LOGMETHOD(anna::TraceMethod tm("launcher::MyLocalServer", "eventDPA", ANNA_FILE_LOCATION));
   // Performance stats:
   Launcher& my_app = static_cast <Launcher&>(anna::app::functions::getApp());
-  OriginHost * my_node = my_app.getOriginHost(getEngine()->getOriginHost());
+  anna::diameter::comm::OriginHost *my_node = my_app.getOriginHost(getEngine()->getOriginHostName());
   // CommandId:
   anna::diameter::CommandId cid = anna::diameter::codec::functions::getCommandId(message);
   LOGDEBUG
@@ -277,5 +277,5 @@ throw(anna::RuntimeException) {
   if(my_node->logEnabled()) my_node->writeLogFile(message, "recvfc", serverSession->asString());
 
   // Testing:
-  TestManager::instantiate().receiveMessage(message, my_node, serverSession);
+  anna::testing::TestManager::instantiate().receiveMessage(message, serverSession);
 }