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)
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