)]}'
{"keystone/tests/unit/token/test_fernet_provider.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"c0ebf5a4ca3f77a3679e0d1911e80852d12580f9","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        self.provider \u003d fernet.Provider()"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def test_supports_bind_authentication_raises_exception(self):"},{"line_number":41,"context_line":"        # FIXME(lbragstad): I\u0027m not sure why the following doesn\u0027t pass. The"},{"line_number":42,"context_line":"        # NotImmplemented exception being raised blows up the test?"},{"line_number":43,"context_line":"        # self.assertRaises(exception.NotImplemented,"},{"line_number":44,"context_line":"        #                   self.provider._supports_bind)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba3cc151_ecf6d0f8","line":41,"updated":"2015-07-05 07:37:32.000000000","message":"Remove the property decorators then you your assertion will pass.","commit_id":"f46ec20a1d0c68644a90ecb3afc159ab069a5cde"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"c0ebf5a4ca3f77a3679e0d1911e80852d12580f9","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def test_supports_bind_authentication_raises_exception(self):"},{"line_number":41,"context_line":"        # FIXME(lbragstad): I\u0027m not sure why the following doesn\u0027t pass. The"},{"line_number":42,"context_line":"        # NotImmplemented exception being raised blows up the test?"},{"line_number":43,"context_line":"        # self.assertRaises(exception.NotImplemented,"},{"line_number":44,"context_line":"        #                   self.provider._supports_bind)"},{"line_number":45,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba3cc151_31edef25","line":42,"updated":"2015-07-05 07:37:32.000000000","message":"nits: NotImplemented","commit_id":"f46ec20a1d0c68644a90ecb3afc159ab069a5cde"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"c0ebf5a4ca3f77a3679e0d1911e80852d12580f9","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        # NotImmplemented exception being raised blows up the test?"},{"line_number":43,"context_line":"        # self.assertRaises(exception.NotImplemented,"},{"line_number":44,"context_line":"        #                   self.provider._supports_bind)"},{"line_number":45,"context_line":"        try:"},{"line_number":46,"context_line":"            self.provider._supports_bind"},{"line_number":47,"context_line":"        except exception.NotImplemented as e:"},{"line_number":48,"context_line":"            self.assertTrue(isinstance(e, exception.NotImplemented))"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba3cc151_8cdce475","line":45,"updated":"2015-07-05 07:37:32.000000000","message":"Actually, we needn\u0027t this workaround anymore if you remove the property decorator.","commit_id":"f46ec20a1d0c68644a90ecb3afc159ab069a5cde"}],"keystone/tests/unit/token/test_pki_provider.py":[{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"c007dcf719a8c94b3851ef2acd3e4426957706c0","unresolved":false,"context_lines":[{"line_number":20,"context_line":"        self.provider \u003d pki.Provider()"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def test_supports_bind_authentication_returns_true(self):"},{"line_number":23,"context_line":"        self.assertTrue(self.provider._supports_bind)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    def test_need_persistence_return_true(self):"},{"line_number":26,"context_line":"        self.assertTrue(self.provider.needs_persistence)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_15abd81e","line":23,"updated":"2015-07-20 16:53:51.000000000","message":"_supports_bind is not a property, but a method. I suggest to use not assertTrue, but assertEqual(True, self.provider._supports_bind())","commit_id":"819b54bd175b162b6544e8efbc010847150277a0"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"42ec4f7340b272f80c0e0c338b1133dc873e2af2","unresolved":false,"context_lines":[{"line_number":20,"context_line":"        self.provider \u003d pki.Provider()"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def test_supports_bind_authentication_returns_true(self):"},{"line_number":23,"context_line":"        self.assertTrue(self.provider._supports_bind)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    def test_need_persistence_return_true(self):"},{"line_number":26,"context_line":"        self.assertTrue(self.provider.needs_persistence)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_77a18b93","line":23,"in_reply_to":"3a50d1a3_15abd81e","updated":"2015-07-28 13:35:16.000000000","message":"Done","commit_id":"819b54bd175b162b6544e8efbc010847150277a0"}],"keystone/tests/unit/token/test_pkiz_provider.py":[{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"c007dcf719a8c94b3851ef2acd3e4426957706c0","unresolved":false,"context_lines":[{"line_number":20,"context_line":"        self.provider \u003d pkiz.Provider()"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def test_supports_bind_authentication_returns_true(self):"},{"line_number":23,"context_line":"        self.assertTrue(self.provider._supports_bind)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    def test_need_persistence_return_true(self):"},{"line_number":26,"context_line":"        self.assertTrue(self.provider.needs_persistence)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_558ac0c0","line":23,"updated":"2015-07-20 16:53:51.000000000","message":"_supports_bind is not a property, but a method. I suggest to use not assertTrue, but assertEqual(True, self.provider._supports_bind())","commit_id":"819b54bd175b162b6544e8efbc010847150277a0"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"42ec4f7340b272f80c0e0c338b1133dc873e2af2","unresolved":false,"context_lines":[{"line_number":20,"context_line":"        self.provider \u003d pkiz.Provider()"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def test_supports_bind_authentication_returns_true(self):"},{"line_number":23,"context_line":"        self.assertTrue(self.provider._supports_bind)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    def test_need_persistence_return_true(self):"},{"line_number":26,"context_line":"        self.assertTrue(self.provider.needs_persistence)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_37a783a8","line":23,"in_reply_to":"3a50d1a3_558ac0c0","updated":"2015-07-28 13:35:16.000000000","message":"Done","commit_id":"819b54bd175b162b6544e8efbc010847150277a0"}],"keystone/tests/unit/token/test_uuid_provider.py":[{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"c007dcf719a8c94b3851ef2acd3e4426957706c0","unresolved":false,"context_lines":[{"line_number":20,"context_line":"        self.provider \u003d uuid.Provider()"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def test_supports_bind_authentication_returns_true(self):"},{"line_number":23,"context_line":"        self.assertTrue(self.provider._supports_bind)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    def test_need_persistence_return_true(self):"},{"line_number":26,"context_line":"        self.assertTrue(self.provider.needs_persistence)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_5503a042","line":23,"updated":"2015-07-20 16:53:51.000000000","message":"_supports_bind is not a property, but a method. I suggest to use not assertTrue, but assertEqual(True, self.provider._supports_bind())","commit_id":"819b54bd175b162b6544e8efbc010847150277a0"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"42ec4f7340b272f80c0e0c338b1133dc873e2af2","unresolved":false,"context_lines":[{"line_number":20,"context_line":"        self.provider \u003d uuid.Provider()"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def test_supports_bind_authentication_returns_true(self):"},{"line_number":23,"context_line":"        self.assertTrue(self.provider._supports_bind)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    def test_need_persistence_return_true(self):"},{"line_number":26,"context_line":"        self.assertTrue(self.provider.needs_persistence)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_f717dba0","line":23,"in_reply_to":"3a50d1a3_5503a042","updated":"2015-07-28 13:35:16.000000000","message":"++ nice catch on the property. i do want to keep the self.assertTrue part just because it makes the assertion a bit easier to read.","commit_id":"819b54bd175b162b6544e8efbc010847150277a0"},{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"a44c193bb1e0563221024af061c15167a0ef7e5c","unresolved":false,"context_lines":[{"line_number":20,"context_line":"        self.provider \u003d uuid.Provider()"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def test_supports_bind_authentication_returns_true(self):"},{"line_number":23,"context_line":"        self.assertTrue(self.provider._supports_bind)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    def test_need_persistence_return_true(self):"},{"line_number":26,"context_line":"        self.assertTrue(self.provider.needs_persistence)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_9a69defa","line":23,"in_reply_to":"3a50d1a3_f717dba0","updated":"2015-07-28 13:57:29.000000000","message":"it makes it easier to read, but more error-prone.","commit_id":"819b54bd175b162b6544e8efbc010847150277a0"}],"keystone/token/providers/fernet/core.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"c0ebf5a4ca3f77a3679e0d1911e80852d12580f9","unresolved":false,"context_lines":[{"line_number":168,"context_line":"                                                 trust_id\u003dtrust_id,"},{"line_number":169,"context_line":"                                                 federated_info\u003dfederated_info)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    @property"},{"line_number":172,"context_line":"    def _supports_bind(self):"},{"line_number":173,"context_line":"        \"\"\"The Fernet token provider doesn\u0027t support bind authentication."},{"line_number":174,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba3cc151_0ce8d415","line":171,"updated":"2015-07-05 07:37:32.000000000","message":"why @property decorator is used here? I cannot figure out the reason we use need it as a property","commit_id":"f46ec20a1d0c68644a90ecb3afc159ab069a5cde"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"b0a1d58211cfea1b63fe48b6dd351c16a1cc8ac9","unresolved":false,"context_lines":[{"line_number":168,"context_line":"                                                 trust_id\u003dtrust_id,"},{"line_number":169,"context_line":"                                                 federated_info\u003dfederated_info)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    @property"},{"line_number":172,"context_line":"    def _supports_bind(self):"},{"line_number":173,"context_line":"        \"\"\"The Fernet token provider doesn\u0027t support bind authentication."},{"line_number":174,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba3cc151_c41cd579","line":171,"in_reply_to":"ba3cc151_0ce8d415","updated":"2015-07-06 19:50:31.000000000","message":"It seemed to make sense having this as a property since the function doesn\u0027t take any arguments to determine if it should or shouldn\u0027t raise an exception.","commit_id":"f46ec20a1d0c68644a90ecb3afc159ab069a5cde"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"abaa4b51ffeec04ed1be1ddb8d293c91ce5146b6","unresolved":false,"context_lines":[{"line_number":208,"context_line":"                                                 trust_id\u003dtrust_id,"},{"line_number":209,"context_line":"                                                 federated_info\u003dfederated_info)"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    @property"},{"line_number":212,"context_line":"    def _supports_bind_authentication(self):"},{"line_number":213,"context_line":"        \"\"\"Return if the token provider supports bind authentication methods."},{"line_number":214,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_6f075418","side":"PARENT","line":211,"updated":"2015-08-12 17:13:25.000000000","message":"why shouldn\u0027t this be a @property any longer?","commit_id":"b505d6862b0901f79d7a9c32f9adb52549211ada"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"56572fa6336eec718b671bcb0d5c0a3eb3328466","unresolved":false,"context_lines":[{"line_number":208,"context_line":"                                                 trust_id\u003dtrust_id,"},{"line_number":209,"context_line":"                                                 federated_info\u003dfederated_info)"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    @property"},{"line_number":212,"context_line":"    def _supports_bind_authentication(self):"},{"line_number":213,"context_line":"        \"\"\"Return if the token provider supports bind authentication methods."},{"line_number":214,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_a265731e","side":"PARENT","line":211,"in_reply_to":"1a4dcd0f_6f075418","updated":"2015-08-12 18:00:08.000000000","message":"I think this came of out some comments made on a previous patch: \n\nhttps://review.openstack.org/#/c/196774/8/keystone/token/providers/common.py\n\nbut I also think that it\u0027s missing some context from IRC. We should follow up with morgan.","commit_id":"b505d6862b0901f79d7a9c32f9adb52549211ada"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"abaa4b51ffeec04ed1be1ddb8d293c91ce5146b6","unresolved":false,"context_lines":[{"line_number":209,"context_line":"                                                 federated_info\u003dfederated_info)"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    @property"},{"line_number":212,"context_line":"    def _supports_bind_authentication(self):"},{"line_number":213,"context_line":"        \"\"\"Return if the token provider supports bind authentication methods."},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"        :returns: False"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_8f2180a0","side":"PARENT","line":212,"updated":"2015-08-12 17:13:25.000000000","message":"what was the point of the rename? seems like unnecessary change, especially for anyone implementing their own token provider","commit_id":"b505d6862b0901f79d7a9c32f9adb52549211ada"}],"keystone/token/providers/uuid.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"c0ebf5a4ca3f77a3679e0d1911e80852d12580f9","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    def _get_token_id(self, token_data):"},{"line_number":29,"context_line":"        return uuid.uuid4().hex"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    @property"},{"line_number":32,"context_line":"    def _supports_bind(self):"},{"line_number":33,"context_line":"        \"\"\"Pass if bind authentication is supported.\"\"\""},{"line_number":34,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba3cc151_2ced9825","line":31,"updated":"2015-07-05 07:37:32.000000000","message":"same here and other place in the pkiz and pki.","commit_id":"f46ec20a1d0c68644a90ecb3afc159ab069a5cde"}]}
