def test_return_true_if_delete_data_package_success(self): status = MetaDataDB.delete_data_package(self.publisher_one, self.package_one) self.assertTrue(status) data = MetaDataDB.query.join(Publisher). \ filter(Publisher.name == self.publisher_one, MetaDataDB.name == self.package_one).all() self.assertEqual(0, len(data)) data = Publisher.query.all() self.assertEqual(1, len(data))
def purge_data_package(publisher, package): """ DPR data package hard delete operation. This API is responsible for deletion of data package --- tags: - package parameters: - in: path name: publisher type: string required: true description: publisher name - in: path name: package type: string required: true description: package name responses: 500: description: Internal Server Error 200: description: Success Message schema: id: put_package_success properties: status: type: string default: OK """ try: bitstore = BitStore(publisher=publisher, package=package) status_acl = bitstore.delete_data_package() status_db = MetaDataDB.delete_data_package(publisher, package) if status_acl and status_db: return jsonify({"status": "OK"}), 200 if not status_acl: raise Exception('Failed to delete from s3') if not status_db: raise Exception('Failed to delete from db') except Exception as e: app.logger.error(e) return handle_error('GENERIC_ERROR', e.message, 500)
def test_return_false_if_error_occur(self): status = MetaDataDB.delete_data_package("fake_package", self.package_one) self.assertFalse(status)