class RemoteMessageTransportTest(unittest.TestCase):
    Dispatcher = MagicMock()

    def setUp(self):
        self.target = LocalMessageTransport("LocalMessageTransport",
                                            self.Dispatcher)

    def tearDown(self):
        self.target = None

    def test_constructor(self):
        self.assertEqual(self.target.object_id, "LocalMessageTransport")
        self.assertEqual(self.target.dispatcher, self.Dispatcher)

    def test_send_request_message(self):
        request = Request("object_id", "method", "path")
        response = Response(200, "body")

        self.target.dispatcher.dispatch_request =\
            MagicMock(return_value=response)

        result = self.target.send_request_message(request)

        self.assertEqual(result.status_code, 200)
        self.assertEqual(result.body, "body")

    def test_close(self):
        self.target.close()
class RemoteMessageTransportTest(unittest.TestCase):
    Dispatcher = MagicMock()

    def setUp(self):
        self.target = LocalMessageTransport(
            "LocalMessageTransport",
            self.Dispatcher)

    def tearDown(self):
        self.target = None

    def test_constructor(self):
        self.assertEqual(self.target.object_id, "LocalMessageTransport")
        self.assertEqual(self.target.dispatcher, self.Dispatcher)

    def test_send_request_message(self):
        request = Request("object_id", "method", "path")
        response = Response(200, "body")

        self.target.dispatcher.dispatch_request =\
            MagicMock(return_value=response)

        result = self.target.send_request_message(request)

        self.assertEqual(result.status_code, 200)
        self.assertEqual(result.body, "body")

    def test_close(self):
        self.target.close()