def get_logic_mock(): global image_logic_mock image_logic_mock = mock.MagicMock() if return_error == 0: image_logic_mock.update_image.return_value = ImageWrapper() image_logic_mock.create_image.return_value = ImageWrapper() image_logic_mock.get_image_by_uuid.return_value = ImageWrapper() image_logic_mock.get_image_list_by_params.return_value = ImageSummaryResponse( ) elif return_error == 1: image_logic_mock.update_image.side_effect = SystemError() image_logic_mock.create_image.side_effect = SystemError() image_logic_mock.get_image_by_uuid.side_effect = SystemError() image_logic_mock.get_image_list_by_params.side_effect = SystemError() image_logic_mock.delete_image_by_uuid.side_effect = SystemError() elif return_error == 2: image_logic_mock.update_image.side_effect = ErrorStatus( status_code=404) image_logic_mock.create_image.side_effect = ErrorStatus( status_code=404) image_logic_mock.get_image_by_uuid.side_effect = ErrorStatus( status_code=404) image_logic_mock.get_image_list_by_params.side_effect = ErrorStatus( status_code=404) image_logic_mock.delete_image_by_uuid.side_effect = ErrorStatus( status_code=404) elif return_error == 3: image_logic_mock.create_image.side_effect = ErrorStatus( status_code=409) image_logic_mock.update_image.side_effect = ErrorStatus( status_code=409) return image_logic_mock
def test_get_sanity(self): global return_error return_error = 0 injector.override_injected_dependency( ('image_logic', get_logic_mock())) response = self.app.get('/v1/orm/images/test') self.assertEqual(ImageWrapper().tojson(), response.json)
def test_add_customers_sanity(self): global return_error return_error = 0 injector.override_injected_dependency( ('image_logic', get_logic_mock())) response = self.app.post_json('/v1/orm/images/id/customers', CUSTOMERS) self.assertEqual(ImageWrapper().tojson(), response.json) self.assertEqual(201, response.status_int)
def test_update_image_success(self): global return_error return_error = 0 injector.override_injected_dependency( ('image_logic', get_logic_mock())) response = self.app.put_json('/v1/orm/images/updatetest', image_json) self.assertEqual(ImageWrapper().tojson(), response.json) self.assertEqual(200, response.status_code)
def test_enabled_put_sanity(self): global return_error return_error = 0 injector.override_injected_dependency( ('image_logic', get_logic_mock())) response = self.app.put_json('/v1/orm/images/a/enabled/', ENABLED_JSON) self.assertEqual(ImageWrapper().tojson(), response.json) self.assertEqual(200, response.status_code)
def get_logic_mock(): global image_logic_mock image_logic_mock = mock.MagicMock() if return_error == 0: image_logic_mock.add_customers.return_value = ImageWrapper() image_logic_mock.replace_customers.return_value = ImageWrapper() elif return_error == 1: image_logic_mock.add_customers.side_effect = SystemError() image_logic_mock.replace_customers.side_effect = SystemError() image_logic_mock.delete_customer.side_effect = SystemError() elif return_error == 2: image_logic_mock.add_customers.side_effect = ErrorStatus( status_code=404) image_logic_mock.replace_customers.side_effect = ErrorStatus( status_code=404) image_logic_mock.delete_customer.side_effect = ErrorStatus( status_code=404) return image_logic_mock
def get_image_by_uuid(image_uuid): DataManager, rds_proxy = di.resolver.unpack(get_image_by_uuid) datamanager = DataManager() LOG.debug("Get image by uuid : {}".format(image_uuid)) try: datamanager.begin_transaction() image_rec = datamanager.get_record('image') sql_image = image_rec.get_image_by_id(image_uuid) if not sql_image: raise NotFoundError(status_code=404, message="Image {0} not found ".format( image_uuid)) image_wrapper = ImageWrapper.from_db_model(sql_image) # get image own link image_wrapper.image.links, image_wrapper.image.self_link = ImsUtils.get_server_links(image_uuid) # convert time stamp format to human readable time image_wrapper.image.created_at = ImsUtils.convert_time_human( image_wrapper.image.created_at) image_wrapper.image.updated_at = ImsUtils.convert_time_human( image_wrapper.image.updated_at) # Get the status from RDS image_status = rds_proxy.get_status(image_wrapper.image.id, False) if image_status.status_code != 200: return image_wrapper image_status = image_status.json() image_wrapper.image.status = image_status['status'] # update status for all regions for result_regions in image_wrapper.image.regions: for status_region in image_status['regions']: if result_regions.name == status_region['region']: result_regions.status = status_region['status'] except NotFoundError as exp: datamanager.rollback() LOG.log_exception("ImageLogic - Failed to update image", exp) raise exp except Exception as exp: datamanager.rollback() LOG.log_exception("ImageLogic - Failed to delete Customer", exp) raise return image_wrapper
def get_logic_mock(): global image_logic_mock image_logic_mock = mock.MagicMock() if return_error == 0: image_logic_mock.enable_image.return_value = ImageWrapper() elif return_error == 1: image_logic_mock.enable_image.side_effect = SystemError() elif return_error == 2: image_logic_mock.enable_image.side_effect = ErrorStatus( status_code=404) elif return_error == 3: image_logic_mock.enable_image.side_effect = ErrorStatus( status_code=409) return image_logic_mock