)]}'
{"keystone/tests/test_auth.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"be97772eb22bcd27d3bb4b408123c8bbdb43ac1a","unresolved":false,"context_lines":[{"line_number":651,"context_line":"        expires_at \u003d timeutils.strtime(timeutils.utcnow() +"},{"line_number":652,"context_line":"                                       datetime.timedelta(minutes\u003d10),"},{"line_number":653,"context_line":"                                       fmt\u003dTIME_FORMAT)"},{"line_number":654,"context_line":"        self.create_trust(expires_at\u003dexpires_at)"},{"line_number":655,"context_line":""},{"line_number":656,"context_line":"    def config_overrides(self):"},{"line_number":657,"context_line":"        super(AuthWithTrust, self).config_overrides()"}],"source_content_type":"text/x-python","patch_set":3,"id":"7adec928_68c51a3b","side":"PARENT","line":654,"updated":"2014-05-14 18:33:31.000000000","message":"++","commit_id":"8697b39ba6d89e34e8aa5c381ade2e6bfdd53fcb"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"be97772eb22bcd27d3bb4b408123c8bbdb43ac1a","unresolved":false,"context_lines":[{"line_number":663,"context_line":""},{"line_number":664,"context_line":"    def create_trust(self, trust_data, trustor_name, expires_at\u003dNone,"},{"line_number":665,"context_line":"                     impersonation\u003dTrue):"},{"line_number":666,"context_line":"        username \u003d trustor_name"},{"line_number":667,"context_line":"        password \u003d \u0027foo2\u0027"},{"line_number":668,"context_line":"        unscoped_token \u003d self.get_unscoped_token(username, password)"},{"line_number":669,"context_line":"        context \u003d self._create_auth_context("}],"source_content_type":"text/x-python","patch_set":3,"id":"7adec928_68a0ba9f","line":666,"updated":"2014-05-14 18:33:31.000000000","message":"nit: just put trustor_name and password into get_unscoped_token?","commit_id":"e2e20fd6d40cdf3de1724c79d3794523e8f6dd24"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"be97772eb22bcd27d3bb4b408123c8bbdb43ac1a","unresolved":false,"context_lines":[{"line_number":837,"context_line":"        return token_auth_response"},{"line_number":838,"context_line":""},{"line_number":839,"context_line":"    def test_create_v3_token_from_trust(self):"},{"line_number":840,"context_line":"        expires_at \u003d timeutils.strtime(timeutils.utcnow() +"},{"line_number":841,"context_line":"                                       datetime.timedelta(minutes\u003d10),"},{"line_number":842,"context_line":"                                       fmt\u003dTIME_FORMAT)"},{"line_number":843,"context_line":"        new_trust \u003d self.create_trust(self.sample_data, self.trustor[\u0027name\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"7adec928_0388f7e5","line":840,"updated":"2014-05-14 18:33:31.000000000","message":"no reason for expires_at?","commit_id":"e2e20fd6d40cdf3de1724c79d3794523e8f6dd24"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a93cb4b7514c65386fc8dc37bbd1b0a11cc5c93c","unresolved":false,"context_lines":[{"line_number":662,"context_line":"                \u0027host_url\u0027: HOST_URL}"},{"line_number":663,"context_line":""},{"line_number":664,"context_line":"    def create_trust(self, trust_data, trustor_name, expires_at\u003dNone,"},{"line_number":665,"context_line":"                     impersonation\u003dTrue):"},{"line_number":666,"context_line":"        username \u003d trustor_name"},{"line_number":667,"context_line":"        password \u003d \u0027foo2\u0027"},{"line_number":668,"context_line":"        unscoped_token \u003d self.get_unscoped_token(username, password)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7adec928_5c58f689","line":665,"updated":"2014-05-18 16:19:39.000000000","message":"A docstring would be nice.","commit_id":"635d6b2cb2332c12a20918fc03079badd7bf291d"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a93cb4b7514c65386fc8dc37bbd1b0a11cc5c93c","unresolved":false,"context_lines":[{"line_number":664,"context_line":"    def create_trust(self, trust_data, trustor_name, expires_at\u003dNone,"},{"line_number":665,"context_line":"                     impersonation\u003dTrue):"},{"line_number":666,"context_line":"        username \u003d trustor_name"},{"line_number":667,"context_line":"        password \u003d \u0027foo2\u0027"},{"line_number":668,"context_line":"        unscoped_token \u003d self.get_unscoped_token(username, password)"},{"line_number":669,"context_line":"        context \u003d self._create_auth_context("},{"line_number":670,"context_line":"            unscoped_token[\u0027access\u0027][\u0027token\u0027][\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"7adec928_dc4b26af","line":667,"updated":"2014-05-18 16:19:39.000000000","message":"since foo2 is the default password for get_unscoped_token this can be removed.","commit_id":"635d6b2cb2332c12a20918fc03079badd7bf291d"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a93cb4b7514c65386fc8dc37bbd1b0a11cc5c93c","unresolved":false,"context_lines":[{"line_number":719,"context_line":"        self.assertTrue(timeutils.parse_strtime(new_trust[\u0027expires_at\u0027],"},{"line_number":720,"context_line":"                                                fmt\u003dTIME_FORMAT))"},{"line_number":721,"context_line":"        self.assertIn(\u0027%s/v3/OS-TRUST/\u0027 % HOST_URL,"},{"line_number":722,"context_line":"                      new_trust[\u0027links\u0027][\u0027self\u0027])"},{"line_number":723,"context_line":"        self.assertIn(\u0027%s/v3/OS-TRUST/\u0027 % HOST_URL,"},{"line_number":724,"context_line":"                      new_trust[\u0027roles_links\u0027][\u0027self\u0027])"},{"line_number":725,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7adec928_1cc90e26","line":722,"updated":"2014-05-18 16:19:39.000000000","message":"are these lines short enough that they can be squashed onto one line?","commit_id":"635d6b2cb2332c12a20918fc03079badd7bf291d"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a93cb4b7514c65386fc8dc37bbd1b0a11cc5c93c","unresolved":false,"context_lines":[{"line_number":884,"context_line":"        self.assertEqual(expected_value, token_count)"},{"line_number":885,"context_line":""},{"line_number":886,"context_line":"    def test_delete_tokens_for_user_invalidates_tokens_from_trust(self):"},{"line_number":887,"context_line":"        new_trust \u003d self.create_trust(self.sample_data, self.trustor[\u0027name\u0027])"},{"line_number":888,"context_line":"        self.assert_token_count_for_trust(new_trust, 0)"},{"line_number":889,"context_line":"        self.fetch_v2_token_from_trust(new_trust)"},{"line_number":890,"context_line":"        self.assert_token_count_for_trust(new_trust, 1)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7adec928_3cceca2e","line":887,"updated":"2014-05-18 16:19:39.000000000","message":"seems like we could have a method create_sample_trust so don\u0027t have to copy-paste \"self.sample_data, self.trustor[\u0027name\u0027]\" everywhere.","commit_id":"635d6b2cb2332c12a20918fc03079badd7bf291d"}]}
