)]}'
{"keystone/identity/backends/base.py":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"1032080d8c465b0876be4696d128d4f5d50fce24","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        :param str user_id: User ID"},{"line_number":172,"context_line":"        :param str password: Password"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        :returns: user, matching the user schema."},{"line_number":175,"context_line":"        :raises AssertionError: If user or password is invalid."},{"line_number":176,"context_line":"        \"\"\""},{"line_number":177,"context_line":"        raise exception.NotImplemented()  # pragma: no cover"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a122d0e_7762bfae","line":174,"updated":"2016-04-19 01:17:18.000000000","message":"I\u0027m curious why this was changed to user from user_ref, but for example update_user returns user_ref. The authenticate method for the sql and ldap backends both refer to user_ref.\n\nShould this also describe the rtype the way e.g. create_user does?","commit_id":"6f0b4d70b6dc3ef4a2f6d26525ad6aa928578504"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"9990797970421aabbab5222b7d9ea906a3c1f9bc","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        :param str user_id: User ID"},{"line_number":172,"context_line":"        :param str password: Password"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        :returns: user, matching the user schema."},{"line_number":175,"context_line":"        :raises AssertionError: If user or password is invalid."},{"line_number":176,"context_line":"        \"\"\""},{"line_number":177,"context_line":"        raise exception.NotImplemented()  # pragma: no cover"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a122d0e_4c06fe86","line":174,"in_reply_to":"1a122d0e_7762bfae","updated":"2016-04-19 13:42:51.000000000","message":"This was changed because I have no idea what a user_ref is.","commit_id":"6f0b4d70b6dc3ef4a2f6d26525ad6aa928578504"}],"keystone/identity/core.py":[{"author":{"_account_id":19985,"name":"Ryosuke Mizuno","email":"r-mizuno@rs.jp.nec.com","username":"r-mizuno"},"change_message_id":"be55756bb6ed7134c8d8ec4c9d2f029cb26a998e","unresolved":false,"context_lines":[{"line_number":1375,"context_line":"    def authenticate(self, user_id, password):"},{"line_number":1376,"context_line":"        \"\"\"Authenticate a given user and password."},{"line_number":1377,"context_line":""},{"line_number":1378,"context_line":"        :param str user_id: User ID"},{"line_number":1379,"context_line":"        :param str password: Password"},{"line_number":1380,"context_line":""},{"line_number":1381,"context_line":"        :returns: user, matching the user schema."},{"line_number":1382,"context_line":"        :raises AssertionError: If user or password is invalid."}],"source_content_type":"text/x-python","patch_set":10,"id":"ba0121b8_74b4ccd0","line":1379,"range":{"start_line":1378,"start_character":8,"end_line":1379,"end_character":37},"updated":"2016-04-04 00:48:49.000000000","message":"There is no period in the this description of param.\nBut, other it have period. I think it is better suited for either.","commit_id":"6f22a202f7ba4187d139a888c3da8eec86e4c504"},{"author":{"_account_id":19985,"name":"Ryosuke Mizuno","email":"r-mizuno@rs.jp.nec.com","username":"r-mizuno"},"change_message_id":"cd330c18b20dfa5fe6cff8e98b0f082d89a02d71","unresolved":false,"context_lines":[{"line_number":1375,"context_line":"    def authenticate(self, user_id, password):"},{"line_number":1376,"context_line":"        \"\"\"Authenticate a given user and password."},{"line_number":1377,"context_line":""},{"line_number":1378,"context_line":"        :param str user_id: User ID"},{"line_number":1379,"context_line":"        :param str password: Password"},{"line_number":1380,"context_line":""},{"line_number":1381,"context_line":"        :returns: user, matching the user schema."},{"line_number":1382,"context_line":"        :raises AssertionError: If user or password is invalid."}],"source_content_type":"text/x-python","patch_set":10,"id":"9a061dce_2d5abb4f","line":1379,"range":{"start_line":1378,"start_character":8,"end_line":1379,"end_character":37},"in_reply_to":"9a061dce_9d54ec21","updated":"2016-04-06 00:36:59.000000000","message":"Yes, I also think so. But, I found the descriptions of param in other lines such as 1440/1452/1470... have the same problem.\nshould those be unified?","commit_id":"6f22a202f7ba4187d139a888c3da8eec86e4c504"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"c60ba5e85e4f2f346ddaf0ece1928ca4078d09b7","unresolved":false,"context_lines":[{"line_number":1375,"context_line":"    def authenticate(self, user_id, password):"},{"line_number":1376,"context_line":"        \"\"\"Authenticate a given user and password."},{"line_number":1377,"context_line":""},{"line_number":1378,"context_line":"        :param str user_id: User ID"},{"line_number":1379,"context_line":"        :param str password: Password"},{"line_number":1380,"context_line":""},{"line_number":1381,"context_line":"        :returns: user, matching the user schema."},{"line_number":1382,"context_line":"        :raises AssertionError: If user or password is invalid."}],"source_content_type":"text/x-python","patch_set":10,"id":"9a061dce_9d54ec21","line":1379,"range":{"start_line":1378,"start_character":8,"end_line":1379,"end_character":37},"in_reply_to":"ba0121b8_74b4ccd0","updated":"2016-04-05 15:38:48.000000000","message":"These aren\u0027t sentences so there\u0027s no .","commit_id":"6f22a202f7ba4187d139a888c3da8eec86e4c504"}],"keystone/tests/unit/identity/backends/test_base.py":[{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"afd5645d5c8ed24437efa18c473c8a4e07c3e398","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                      self.driver.generates_uuids())"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def test_create_user(self):"},{"line_number":77,"context_line":"        user_id \u003d uuid.uuid4().hex"},{"line_number":78,"context_line":"        user \u003d {"},{"line_number":79,"context_line":"            \u0027id\u0027: user_id,"},{"line_number":80,"context_line":"            \u0027name\u0027: uuid.uuid4().hex,"},{"line_number":81,"context_line":"            \u0027enabled\u0027: True"},{"line_number":82,"context_line":"        }"},{"line_number":83,"context_line":"        if self.driver.is_domain_aware():"},{"line_number":84,"context_line":"            user[\u0027domain_id\u0027] \u003d uuid.uuid4().hex"},{"line_number":85,"context_line":"        ret \u003d self.driver.create_user(user_id, user)"},{"line_number":86,"context_line":"        self.assertEqual(user_id, ret[\u0027id\u0027])"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def test_create_user_all_attributes(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a061dce_fdb67bf7","line":85,"range":{"start_line":77,"start_character":0,"end_line":85,"end_character":52},"updated":"2016-04-06 19:33:33.000000000","message":"Why not simply call the method create_user above ?","commit_id":"eb8d0ec093573716e429cb78b64100f92438ba57"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"da32e6b4f241c69df18936c55ab1806dfe4e80b7","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                      self.driver.generates_uuids())"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def test_create_user(self):"},{"line_number":77,"context_line":"        user_id \u003d uuid.uuid4().hex"},{"line_number":78,"context_line":"        user \u003d {"},{"line_number":79,"context_line":"            \u0027id\u0027: user_id,"},{"line_number":80,"context_line":"            \u0027name\u0027: uuid.uuid4().hex,"},{"line_number":81,"context_line":"            \u0027enabled\u0027: True"},{"line_number":82,"context_line":"        }"},{"line_number":83,"context_line":"        if self.driver.is_domain_aware():"},{"line_number":84,"context_line":"            user[\u0027domain_id\u0027] \u003d uuid.uuid4().hex"},{"line_number":85,"context_line":"        ret \u003d self.driver.create_user(user_id, user)"},{"line_number":86,"context_line":"        self.assertEqual(user_id, ret[\u0027id\u0027])"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def test_create_user_all_attributes(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a061dce_981b0d73","line":85,"range":{"start_line":77,"start_character":0,"end_line":85,"end_character":52},"in_reply_to":"9a061dce_7d8eebd0","updated":"2016-04-06 19:43:48.000000000","message":"Because this is testing driver.create_user(). The other tests aren\u0027t testing driver.create_user(), they just need a user for the test. The goal is to provide a create_user method that subclasses that don\u0027t actually support driver.create_user() can override to get themselves a user somehow (maybe by using the ldap API directly).","commit_id":"eb8d0ec093573716e429cb78b64100f92438ba57"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"76ae0fa33a9e6f3ed134832dd6096fd755901c2d","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                      self.driver.generates_uuids())"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def test_create_user(self):"},{"line_number":77,"context_line":"        user_id \u003d uuid.uuid4().hex"},{"line_number":78,"context_line":"        user \u003d {"},{"line_number":79,"context_line":"            \u0027id\u0027: user_id,"},{"line_number":80,"context_line":"            \u0027name\u0027: uuid.uuid4().hex,"},{"line_number":81,"context_line":"            \u0027enabled\u0027: True"},{"line_number":82,"context_line":"        }"},{"line_number":83,"context_line":"        if self.driver.is_domain_aware():"},{"line_number":84,"context_line":"            user[\u0027domain_id\u0027] \u003d uuid.uuid4().hex"},{"line_number":85,"context_line":"        ret \u003d self.driver.create_user(user_id, user)"},{"line_number":86,"context_line":"        self.assertEqual(user_id, ret[\u0027id\u0027])"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def test_create_user_all_attributes(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a061dce_af9688ed","line":85,"range":{"start_line":77,"start_character":0,"end_line":85,"end_character":52},"in_reply_to":"9a061dce_981b0d73","updated":"2016-04-06 20:49:18.000000000","message":"Nice, it does make sense now. Could we add a comment here explaining what this method is for? So it\u0027s clear for others reading the code","commit_id":"eb8d0ec093573716e429cb78b64100f92438ba57"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"61ef72a73d8d5452690a497a7ea9862af58f0693","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                      self.driver.generates_uuids())"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def test_create_user(self):"},{"line_number":77,"context_line":"        user_id \u003d uuid.uuid4().hex"},{"line_number":78,"context_line":"        user \u003d {"},{"line_number":79,"context_line":"            \u0027id\u0027: user_id,"},{"line_number":80,"context_line":"            \u0027name\u0027: uuid.uuid4().hex,"},{"line_number":81,"context_line":"            \u0027enabled\u0027: True"},{"line_number":82,"context_line":"        }"},{"line_number":83,"context_line":"        if self.driver.is_domain_aware():"},{"line_number":84,"context_line":"            user[\u0027domain_id\u0027] \u003d uuid.uuid4().hex"},{"line_number":85,"context_line":"        ret \u003d self.driver.create_user(user_id, user)"},{"line_number":86,"context_line":"        self.assertEqual(user_id, ret[\u0027id\u0027])"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def test_create_user_all_attributes(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a18252c_587481fc","line":85,"range":{"start_line":77,"start_character":0,"end_line":85,"end_character":52},"in_reply_to":"9a061dce_af9688ed","updated":"2016-04-11 21:49:43.000000000","message":"Done","commit_id":"eb8d0ec093573716e429cb78b64100f92438ba57"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"08e5ca978e5196a8003db7cb636f1c7fc7ac158b","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                      self.driver.generates_uuids())"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def test_create_user(self):"},{"line_number":77,"context_line":"        user_id \u003d uuid.uuid4().hex"},{"line_number":78,"context_line":"        user \u003d {"},{"line_number":79,"context_line":"            \u0027id\u0027: user_id,"},{"line_number":80,"context_line":"            \u0027name\u0027: uuid.uuid4().hex,"},{"line_number":81,"context_line":"            \u0027enabled\u0027: True"},{"line_number":82,"context_line":"        }"},{"line_number":83,"context_line":"        if self.driver.is_domain_aware():"},{"line_number":84,"context_line":"            user[\u0027domain_id\u0027] \u003d uuid.uuid4().hex"},{"line_number":85,"context_line":"        ret \u003d self.driver.create_user(user_id, user)"},{"line_number":86,"context_line":"        self.assertEqual(user_id, ret[\u0027id\u0027])"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def test_create_user_all_attributes(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a061dce_7d8eebd0","line":85,"range":{"start_line":77,"start_character":0,"end_line":85,"end_character":52},"in_reply_to":"9a061dce_fdb67bf7","updated":"2016-04-06 19:39:11.000000000","message":"Same applies to some of the test cases below","commit_id":"eb8d0ec093573716e429cb78b64100f92438ba57"}]}
