def test_constructor(self):
        with nested(
                patch("uuid.uuid4"), patch("Queue.Queue"),
                patch("org.o3project.odenos.remoteobject." +
                      "transport.message_dispatcher." +
                      "MessageDispatcher.EventSubscriptionMap")) as (
                          mock_uuid4, mock_Queue, mock_EventSubscriptionMap):

            mock_uuid4.return_value = "mock_uuid4"
            mock_Queue.return_value = "mock_Queue"
            mock_EventSubscriptionMap.return_value =\
                "mock_EventSubscriptionMap"
            self.target = MessageDispatcher()

            self.assertEqual(self.target._MessageDispatcher__clients, {})
            self.assertEqual(self.target._MessageDispatcher__local_objects, {})
            self.assertEqual(self.target._MessageDispatcher__event_manager_id,
                             None)
            self.assertEqual(self.target.system_manager_id, "systemmanager")
            self.assertEqual(self.target._MessageDispatcher__redisServer,
                             "localhost")
            self.assertEqual(self.target._MessageDispatcher__redisPort, 6379)
            self.assertEqual(
                self.target._MessageDispatcher__sourceDispatcherId,
                "mock_uuid4")
            self.assertEqual(self.target._MessageDispatcher__pubsqueue,
                             "mock_Queue")
            self.assertEqual(self.target._MessageDispatcher__redisSubscriber,
                             None)
            self.assertEqual(self.target._MessageDispatcher__subscription_map,
                             "mock_EventSubscriptionMap")
    def test_get_source_dispatcher_id(self):
        with patch("uuid.uuid4") as mock_uuid4:
            mock_uuid4.return_value = "mock_uuid4"
            self.target = MessageDispatcher()

        self.result = self.target.get_source_dispatcher_id()

        self.assertEqual(self.result, "mock_uuid4")
from org.o3project.odenos.remoteobject.message.request import Request
from org.o3project.odenos.core.util.system_manager_interface import SystemManagerInterface
from org.o3project.odenos.core.util.logger import Logger
from org.o3project.odenos.core.util.network_interface import NetworkInterface
from org.o3project.odenos.remoteobject.manager.system.component_connection import (
    ComponentConnection
)
from org.o3project.odenos.remoteobject.manager.system.component_connection_logic_and_network import (
    ComponentConnectionLogicAndNetwork
)

if __name__ == '__main__':
    Logger.file_config()

    # Create MessageDispatcher
    dispatcher = MessageDispatcher()
    dispatcher.set_remote_system_manager()
    dispatcher.start()
    time.sleep(1)
    exit_code = 0
  
    try:
        # Create SystemManager Interface
        sysif = SystemManagerInterface(dispatcher)
        
        print "//////////////////////////////////////////////////"
        print "//// (1) Create Original Network."
        print "//////////////////////////////////////////////////"
        send_property = ObjectProperty("Network", "original_nw")
        resp = sysif.put_components(send_property)
        print resp.status_code
 def setUp(self):
     self.target = MessageDispatcher()