)]}'
{"barbican/model/models.py":[{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"0520e53e82b92f9e4e213b7cfebbd9cf56618808","unresolved":false,"context_lines":[{"line_number":1497,"context_line":"                \u0027project_id\u0027: self.project_id}"},{"line_number":1498,"context_line":""},{"line_number":1499,"context_line":""},{"line_number":1500,"context_line":"class SecretConsumerMetadatum(BASE, ModelBase):"},{"line_number":1501,"context_line":"    __tablename__ \u003d \"secret_consumer_metadata\""},{"line_number":1502,"context_line":""},{"line_number":1503,"context_line":"    service \u003d sa.Column(sa.String(255), nullable\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_87a564a1","line":1500,"range":{"start_line":1500,"start_character":30,"end_line":1500,"end_character":45},"updated":"2019-08-02 14:09:38.000000000","message":"SoftDeleteMixIn too?","commit_id":"ab6f6074c4fbca1410f73266ab65de6af9b74dd9"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"0520e53e82b92f9e4e213b7cfebbd9cf56618808","unresolved":false,"context_lines":[{"line_number":1502,"context_line":""},{"line_number":1503,"context_line":"    service \u003d sa.Column(sa.String(255), nullable\u003dFalse)"},{"line_number":1504,"context_line":"    resource_type \u003d sa.Column(sa.String(255), nullable\u003dFalse)"},{"line_number":1505,"context_line":"    resource_id \u003d sa.Column(sa.String(36), index\u003dTrue, nullable\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_c79fdc4d","line":1505,"updated":"2019-08-02 14:09:38.000000000","message":"What\u0027s here is fine, but is this supposed to be complete?\nIf I look for instance at ContainerConsumerMetadatum, I see foreign keys and uniqueness constraints, and init and do_extra_dict() functions, \n\nAnd of course, you\u0027ll need alembic migrations ..","commit_id":"ab6f6074c4fbca1410f73266ab65de6af9b74dd9"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"0520e53e82b92f9e4e213b7cfebbd9cf56618808","unresolved":false,"context_lines":[{"line_number":1497,"context_line":"                \u0027project_id\u0027: self.project_id}"},{"line_number":1498,"context_line":""},{"line_number":1499,"context_line":""},{"line_number":1500,"context_line":"class SecretConsumerMetadatum(BASE, ModelBase):"},{"line_number":1501,"context_line":"    \"\"\"Stores Consumer Registrations for Secrets in the datastore."},{"line_number":1502,"context_line":""},{"line_number":1503,"context_line":"    Services can register interest in Secrets. Services will provide a"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_67c38839","line":1500,"range":{"start_line":1500,"start_character":30,"end_line":1500,"end_character":44},"updated":"2019-08-02 14:09:38.000000000","message":"SoftDeleteMixIn?","commit_id":"a54d213a2d390cf8df57786dac375c6aaa0d9db5"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"0520e53e82b92f9e4e213b7cfebbd9cf56618808","unresolved":false,"context_lines":[{"line_number":1509,"context_line":"    service \u003d sa.Column(sa.String(255), nullable\u003dFalse)"},{"line_number":1510,"context_line":"    resource_type \u003d sa.Column(sa.String(255), nullable\u003dFalse)"},{"line_number":1511,"context_line":"    resource_id \u003d sa.Column(sa.String(36), index\u003dTrue, nullable\u003dFalse)"},{"line_number":1512,"context_line":""},{"line_number":1513,"context_line":"    def __init__(self, service\u003dNone, resource_type\u003dNone,"},{"line_number":1514,"context_line":"                 resource_id\u003dNone):"},{"line_number":1515,"context_line":"        \"\"\"Registers a Consumer to a Secret.\"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_07b3b4ea","line":1512,"updated":"2019-08-02 14:09:38.000000000","message":"Foreign keys and uniqueness constraints?\nSee ContainerConsumerMetadatum as example.","commit_id":"a54d213a2d390cf8df57786dac375c6aaa0d9db5"}],"barbican/tests/model/test_models.py":[{"author":{"_account_id":7973,"name":"Douglas Mendizábal","email":"dmendiza@redhat.com","username":"dougmendizabal"},"change_message_id":"a6c648199c030d5dc84ea07261417233dc031f89","unresolved":false,"context_lines":[{"line_number":748,"context_line":"                         project_ss.to_dict_fields()[\u0027status\u0027])"},{"line_number":749,"context_line":""},{"line_number":750,"context_line":""},{"line_number":751,"context_line":"class WhenCreatingNewSecretConsumer(utils.BaseTestCase):"},{"line_number":752,"context_line":"    def setUp(self):"},{"line_number":753,"context_line":"        super(WhenCreatingNewSecretConsumer, self).setUp()"},{"line_number":754,"context_line":"        self.secret_id \u003d \"12345secret\""}],"source_content_type":"text/x-python","patch_set":12,"id":"7faddb67_223eb728","line":751,"range":{"start_line":751,"start_character":42,"end_line":751,"end_character":54},"updated":"2019-09-05 18:20:20.000000000","message":"It\u0027s interesting that `BaseTestCase` is marked as DEPRECATED in utils. [1]  The refactoring effort mentioned in the commit where it was deprecated fizzled out a long time ago though, so this is definitely the right thing to do here.\n\n[1] https://opendev.org/openstack/barbican/src/branch/master/barbican/tests/utils.py#L102","commit_id":"2d7ef6b4d1e710ce88ef11b31fb03e8935387fc1"},{"author":{"_account_id":7973,"name":"Douglas Mendizábal","email":"dmendiza@redhat.com","username":"dougmendizabal"},"change_message_id":"a6c648199c030d5dc84ea07261417233dc031f89","unresolved":false,"context_lines":[{"line_number":769,"context_line":"        self.assertEqual(self.resource_id, consumer.resource_id)"},{"line_number":770,"context_line":"        self.assertEqual(models.States.ACTIVE, consumer.status)"},{"line_number":771,"context_line":""},{"line_number":772,"context_line":"        fields \u003d consumer.to_dict_fields()"},{"line_number":773,"context_line":"        self.assertEqual(self.service, fields[\"service\"])"},{"line_number":774,"context_line":"        self.assertEqual(self.resource_type, fields[\"resource_type\"])"},{"line_number":775,"context_line":"        self.assertEqual(self.resource_id, fields[\"resource_id\"])"},{"line_number":776,"context_line":""},{"line_number":777,"context_line":"    def test_should_raise_exception_when_missing_arguments(self):"},{"line_number":778,"context_line":"        self.assertRaises("}],"source_content_type":"text/x-python","patch_set":12,"id":"7faddb67_226c7734","line":775,"range":{"start_line":772,"start_character":0,"end_line":775,"end_character":65},"updated":"2019-09-05 18:20:20.000000000","message":"This could be a separate test.  Maybe something like `def test_secret_consumer_dict_fields(self):` or similar.","commit_id":"2d7ef6b4d1e710ce88ef11b31fb03e8935387fc1"}]}
