)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34120,"name":"Andre Aranha","display_name":"afariasa","email":"afariasa@redhat.com","username":"afariasa"},"change_message_id":"d5e5dc7a34f6bc4891d3dba8bd5d4bac4bf9d700","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"2fdaaa5d_35880b13","updated":"2022-10-12 08:54:46.000000000","message":"recheck","commit_id":"7f1192d75cf2c9b9486b1fbda849486008e10784"},{"author":{"_account_id":34120,"name":"Andre Aranha","display_name":"afariasa","email":"afariasa@redhat.com","username":"afariasa"},"change_message_id":"f9b1e85b1aeb9c1764dcdda832c684b890746cec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a3e21b7a_fbbfbbf9","updated":"2022-10-31 10:33:17.000000000","message":"recheck","commit_id":"7f1192d75cf2c9b9486b1fbda849486008e10784"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"4d928d616b08c4e371c6f4e3d7e1277fe0655bbf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"dc9ce8f1_46cca0b0","updated":"2022-12-06 10:06:55.000000000","message":"recheck","commit_id":"55a17c32c6d3e976c6fb35bb74850e6865b30374"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"0f0bf97e4751336d23c78062cceaf030825c0edf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"0c16e342_46639931","updated":"2023-01-02 12:31:42.000000000","message":"We need to release the dependencies first","commit_id":"40ae45d485215c741d2a256e54a158062d944eb6"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"3d465dd50a3bc6ef182706fbb92cd8c5a1fc47bf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"4e14abe2_a040b6f1","updated":"2023-01-09 12:01:18.000000000","message":"recheck","commit_id":"40ae45d485215c741d2a256e54a158062d944eb6"},{"author":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"change_message_id":"0b1d1c8d61ce141ecf24a286c867b4755f04fd13","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"7f4c47d7_b2387313","updated":"2023-01-12 13:53:40.000000000","message":"recheck","commit_id":"2a5ff90e3462c4f0198258b96ebbc93ade16f543"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"fc09b1910247d1b90a806a974b89d30e2b8e294c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"ff6538f6_99df24b5","updated":"2023-01-19 12:45:40.000000000","message":"This should be broken up into three patches each of which includes the relevant tests - \n1) adding consumer to objects\n2) add_consumers and delete_consumers\n3) force parameter","commit_id":"c905748b75ad9a94e86395e4153360804333d5e6"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"a264a3b985ff15a7409d27e2dbfa989a3c66fc63","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"16acc192_ab6bcdf7","updated":"2023-02-14 11:22:41.000000000","message":"We need unit tests for this change","commit_id":"76bf899bac9bf3def05f68fbef50536b0cf8ff71"}],"castellan/key_manager/barbican_key_manager.py":[{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"25b20ff0dc10732241dc489f2466ef94e6d7c70c","unresolved":true,"context_lines":[{"line_number":38,"context_line":"from castellan.i18n import _"},{"line_number":39,"context_line":"from castellan.key_manager import key_manager"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"from barbicanclient.api_versions import APIVersion"},{"line_number":42,"context_line":"from barbicanclient import client as barbican_client_import"},{"line_number":43,"context_line":"from barbicanclient import exceptions as barbican_exceptions"},{"line_number":44,"context_line":"from oslo_utils import timeutils"}],"source_content_type":"text/x-python","patch_set":6,"id":"49db8a9a_845a9d7f","line":41,"updated":"2022-12-07 12:12:33.000000000","message":"This import needs to be removed","commit_id":"55a17c32c6d3e976c6fb35bb74850e6865b30374"},{"author":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"change_message_id":"f683cbe617d2aa0c95fa1cf49076ece628aafc82","unresolved":false,"context_lines":[{"line_number":38,"context_line":"from castellan.i18n import _"},{"line_number":39,"context_line":"from castellan.key_manager import key_manager"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"from barbicanclient.api_versions import APIVersion"},{"line_number":42,"context_line":"from barbicanclient import client as barbican_client_import"},{"line_number":43,"context_line":"from barbicanclient import exceptions as barbican_exceptions"},{"line_number":44,"context_line":"from oslo_utils import timeutils"}],"source_content_type":"text/x-python","patch_set":6,"id":"88bfb63d_89ab3cd7","line":41,"in_reply_to":"49db8a9a_845a9d7f","updated":"2022-12-12 09:48:51.000000000","message":"Done","commit_id":"55a17c32c6d3e976c6fb35bb74850e6865b30374"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"b049713df798ba76723559d2aedd807a8ca5f8a7","unresolved":true,"context_lines":[{"line_number":596,"context_line":"        else:"},{"line_number":597,"context_line":"            return False"},{"line_number":598,"context_line":""},{"line_number":599,"context_line":"    def _check_server_version(self, context,"},{"line_number":600,"context_line":"                              min_version\u003dNone,"},{"line_number":601,"context_line":"                              max_version\u003dNone):"},{"line_number":602,"context_line":"        verify_ssl \u003d self.conf.barbican.verify_ssl"},{"line_number":603,"context_line":"        verify_ssl_path \u003d self.conf.barbican.verify_ssl_path"},{"line_number":604,"context_line":"        verify \u003d verify_ssl and verify_ssl_path or verify_ssl"},{"line_number":605,"context_line":"        try:"},{"line_number":606,"context_line":"            auth \u003d self._get_keystone_auth(context)"},{"line_number":607,"context_line":"            sess \u003d session.Session(auth\u003dauth, verify\u003dverify)"},{"line_number":608,"context_line":"            base_url \u003d self._create_base_url("},{"line_number":609,"context_line":"                auth, sess, self._barbican_endpoint)"},{"line_number":610,"context_line":"            versions \u003d discover.get_version_data("},{"line_number":611,"context_line":"                sess, base_url,"},{"line_number":612,"context_line":"                version_header\u003d\u0027key-manager 1.1\u0027)"},{"line_number":613,"context_line":"        except (barbican_exceptions.HTTPAuthError,"},{"line_number":614,"context_line":"                barbican_exceptions.HTTPClientError,"},{"line_number":615,"context_line":"                barbican_exceptions.HTTPServerError) as e:"},{"line_number":616,"context_line":"            LOG.error(\"Error getting server version: %s\", e)"},{"line_number":617,"context_line":"            raise exception.KeyManagerError(reason\u003de)"},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"        # only v1 is available now"},{"line_number":620,"context_line":"        server_version \u003d versions[0]"},{"line_number":621,"context_line":""},{"line_number":622,"context_line":"        server_min_version \u003d server_version.get(\u0027min_version\u0027, \u00271.0\u0027)"},{"line_number":623,"context_line":"        server_max_version \u003d server_version.get(\u0027max_version\u0027, \u00271.0\u0027)"},{"line_number":624,"context_line":""},{"line_number":625,"context_line":"        if min_version:"},{"line_number":626,"context_line":"            if server_max_version \u003c min_version:"},{"line_number":627,"context_line":"                return False"},{"line_number":628,"context_line":""},{"line_number":629,"context_line":"        if max_version:"},{"line_number":630,"context_line":"            if server_min_version \u003e max_version:"},{"line_number":631,"context_line":"                return False"},{"line_number":632,"context_line":""},{"line_number":633,"context_line":"        return True"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"    def get(self, context, managed_object_id, metadata_only\u003dFalse):"},{"line_number":636,"context_line":"        \"\"\"Retrieves the specified managed object."}],"source_content_type":"text/x-python","patch_set":18,"id":"e767b348_52d8662c","line":633,"range":{"start_line":599,"start_character":4,"end_line":633,"end_character":19},"updated":"2023-01-19 12:44:26.000000000","message":"No longer needed 😊","commit_id":"c905748b75ad9a94e86395e4153360804333d5e6"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"96b09f7b713718ad7483b162c9e868ed875c2a46","unresolved":false,"context_lines":[{"line_number":596,"context_line":"        else:"},{"line_number":597,"context_line":"            return False"},{"line_number":598,"context_line":""},{"line_number":599,"context_line":"    def _check_server_version(self, context,"},{"line_number":600,"context_line":"                              min_version\u003dNone,"},{"line_number":601,"context_line":"                              max_version\u003dNone):"},{"line_number":602,"context_line":"        verify_ssl \u003d self.conf.barbican.verify_ssl"},{"line_number":603,"context_line":"        verify_ssl_path \u003d self.conf.barbican.verify_ssl_path"},{"line_number":604,"context_line":"        verify \u003d verify_ssl and verify_ssl_path or verify_ssl"},{"line_number":605,"context_line":"        try:"},{"line_number":606,"context_line":"            auth \u003d self._get_keystone_auth(context)"},{"line_number":607,"context_line":"            sess \u003d session.Session(auth\u003dauth, verify\u003dverify)"},{"line_number":608,"context_line":"            base_url \u003d self._create_base_url("},{"line_number":609,"context_line":"                auth, sess, self._barbican_endpoint)"},{"line_number":610,"context_line":"            versions \u003d discover.get_version_data("},{"line_number":611,"context_line":"                sess, base_url,"},{"line_number":612,"context_line":"                version_header\u003d\u0027key-manager 1.1\u0027)"},{"line_number":613,"context_line":"        except (barbican_exceptions.HTTPAuthError,"},{"line_number":614,"context_line":"                barbican_exceptions.HTTPClientError,"},{"line_number":615,"context_line":"                barbican_exceptions.HTTPServerError) as e:"},{"line_number":616,"context_line":"            LOG.error(\"Error getting server version: %s\", e)"},{"line_number":617,"context_line":"            raise exception.KeyManagerError(reason\u003de)"},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"        # only v1 is available now"},{"line_number":620,"context_line":"        server_version \u003d versions[0]"},{"line_number":621,"context_line":""},{"line_number":622,"context_line":"        server_min_version \u003d server_version.get(\u0027min_version\u0027, \u00271.0\u0027)"},{"line_number":623,"context_line":"        server_max_version \u003d server_version.get(\u0027max_version\u0027, \u00271.0\u0027)"},{"line_number":624,"context_line":""},{"line_number":625,"context_line":"        if min_version:"},{"line_number":626,"context_line":"            if server_max_version \u003c min_version:"},{"line_number":627,"context_line":"                return False"},{"line_number":628,"context_line":""},{"line_number":629,"context_line":"        if max_version:"},{"line_number":630,"context_line":"            if server_min_version \u003e max_version:"},{"line_number":631,"context_line":"                return False"},{"line_number":632,"context_line":""},{"line_number":633,"context_line":"        return True"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"    def get(self, context, managed_object_id, metadata_only\u003dFalse):"},{"line_number":636,"context_line":"        \"\"\"Retrieves the specified managed object."}],"source_content_type":"text/x-python","patch_set":18,"id":"aa8afbc0_a81ec5bd","line":633,"range":{"start_line":599,"start_character":4,"end_line":633,"end_character":19},"in_reply_to":"e767b348_52d8662c","updated":"2023-02-15 12:19:59.000000000","message":"Done","commit_id":"c905748b75ad9a94e86395e4153360804333d5e6"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"b049713df798ba76723559d2aedd807a8ca5f8a7","unresolved":true,"context_lines":[{"line_number":673,"context_line":"        try:"},{"line_number":674,"context_line":"            secret_ref \u003d self._create_secret_ref(managed_object_id)"},{"line_number":675,"context_line":"            barbican_client.secrets.delete(secret_ref, force)"},{"line_number":676,"context_line":"        except ValueError as e:"},{"line_number":677,"context_line":"            LOG.error(\"Error deleting object: %s\", e)"},{"line_number":678,"context_line":"            msg \u003d (\"Secret has consumers! Use the \u0027force\u0027 parameter \""},{"line_number":679,"context_line":"                   \"equals True.\")"},{"line_number":680,"context_line":"            raise ValueError(msg)"},{"line_number":681,"context_line":"        except (barbican_exceptions.HTTPAuthError,"},{"line_number":682,"context_line":"                barbican_exceptions.HTTPClientError,"},{"line_number":683,"context_line":"                barbican_exceptions.HTTPServerError) as e:"}],"source_content_type":"text/x-python","patch_set":18,"id":"d7ac7dba_44d903eb","line":680,"range":{"start_line":676,"start_character":8,"end_line":680,"end_character":33},"updated":"2023-01-19 12:44:26.000000000","message":"The call is already going to throw a ValueError - no need to catch it here.","commit_id":"c905748b75ad9a94e86395e4153360804333d5e6"},{"author":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"change_message_id":"cafbcf93d588b603a94ac5b1af5c6e15efa4ba17","unresolved":false,"context_lines":[{"line_number":673,"context_line":"        try:"},{"line_number":674,"context_line":"            secret_ref \u003d self._create_secret_ref(managed_object_id)"},{"line_number":675,"context_line":"            barbican_client.secrets.delete(secret_ref, force)"},{"line_number":676,"context_line":"        except ValueError as e:"},{"line_number":677,"context_line":"            LOG.error(\"Error deleting object: %s\", e)"},{"line_number":678,"context_line":"            msg \u003d (\"Secret has consumers! Use the \u0027force\u0027 parameter \""},{"line_number":679,"context_line":"                   \"equals True.\")"},{"line_number":680,"context_line":"            raise ValueError(msg)"},{"line_number":681,"context_line":"        except (barbican_exceptions.HTTPAuthError,"},{"line_number":682,"context_line":"                barbican_exceptions.HTTPClientError,"},{"line_number":683,"context_line":"                barbican_exceptions.HTTPServerError) as e:"}],"source_content_type":"text/x-python","patch_set":18,"id":"220e35ba_b2de9d5c","line":680,"range":{"start_line":676,"start_character":8,"end_line":680,"end_character":33},"in_reply_to":"aab39698_332e1eda","updated":"2023-02-15 12:33:22.000000000","message":"Done","commit_id":"c905748b75ad9a94e86395e4153360804333d5e6"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"a264a3b985ff15a7409d27e2dbfa989a3c66fc63","unresolved":true,"context_lines":[{"line_number":673,"context_line":"        try:"},{"line_number":674,"context_line":"            secret_ref \u003d self._create_secret_ref(managed_object_id)"},{"line_number":675,"context_line":"            barbican_client.secrets.delete(secret_ref, force)"},{"line_number":676,"context_line":"        except ValueError as e:"},{"line_number":677,"context_line":"            LOG.error(\"Error deleting object: %s\", e)"},{"line_number":678,"context_line":"            msg \u003d (\"Secret has consumers! Use the \u0027force\u0027 parameter \""},{"line_number":679,"context_line":"                   \"equals True.\")"},{"line_number":680,"context_line":"            raise ValueError(msg)"},{"line_number":681,"context_line":"        except (barbican_exceptions.HTTPAuthError,"},{"line_number":682,"context_line":"                barbican_exceptions.HTTPClientError,"},{"line_number":683,"context_line":"                barbican_exceptions.HTTPServerError) as e:"}],"source_content_type":"text/x-python","patch_set":18,"id":"aab39698_332e1eda","line":680,"range":{"start_line":676,"start_character":8,"end_line":680,"end_character":33},"in_reply_to":"d7ac7dba_44d903eb","updated":"2023-02-14 11:22:41.000000000","message":"+1","commit_id":"c905748b75ad9a94e86395e4153360804333d5e6"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"b049713df798ba76723559d2aedd807a8ca5f8a7","unresolved":true,"context_lines":[{"line_number":698,"context_line":"        :raises KeyManagerError: if object deletion fails"},{"line_number":699,"context_line":"        :raises ManagedObjectNotFoundError: if the object could not be found"},{"line_number":700,"context_line":"        \"\"\""},{"line_number":701,"context_line":"        if not self._check_server_version(context, min_version\u003d\u00271.1\u0027):"},{"line_number":702,"context_line":"            raise NotImplementedError("},{"line_number":703,"context_line":"                \"The barbican server does not implement consumers.  \""},{"line_number":704,"context_line":"                \"Update the server to at least version 1.1.\""},{"line_number":705,"context_line":"            )"},{"line_number":706,"context_line":""},{"line_number":707,"context_line":"        barbican_client \u003d self._get_barbican_client(context)"},{"line_number":708,"context_line":"        try:"},{"line_number":709,"context_line":"            secret_ref \u003d self._create_secret_ref(managed_object_id)"}],"source_content_type":"text/x-python","patch_set":18,"id":"faf293b2_fe9c1d70","line":706,"range":{"start_line":701,"start_character":8,"end_line":706,"end_character":0},"updated":"2023-01-19 12:44:26.000000000","message":"This is no longer needed - the register_consumer call will just throw a NotImplementedError.","commit_id":"c905748b75ad9a94e86395e4153360804333d5e6"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"96b09f7b713718ad7483b162c9e868ed875c2a46","unresolved":false,"context_lines":[{"line_number":698,"context_line":"        :raises KeyManagerError: if object deletion fails"},{"line_number":699,"context_line":"        :raises ManagedObjectNotFoundError: if the object could not be found"},{"line_number":700,"context_line":"        \"\"\""},{"line_number":701,"context_line":"        if not self._check_server_version(context, min_version\u003d\u00271.1\u0027):"},{"line_number":702,"context_line":"            raise NotImplementedError("},{"line_number":703,"context_line":"                \"The barbican server does not implement consumers.  \""},{"line_number":704,"context_line":"                \"Update the server to at least version 1.1.\""},{"line_number":705,"context_line":"            )"},{"line_number":706,"context_line":""},{"line_number":707,"context_line":"        barbican_client \u003d self._get_barbican_client(context)"},{"line_number":708,"context_line":"        try:"},{"line_number":709,"context_line":"            secret_ref \u003d self._create_secret_ref(managed_object_id)"}],"source_content_type":"text/x-python","patch_set":18,"id":"e89ba5cf_7d5e5ea0","line":706,"range":{"start_line":701,"start_character":8,"end_line":706,"end_character":0},"in_reply_to":"faf293b2_fe9c1d70","updated":"2023-02-15 12:19:59.000000000","message":"Done","commit_id":"c905748b75ad9a94e86395e4153360804333d5e6"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"b049713df798ba76723559d2aedd807a8ca5f8a7","unresolved":true,"context_lines":[{"line_number":721,"context_line":"                raise exception.KeyManagerError(reason\u003de)"},{"line_number":722,"context_line":""},{"line_number":723,"context_line":"    def remove_consumer(self, context, managed_object_id, consumer_data):"},{"line_number":724,"context_line":"        if not self._check_server_version(context, min_version\u003d\u00271.1\u0027):"},{"line_number":725,"context_line":"            raise NotImplementedError("},{"line_number":726,"context_line":"                \"The barbican server does not implement consumers.  \""},{"line_number":727,"context_line":"                \"Update the server to at least version 1.1.\""},{"line_number":728,"context_line":"            )"},{"line_number":729,"context_line":""},{"line_number":730,"context_line":"        barbican_client \u003d self._get_barbican_client(context)"},{"line_number":731,"context_line":"        try:"},{"line_number":732,"context_line":"            secret_ref \u003d self._create_secret_ref(managed_object_id)"}],"source_content_type":"text/x-python","patch_set":18,"id":"95b22639_5f5044cd","line":729,"range":{"start_line":724,"start_character":8,"end_line":729,"end_character":0},"updated":"2023-01-19 12:44:26.000000000","message":"ditto as above.","commit_id":"c905748b75ad9a94e86395e4153360804333d5e6"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"96b09f7b713718ad7483b162c9e868ed875c2a46","unresolved":false,"context_lines":[{"line_number":721,"context_line":"                raise exception.KeyManagerError(reason\u003de)"},{"line_number":722,"context_line":""},{"line_number":723,"context_line":"    def remove_consumer(self, context, managed_object_id, consumer_data):"},{"line_number":724,"context_line":"        if not self._check_server_version(context, min_version\u003d\u00271.1\u0027):"},{"line_number":725,"context_line":"            raise NotImplementedError("},{"line_number":726,"context_line":"                \"The barbican server does not implement consumers.  \""},{"line_number":727,"context_line":"                \"Update the server to at least version 1.1.\""},{"line_number":728,"context_line":"            )"},{"line_number":729,"context_line":""},{"line_number":730,"context_line":"        barbican_client \u003d self._get_barbican_client(context)"},{"line_number":731,"context_line":"        try:"},{"line_number":732,"context_line":"            secret_ref \u003d self._create_secret_ref(managed_object_id)"}],"source_content_type":"text/x-python","patch_set":18,"id":"6d1a2202_4532f86a","line":729,"range":{"start_line":724,"start_character":8,"end_line":729,"end_character":0},"in_reply_to":"95b22639_5f5044cd","updated":"2023-02-15 12:19:59.000000000","message":"Done","commit_id":"c905748b75ad9a94e86395e4153360804333d5e6"}],"castellan/key_manager/not_implemented_key_manager.py":[{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"b049713df798ba76723559d2aedd807a8ca5f8a7","unresolved":true,"context_lines":[{"line_number":48,"context_line":"    def list(self, context, object_type\u003dNone):"},{"line_number":49,"context_line":"        raise NotImplementedError()"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def delete(self, context, managed_object_id, force\u003dFalse, **kwargs):"},{"line_number":52,"context_line":"        raise NotImplementedError()"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def add_consumer(self, context, managed_object_id, consumer_data):"}],"source_content_type":"text/x-python","patch_set":18,"id":"a435a404_a5cb3d6b","line":51,"range":{"start_line":51,"start_character":62,"end_line":51,"end_character":70},"updated":"2023-01-19 12:44:26.000000000","message":"remove this","commit_id":"c905748b75ad9a94e86395e4153360804333d5e6"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"a264a3b985ff15a7409d27e2dbfa989a3c66fc63","unresolved":true,"context_lines":[{"line_number":48,"context_line":"    def list(self, context, object_type\u003dNone):"},{"line_number":49,"context_line":"        raise NotImplementedError()"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def delete(self, context, managed_object_id, force\u003dFalse, **kwargs):"},{"line_number":52,"context_line":"        raise NotImplementedError()"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def add_consumer(self, context, managed_object_id, consumer_data):"}],"source_content_type":"text/x-python","patch_set":18,"id":"b47cbcb4_a1ef85a3","line":51,"range":{"start_line":51,"start_character":62,"end_line":51,"end_character":70},"in_reply_to":"a435a404_a5cb3d6b","updated":"2023-02-14 11:22:41.000000000","message":"yeah, I don\u0027t think we need **kwargs here","commit_id":"c905748b75ad9a94e86395e4153360804333d5e6"},{"author":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"change_message_id":"cafbcf93d588b603a94ac5b1af5c6e15efa4ba17","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    def list(self, context, object_type\u003dNone):"},{"line_number":49,"context_line":"        raise NotImplementedError()"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def delete(self, context, managed_object_id, force\u003dFalse, **kwargs):"},{"line_number":52,"context_line":"        raise NotImplementedError()"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def add_consumer(self, context, managed_object_id, consumer_data):"}],"source_content_type":"text/x-python","patch_set":18,"id":"15607b8e_750ef117","line":51,"range":{"start_line":51,"start_character":62,"end_line":51,"end_character":70},"in_reply_to":"b47cbcb4_a1ef85a3","updated":"2023-02-15 12:33:22.000000000","message":"Done","commit_id":"c905748b75ad9a94e86395e4153360804333d5e6"}],"castellan/tests/functional/config.py":[{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"a264a3b985ff15a7409d27e2dbfa989a3c66fc63","unresolved":true,"context_lines":[{"line_number":28,"context_line":"               default\u003d\u0027admin\u0027,"},{"line_number":29,"context_line":"               help\u003d\u0027Keystone username\u0027),"},{"line_number":30,"context_line":"    cfg.StrOpt(\u0027password\u0027,"},{"line_number":31,"context_line":"               default\u003d\u0027secret\u0027,"},{"line_number":32,"context_line":"               help\u003d\u0027Password used with Keystone username\u0027),"},{"line_number":33,"context_line":"    cfg.StrOpt(\u0027project_name\u0027,"},{"line_number":34,"context_line":"               default\u003d\u0027admin\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"461d897f_fca91087","line":31,"updated":"2023-02-14 11:22:41.000000000","message":"We shouldn\u0027t change this here, since it is unrelated to the original change described in the commit message. If it\u0027s required this change should be in a separate patch with a description why it\u0027s needed in the commit message, preferably, there should also be a bug opened.","commit_id":"76bf899bac9bf3def05f68fbef50536b0cf8ff71"},{"author":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"change_message_id":"cafbcf93d588b603a94ac5b1af5c6e15efa4ba17","unresolved":false,"context_lines":[{"line_number":28,"context_line":"               default\u003d\u0027admin\u0027,"},{"line_number":29,"context_line":"               help\u003d\u0027Keystone username\u0027),"},{"line_number":30,"context_line":"    cfg.StrOpt(\u0027password\u0027,"},{"line_number":31,"context_line":"               default\u003d\u0027secret\u0027,"},{"line_number":32,"context_line":"               help\u003d\u0027Password used with Keystone username\u0027),"},{"line_number":33,"context_line":"    cfg.StrOpt(\u0027project_name\u0027,"},{"line_number":34,"context_line":"               default\u003d\u0027admin\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"ca8ed03b_1ca76403","line":31,"in_reply_to":"461d897f_fca91087","updated":"2023-02-15 12:33:22.000000000","message":"Done","commit_id":"76bf899bac9bf3def05f68fbef50536b0cf8ff71"}],"castellan/tests/unit/key_manager/mock_key_manager.py":[{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"b049713df798ba76723559d2aedd807a8ca5f8a7","unresolved":true,"context_lines":[{"line_number":188,"context_line":"                obj._passphrase \u003d None"},{"line_number":189,"context_line":"        return obj"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    def delete(self, context, managed_object_id, **kwargs):"},{"line_number":192,"context_line":"        \"\"\"Deletes the object identified by the specified id."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        A Forbidden exception is raised if the context is None and a"}],"source_content_type":"text/x-python","patch_set":18,"id":"be3fae97_91fa462b","line":191,"range":{"start_line":191,"start_character":49,"end_line":191,"end_character":57},"updated":"2023-01-19 12:44:26.000000000","message":"this should be force","commit_id":"c905748b75ad9a94e86395e4153360804333d5e6"},{"author":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"change_message_id":"cafbcf93d588b603a94ac5b1af5c6e15efa4ba17","unresolved":false,"context_lines":[{"line_number":188,"context_line":"                obj._passphrase \u003d None"},{"line_number":189,"context_line":"        return obj"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    def delete(self, context, managed_object_id, **kwargs):"},{"line_number":192,"context_line":"        \"\"\"Deletes the object identified by the specified id."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        A Forbidden exception is raised if the context is None and a"}],"source_content_type":"text/x-python","patch_set":18,"id":"e29ddc7d_a9c615d5","line":191,"range":{"start_line":191,"start_character":49,"end_line":191,"end_character":57},"in_reply_to":"be3fae97_91fa462b","updated":"2023-02-15 12:33:22.000000000","message":"Done","commit_id":"c905748b75ad9a94e86395e4153360804333d5e6"}],"castellan/tests/unit/key_manager/test_barbican_key_manager.py":[{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"7e120af3f0b4e76e2b377e31f5150ebac13b12e5","unresolved":true,"context_lines":[{"line_number":386,"context_line":"        self.delete.assert_called_once_with(self.secret_ref, False)"},{"line_number":387,"context_line":""},{"line_number":388,"context_line":"    def test_delete_secret_with_consumers_no_force_parameter(self):"},{"line_number":389,"context_line":"        self.key_mgr.add_consumer("},{"line_number":390,"context_line":"            self.ctxt, self.secret_ref, self._get_custom_consumer_data())"},{"line_number":391,"context_line":"        self.mock_barbican.secrets.delete \u003d mock.Mock("},{"line_number":392,"context_line":"            side_effect\u003dbarbican_exceptions.HTTPClientError("}],"source_content_type":"text/x-python","patch_set":27,"id":"a408dfd4_9cbe054a","line":389,"updated":"2023-02-16 11:09:10.000000000","message":"I don\u0027t think this line does anything.","commit_id":"ccbf89847f5cc43724943f7e134be477b1457069"},{"author":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"change_message_id":"fd89e90c1941d6966cbd80bb825035b077a09e51","unresolved":false,"context_lines":[{"line_number":386,"context_line":"        self.delete.assert_called_once_with(self.secret_ref, False)"},{"line_number":387,"context_line":""},{"line_number":388,"context_line":"    def test_delete_secret_with_consumers_no_force_parameter(self):"},{"line_number":389,"context_line":"        self.key_mgr.add_consumer("},{"line_number":390,"context_line":"            self.ctxt, self.secret_ref, self._get_custom_consumer_data())"},{"line_number":391,"context_line":"        self.mock_barbican.secrets.delete \u003d mock.Mock("},{"line_number":392,"context_line":"            side_effect\u003dbarbican_exceptions.HTTPClientError("}],"source_content_type":"text/x-python","patch_set":27,"id":"e8ecbf49_3fa78e52","line":389,"in_reply_to":"a408dfd4_9cbe054a","updated":"2023-02-16 11:41:23.000000000","message":"Done","commit_id":"ccbf89847f5cc43724943f7e134be477b1457069"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"7e120af3f0b4e76e2b377e31f5150ebac13b12e5","unresolved":true,"context_lines":[{"line_number":391,"context_line":"        self.mock_barbican.secrets.delete \u003d mock.Mock("},{"line_number":392,"context_line":"            side_effect\u003dbarbican_exceptions.HTTPClientError("},{"line_number":393,"context_line":"                \u0027Secret has consumers!\u0027))"},{"line_number":394,"context_line":"        self.assertRaises(exception.KeyManagerError,"},{"line_number":395,"context_line":"                          self.key_mgr.delete, self.ctxt, self.secret_ref)"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"    def test_delete_secret_with_consumers_force_parameter_false(self):"}],"source_content_type":"text/x-python","patch_set":27,"id":"042f39a9_e6e135d0","line":394,"updated":"2023-02-16 11:09:10.000000000","message":"At this point we are just checking that the mock_barbican.secrets.delete is called. We should additionally check if it is called with the correct arguments.","commit_id":"ccbf89847f5cc43724943f7e134be477b1457069"},{"author":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"change_message_id":"fd89e90c1941d6966cbd80bb825035b077a09e51","unresolved":false,"context_lines":[{"line_number":391,"context_line":"        self.mock_barbican.secrets.delete \u003d mock.Mock("},{"line_number":392,"context_line":"            side_effect\u003dbarbican_exceptions.HTTPClientError("},{"line_number":393,"context_line":"                \u0027Secret has consumers!\u0027))"},{"line_number":394,"context_line":"        self.assertRaises(exception.KeyManagerError,"},{"line_number":395,"context_line":"                          self.key_mgr.delete, self.ctxt, self.secret_ref)"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"    def test_delete_secret_with_consumers_force_parameter_false(self):"}],"source_content_type":"text/x-python","patch_set":27,"id":"8122fbea_5a98450e","line":394,"in_reply_to":"042f39a9_e6e135d0","updated":"2023-02-16 11:41:23.000000000","message":"Done","commit_id":"ccbf89847f5cc43724943f7e134be477b1457069"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"65182cd5bd480331d687788bdd21e6977deb6947","unresolved":true,"context_lines":[{"line_number":391,"context_line":"        self.mock_barbican.secrets.delete \u003d mock.Mock("},{"line_number":392,"context_line":"            side_effect\u003dbarbican_exceptions.HTTPClientError("},{"line_number":393,"context_line":"                \u0027Secret has consumers!\u0027))"},{"line_number":394,"context_line":"        self.assertRaises(exception.KeyManagerError,"},{"line_number":395,"context_line":"                          self.key_mgr.delete, self.ctxt, self.secret_ref)"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"    def test_delete_secret_with_consumers_force_parameter_false(self):"}],"source_content_type":"text/x-python","patch_set":27,"id":"b7576449_78e64607","line":394,"in_reply_to":"8122fbea_5a98450e","updated":"2023-02-16 12:50:12.000000000","message":"You are still missing the called_with assertion here","commit_id":"ccbf89847f5cc43724943f7e134be477b1457069"},{"author":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"change_message_id":"193e617c8454df54ce579286ccb175a4cd037648","unresolved":false,"context_lines":[{"line_number":391,"context_line":"        self.mock_barbican.secrets.delete \u003d mock.Mock("},{"line_number":392,"context_line":"            side_effect\u003dbarbican_exceptions.HTTPClientError("},{"line_number":393,"context_line":"                \u0027Secret has consumers!\u0027))"},{"line_number":394,"context_line":"        self.assertRaises(exception.KeyManagerError,"},{"line_number":395,"context_line":"                          self.key_mgr.delete, self.ctxt, self.secret_ref)"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"    def test_delete_secret_with_consumers_force_parameter_false(self):"}],"source_content_type":"text/x-python","patch_set":27,"id":"872f455f_0a7504a6","line":394,"in_reply_to":"b7576449_78e64607","updated":"2023-02-17 09:17:16.000000000","message":"Done","commit_id":"ccbf89847f5cc43724943f7e134be477b1457069"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"7e120af3f0b4e76e2b377e31f5150ebac13b12e5","unresolved":true,"context_lines":[{"line_number":395,"context_line":"                          self.key_mgr.delete, self.ctxt, self.secret_ref)"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"    def test_delete_secret_with_consumers_force_parameter_false(self):"},{"line_number":398,"context_line":"        self.key_mgr.add_consumer("},{"line_number":399,"context_line":"            self.ctxt, self.secret_ref, self._get_custom_consumer_data())"},{"line_number":400,"context_line":"        self.mock_barbican.secrets.delete \u003d mock.Mock("},{"line_number":401,"context_line":"            side_effect\u003dbarbican_exceptions.HTTPClientError("}],"source_content_type":"text/x-python","patch_set":27,"id":"c32823cf_d713a100","line":398,"updated":"2023-02-16 11:09:10.000000000","message":"Same as above, calling add_consumer on the mock doesn\u0027t do anything.","commit_id":"ccbf89847f5cc43724943f7e134be477b1457069"},{"author":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"change_message_id":"fd89e90c1941d6966cbd80bb825035b077a09e51","unresolved":false,"context_lines":[{"line_number":395,"context_line":"                          self.key_mgr.delete, self.ctxt, self.secret_ref)"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"    def test_delete_secret_with_consumers_force_parameter_false(self):"},{"line_number":398,"context_line":"        self.key_mgr.add_consumer("},{"line_number":399,"context_line":"            self.ctxt, self.secret_ref, self._get_custom_consumer_data())"},{"line_number":400,"context_line":"        self.mock_barbican.secrets.delete \u003d mock.Mock("},{"line_number":401,"context_line":"            side_effect\u003dbarbican_exceptions.HTTPClientError("}],"source_content_type":"text/x-python","patch_set":27,"id":"36865c51_447cef4c","line":398,"in_reply_to":"c32823cf_d713a100","updated":"2023-02-16 11:41:23.000000000","message":"Done","commit_id":"ccbf89847f5cc43724943f7e134be477b1457069"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"7e120af3f0b4e76e2b377e31f5150ebac13b12e5","unresolved":true,"context_lines":[{"line_number":400,"context_line":"        self.mock_barbican.secrets.delete \u003d mock.Mock("},{"line_number":401,"context_line":"            side_effect\u003dbarbican_exceptions.HTTPClientError("},{"line_number":402,"context_line":"                \u0027Secret has consumers!\u0027))"},{"line_number":403,"context_line":"        self.assertRaises(exception.KeyManagerError,"},{"line_number":404,"context_line":"                          self.key_mgr.delete, self.ctxt, self.secret_ref,"},{"line_number":405,"context_line":"                          force\u003dFalse)"},{"line_number":406,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"08cfac13_8d8fe6d8","line":403,"updated":"2023-02-16 11:09:10.000000000","message":"Comment from line 394 applies here as well","commit_id":"ccbf89847f5cc43724943f7e134be477b1457069"},{"author":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"change_message_id":"fd89e90c1941d6966cbd80bb825035b077a09e51","unresolved":false,"context_lines":[{"line_number":400,"context_line":"        self.mock_barbican.secrets.delete \u003d mock.Mock("},{"line_number":401,"context_line":"            side_effect\u003dbarbican_exceptions.HTTPClientError("},{"line_number":402,"context_line":"                \u0027Secret has consumers!\u0027))"},{"line_number":403,"context_line":"        self.assertRaises(exception.KeyManagerError,"},{"line_number":404,"context_line":"                          self.key_mgr.delete, self.ctxt, self.secret_ref,"},{"line_number":405,"context_line":"                          force\u003dFalse)"},{"line_number":406,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"22a7d4d3_af988cfb","line":403,"in_reply_to":"08cfac13_8d8fe6d8","updated":"2023-02-16 11:41:23.000000000","message":"Done","commit_id":"ccbf89847f5cc43724943f7e134be477b1457069"},{"author":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"change_message_id":"193e617c8454df54ce579286ccb175a4cd037648","unresolved":false,"context_lines":[{"line_number":400,"context_line":"        self.mock_barbican.secrets.delete \u003d mock.Mock("},{"line_number":401,"context_line":"            side_effect\u003dbarbican_exceptions.HTTPClientError("},{"line_number":402,"context_line":"                \u0027Secret has consumers!\u0027))"},{"line_number":403,"context_line":"        self.assertRaises(exception.KeyManagerError,"},{"line_number":404,"context_line":"                          self.key_mgr.delete, self.ctxt, self.secret_ref,"},{"line_number":405,"context_line":"                          force\u003dFalse)"},{"line_number":406,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"66650b98_47d88895","line":403,"in_reply_to":"0f832e6e_9591c29f","updated":"2023-02-17 09:17:16.000000000","message":"Done","commit_id":"ccbf89847f5cc43724943f7e134be477b1457069"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"65182cd5bd480331d687788bdd21e6977deb6947","unresolved":true,"context_lines":[{"line_number":400,"context_line":"        self.mock_barbican.secrets.delete \u003d mock.Mock("},{"line_number":401,"context_line":"            side_effect\u003dbarbican_exceptions.HTTPClientError("},{"line_number":402,"context_line":"                \u0027Secret has consumers!\u0027))"},{"line_number":403,"context_line":"        self.assertRaises(exception.KeyManagerError,"},{"line_number":404,"context_line":"                          self.key_mgr.delete, self.ctxt, self.secret_ref,"},{"line_number":405,"context_line":"                          force\u003dFalse)"},{"line_number":406,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"0f832e6e_9591c29f","line":403,"in_reply_to":"22a7d4d3_af988cfb","updated":"2023-02-16 12:50:12.000000000","message":"and here","commit_id":"ccbf89847f5cc43724943f7e134be477b1457069"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"7e120af3f0b4e76e2b377e31f5150ebac13b12e5","unresolved":true,"context_lines":[{"line_number":405,"context_line":"                          force\u003dFalse)"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"    def test_delete_secret_with_consumers_force_parameter_true(self):"},{"line_number":408,"context_line":"        self.key_mgr.add_consumer("},{"line_number":409,"context_line":"            self.ctxt, self.secret_ref, self._get_custom_consumer_data())"},{"line_number":410,"context_line":"        self.key_mgr.delete(self.ctxt, self.secret_ref, force\u003dTrue)"},{"line_number":411,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"b67ed0e6_537d8d8f","line":408,"updated":"2023-02-16 11:09:10.000000000","message":"ditto","commit_id":"ccbf89847f5cc43724943f7e134be477b1457069"},{"author":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"change_message_id":"fd89e90c1941d6966cbd80bb825035b077a09e51","unresolved":false,"context_lines":[{"line_number":405,"context_line":"                          force\u003dFalse)"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"    def test_delete_secret_with_consumers_force_parameter_true(self):"},{"line_number":408,"context_line":"        self.key_mgr.add_consumer("},{"line_number":409,"context_line":"            self.ctxt, self.secret_ref, self._get_custom_consumer_data())"},{"line_number":410,"context_line":"        self.key_mgr.delete(self.ctxt, self.secret_ref, force\u003dTrue)"},{"line_number":411,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"6cdcc4d6_902f35dd","line":408,"in_reply_to":"b67ed0e6_537d8d8f","updated":"2023-02-16 11:41:23.000000000","message":"Done","commit_id":"ccbf89847f5cc43724943f7e134be477b1457069"},{"author":{"_account_id":34120,"name":"Andre Aranha","display_name":"afariasa","email":"afariasa@redhat.com","username":"afariasa"},"change_message_id":"0c9e9874106ac51a586d74d65c1eb741ee9a3efc","unresolved":true,"context_lines":[{"line_number":407,"context_line":"    def test_delete_secret_with_consumers_force_parameter_true(self):"},{"line_number":408,"context_line":"        self.key_mgr.add_consumer("},{"line_number":409,"context_line":"            self.ctxt, self.secret_ref, self._get_custom_consumer_data())"},{"line_number":410,"context_line":"        self.key_mgr.delete(self.ctxt, self.secret_ref, force\u003dTrue)"},{"line_number":411,"context_line":""},{"line_number":412,"context_line":"    def test_delete_unknown_key(self):"},{"line_number":413,"context_line":"        self.assertRaises(exception.KeyManagerError,"}],"source_content_type":"text/x-python","patch_set":27,"id":"c2a0c228_1249d707","line":410,"updated":"2023-02-16 11:03:12.000000000","message":"self.key_mgr is mocked, so just calling delete won\u0027t suffice, we should do like \"test_delete_key\", that called delete and checked if was called with the correct parameters","commit_id":"ccbf89847f5cc43724943f7e134be477b1457069"},{"author":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"change_message_id":"fd89e90c1941d6966cbd80bb825035b077a09e51","unresolved":false,"context_lines":[{"line_number":407,"context_line":"    def test_delete_secret_with_consumers_force_parameter_true(self):"},{"line_number":408,"context_line":"        self.key_mgr.add_consumer("},{"line_number":409,"context_line":"            self.ctxt, self.secret_ref, self._get_custom_consumer_data())"},{"line_number":410,"context_line":"        self.key_mgr.delete(self.ctxt, self.secret_ref, force\u003dTrue)"},{"line_number":411,"context_line":""},{"line_number":412,"context_line":"    def test_delete_unknown_key(self):"},{"line_number":413,"context_line":"        self.assertRaises(exception.KeyManagerError,"}],"source_content_type":"text/x-python","patch_set":27,"id":"e9efd56b_152939c3","line":410,"in_reply_to":"c2a0c228_1249d707","updated":"2023-02-16 11:41:23.000000000","message":"Done","commit_id":"ccbf89847f5cc43724943f7e134be477b1457069"}],"requirements.txt":[{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"7e120af3f0b4e76e2b377e31f5150ebac13b12e5","unresolved":true,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"pbr!\u003d2.1.0,\u003e\u003d2.0.0 # Apache-2.0"},{"line_number":6,"context_line":"cryptography\u003e\u003d2.7 # BSD/Apache-2.0"},{"line_number":7,"context_line":"python-barbicanclient\u003e\u003d5.5.0 # Apache-2.0"},{"line_number":8,"context_line":"oslo.config\u003e\u003d6.4.0 # Apache-2.0"},{"line_number":9,"context_line":"oslo.context\u003e\u003d2.19.2 # Apache-2.0"},{"line_number":10,"context_line":"oslo.i18n\u003e\u003d3.15.3 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":27,"id":"4c423e83_fbb72bf1","line":7,"updated":"2023-02-16 11:09:10.000000000","message":"This changes a line in the do not merge patch, which will cause a conflict when we\u0027ll want to rebase. This change also needs to go into a different patch.","commit_id":"ccbf89847f5cc43724943f7e134be477b1457069"},{"author":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"change_message_id":"4502ab76e7f8e1335d63b4cbdfd0382e486cba05","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"pbr!\u003d2.1.0,\u003e\u003d2.0.0 # Apache-2.0"},{"line_number":6,"context_line":"cryptography\u003e\u003d2.7 # BSD/Apache-2.0"},{"line_number":7,"context_line":"python-barbicanclient\u003e\u003d5.5.0 # Apache-2.0"},{"line_number":8,"context_line":"oslo.config\u003e\u003d6.4.0 # Apache-2.0"},{"line_number":9,"context_line":"oslo.context\u003e\u003d2.19.2 # Apache-2.0"},{"line_number":10,"context_line":"oslo.i18n\u003e\u003d3.15.3 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":27,"id":"20f9e906_e1e3958f","line":7,"in_reply_to":"4c423e83_fbb72bf1","updated":"2023-02-16 12:13:37.000000000","message":"Done","commit_id":"ccbf89847f5cc43724943f7e134be477b1457069"}]}
