Exemplo n.º 1
0
def create_entity(oc: pyfiware.OrionConnector, entity_id: str,
                  element_type: str, data: Dict):
    try:
        print("Deleting entity with id: {}".format(entity_id))
        oc.delete(entity_id=entity_id)
    except pyfiware.FiException as err:
        print("Entity with id {} does not exist.".format(entity_id))
        print(err.message)

    print("Creating entity with id: {}".format(entity_id))

    oc.create(element_id=entity_id, element_type=element_type, attributes=data)
Exemplo n.º 2
0
class TestFiwareManagerCreations(TestCase):
    url = "http://127.0.0.1:1026"

    def setUp(self):
        self.fiware_manager = OrionConnector(self.url)

    @patch.object(OrionConnector, "_request",
                  Mock(return_value=DummyResponse(status=201, data='')))
    def test_create_blank(self):
        self.fiware_manager.create(element_id="1", element_type="fake")
        self.fiware_manager._request.assert_called_with(method='POST',
                                                        url=self.url +
                                                        '/v2/entities',
                                                        headers={
                                                            'Accept':
                                                            'application/json',
                                                            "Content-Type":
                                                            "application/json"
                                                        },
                                                        body={
                                                            'id': '1',
                                                            'type': 'fake'
                                                        })

    @patch.object(OrionConnector, "_request",
                  Mock(return_value=DummyResponse(status=201, data='')))
    def test_create_parameters(self):
        self.fiware_manager.create(element_id="1",
                                   element_type="fake",
                                   weight=300,
                                   size="100l")
        self.fiware_manager._request.assert_called_with(
            method='POST',
            url=self.url + '/v2/entities',
            headers={
                'Accept': 'application/json',
                "Content-Type": "application/json"
            },
            body={
                'id': '1',
                'type': 'fake',
                'weight': {
                    'value': 300,
                    'type': 'Integer'
                },
                'size': {
                    'value': "100l",
                    'type': "String"
                }
            })

    @patch.object(OrionConnector, "_request",
                  Mock(return_value=DummyResponse(status=201, data='')))
    def test_create_dict(self):
        self.fiware_manager.create(element_id="1",
                                   element_type="fake",
                                   **{
                                       'weight': 300,
                                       'size': "100l"
                                   })
        self.fiware_manager._request.assert_called_with(
            method='POST',
            url=self.url + '/v2/entities',
            headers={
                'Accept': 'application/json',
                'Content-Type': 'application/json',
            },
            body={
                'id': '1',
                'type': 'fake',
                'weight': {
                    'value': 300,
                    'type': 'Integer'
                },
                'size': {
                    'value': "100l",
                    'type': "String"
                }
            })

    @patch.object(OrionConnector, "_request",
                  Mock(return_value=DummyResponse(status=403, data='')))
    def test_create_raises(self):
        with self.assertRaises(FiException):
            self.fiware_manager.create(element_id="1",
                                       element_type="fake",
                                       **{
                                           'weight': 300,
                                           'size': "100l"
                                       })

    @patch.object(OrionConnector, "_request",
                  Mock(return_value=DummyResponse(status=201, data='')))
    def test_create_no_id(self):
        with self.assertRaises(TypeError):
            self.fiware_manager.create(entity_type="fake")  # pylint: disable=no-value-for-parameter

    @patch.object(OrionConnector, "_request",
                  Mock(return_value=DummyResponse(status=201, data='')))
    def test_create_no_type(self):
        with self.assertRaises(TypeError):
            self.fiware_manager.create(element_id="1")  # pylint: disable=no-value-for-parameter