def test_do_get_components(self):
        self.value = ComponentManager("456", self.MessageDispatcher)
        self.target.register_component_type(self.value.__class__)
        self.value = {
            "type": "ComponentManager",
            "id": "456",
            "base_uri": "789"
        }
        self.result = self.target._do_put_component(self.value, "456")

        self.value = ComponentManager("123", self.MessageDispatcher)
        self.target.register_component_type(self.value.__class__)
        self.value = {
            "type": "ComponentManager",
            "id": "123",
            "base_uri": "789"
        }
        self.result = self.target._do_put_component(self.value, "123")

        self.result = self.target._do_get_components()
        self.assertEqual(self.result.status_code, 200)
        self.assertEqual(self.result.body["456"]["type"], "ComponentManager")
        self.assertEqual(self.result.body["456"]["id"], "456")
        self.assertEqual(self.result.body["456"]["state"], "running")

        self.assertEqual(self.result.body["123"]["type"], "ComponentManager")
        self.assertEqual(self.result.body["123"]["id"], "123")
        self.assertEqual(self.result.body["123"]["state"], "running")
 def test_do_put_component_component_type_not_in_component_classes(self):
     self.value = ComponentManager("456", self.MessageDispatcher)
     self.target.register_component_type(self.value.__class__)
     self.value = {"type": "123", "id": "456", "base_uri": "789"}
     self.result = self.target._do_put_component(self.value, "456")
     self.assertEqual(self.result.status_code, 400)
     self.assertEqual(self.result.body, None)
 def test_do_get_component_object_id_in_components(self):
     self.value = ComponentManager("456", self.MessageDispatcher)
     self.target.components = {"object_id": self.value}
     self.result = self.target._do_get_component("object_id")
     self.assertEqual(self.result.status_code, 200)
     self.assertEqual(self.result.body["type"], "ComponentManager")
     self.assertEqual(self.result.body["id"], "456")
 def test_do_put_component_object_id_in_components(self):
     self.value = ComponentManager("456", self.MessageDispatcher)
     self.target.register_component_type(self.value.__class__)
     self.value = {
         "type": "ComponentManager",
         "id": "456",
         "base_uri": "789"
     }
     self.target.components["456"] = "False"
     self.result = self.target._do_put_component(self.value, "456")
     self.assertEqual(self.result.status_code, 409)
     self.assertEqual(self.result.body, None)
 def test_do_put_component_error(self):
     self.value = ComponentManager("456", self.MessageDispatcher)
     self.target.register_component_type(self.value.__class__)
     self.target.components = MagicMock()
     self.target.components[" "].on_initialize.return_value = False
     self.value = {
         "type": "ComponentManager",
         "id": "456",
         "base_uri": "789"
     }
     self.result = self.target._do_put_component(self.value, "456")
     self.assertEqual(self.result.status_code, 201)
     self.target.components["456"].\
         _object_property.set_state.assert_called_once_with("error")
    def test_do_event_componentmanagerchanged_delete_action(self):
        self.value = ComponentManager("456", self.MessageDispatcher)
        self.target.register_component_type(self.value.__class__)
        self.value = {
            "type": "ComponentManager",
            "id": "456",
            "base_uri": "789"
        }
        self.result = self.target._do_put_component(self.value, "456")
        prev = self.target.components["456"].object_property.packed_object()

        self.target.dispatcher.remove_remote_client = Mock()
        self.value = {"action": "delete", "prev": prev, "curr": None}
        self.result = Response("add", self.value)
        self.target._do_event_componentmanagerchanged(self.result)
        self.assertEqual(
            self.target.dispatcher.remove_remote_client.call_count, 1)
 def setUp(self):
     self.target = ComponentManager("cc_action", self.MessageDispatcher)
 def test_do_get_component_object_id_not_in_components(self):
     self.value = ComponentManager("456", self.MessageDispatcher)
     self.target.components = {"False_id": self.value}
     self.result = self.target._do_get_component("object_id")
     self.assertEqual(self.result.status_code, 404)
     self.assertEqual(self.result.body, None)