def undelete_data_package(publisher, package): """ DPR data package un-delete operation. This API is responsible for un-mark the mark for delete 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 - in: header name: Authorization type: string required: true description: > Jwt token in format of "bearer {token}. The token can be generated from /api/auth/token" 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.change_acl('public-read') status_db = Package.change_status(publisher, package, PackageStateEnum.active) if status_acl and status_db: return jsonify({"status": "OK"}), 200 if not status_acl: raise Exception('Failed to change acl') if not status_db: raise Exception('Failed to change status') except Exception as e: app.logger.error(e) return handle_error('GENERIC_ERROR', e.message, 500)
def test_change_status(self): data = Package.query.join(Publisher). \ filter(Publisher.name == self.publisher_one, Package.name == self.package_one).one() self.assertEqual(PackageStateEnum.active, data.status) Package.change_status(self.publisher_one, self.package_one, PackageStateEnum.deleted) data = Package.query.join(Publisher). \ filter(Publisher.name == self.publisher_one, Package.name == self.package_one).one() self.assertEqual(PackageStateEnum.deleted, data.status) Package.change_status(self.publisher_one, self.package_one, status=PackageStateEnum.active) data = Package.query.join(Publisher). \ filter(Publisher.name == self.publisher_one, Package.name == self.package_one).one() self.assertEqual(PackageStateEnum.active, data.status)
def test_return_false_if_failed_to_change_status(self): status = Package.change_status(self.publisher_one, 'fake_package', status='active') self.assertFalse(status)