)]}'
{"keystone/auth/plugins/mapped.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"e6234b8d65cff5a6b292dc9f16f7aaa79344e3ae","unresolved":false,"context_lines":[{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    # NOTE(marek-denis): Folloowing logic checks on whether user_id is already"},{"line_number":251,"context_line":"    # url-safe.  If this is the case there is no need to actually encode the"},{"line_number":252,"context_line":"    # string.  Folloiwing algorithm compares original user_id with decoded"},{"line_number":253,"context_line":"    # version of the parameter.  If strings are equal it means the string is"},{"line_number":254,"context_line":"    # not url encoded. We should attempt to encode the user_id then."},{"line_number":255,"context_line":"    decoded_user_id \u003d parse.unquote(user_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_06376dff","line":252,"updated":"2015-08-21 14:07:12.000000000","message":"Following","commit_id":"c9b906c70fcfc37ab5fcf0b831882e05eea1e6fe"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"398de06e7e38cda650fcc31ad1c2c17b9a10e31c","unresolved":false,"context_lines":[{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    # NOTE(marek-denis): Folloowing logic checks on whether user_id is already"},{"line_number":251,"context_line":"    # url-safe.  If this is the case there is no need to actually encode the"},{"line_number":252,"context_line":"    # string.  Folloiwing algorithm compares original user_id with decoded"},{"line_number":253,"context_line":"    # version of the parameter.  If strings are equal it means the string is"},{"line_number":254,"context_line":"    # not url encoded. We should attempt to encode the user_id then."},{"line_number":255,"context_line":"    decoded_user_id \u003d parse.unquote(user_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_4d234056","line":252,"in_reply_to":"fa1b9901_06376dff","updated":"2015-08-21 15:16:25.000000000","message":"Done","commit_id":"c9b906c70fcfc37ab5fcf0b831882e05eea1e6fe"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"fb6012e6ed45e28c3935f8cdb7668d4ff7e0972e","unresolved":false,"context_lines":[{"line_number":247,"context_line":"    elif not user_id:"},{"line_number":248,"context_line":"        user_id \u003d user_name"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    # NOTE(marek-denis): Following logic checks on whether user_id is already"},{"line_number":251,"context_line":"    # url-safe. If this is the case there is no need to actually encode the"},{"line_number":252,"context_line":"    # string. The algorithm compares original user_id with decoded"},{"line_number":253,"context_line":"    # version of the parameter. If strings are equal it means the string is"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_9a6c2dd2","line":250,"updated":"2015-08-21 15:44:45.000000000","message":"(nit) The following","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8d8ec804a02bd0d38ed14ada3aebaad70ef7ee73","unresolved":false,"context_lines":[{"line_number":247,"context_line":"    elif not user_id:"},{"line_number":248,"context_line":"        user_id \u003d user_name"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    # NOTE(marek-denis): Following logic checks on whether user_id is already"},{"line_number":251,"context_line":"    # url-safe. If this is the case there is no need to actually encode the"},{"line_number":252,"context_line":"    # string. The algorithm compares original user_id with decoded"},{"line_number":253,"context_line":"    # version of the parameter. If strings are equal it means the string is"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_933f04d6","line":250,"in_reply_to":"fa1b9901_056c2307","updated":"2015-08-24 07:53:39.000000000","message":"Henry - I think you meant \u0027on\u0027 instead of \u0027no\u0027 ?","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"8d89e76aee73b6c7234126a359474c0d7d87a2f0","unresolved":false,"context_lines":[{"line_number":247,"context_line":"    elif not user_id:"},{"line_number":248,"context_line":"        user_id \u003d user_name"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    # NOTE(marek-denis): Following logic checks on whether user_id is already"},{"line_number":251,"context_line":"    # url-safe. If this is the case there is no need to actually encode the"},{"line_number":252,"context_line":"    # string. The algorithm compares original user_id with decoded"},{"line_number":253,"context_line":"    # version of the parameter. If strings are equal it means the string is"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_056c2307","line":250,"in_reply_to":"fa1b9901_9a6c2dd2","updated":"2015-08-22 11:06:11.000000000","message":"..and if we (k)nitting, the n\u0027d drop the word \"no\" from this sentence","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8d8ec804a02bd0d38ed14ada3aebaad70ef7ee73","unresolved":false,"context_lines":[{"line_number":247,"context_line":"    elif not user_id:"},{"line_number":248,"context_line":"        user_id \u003d user_name"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    # NOTE(marek-denis): Following logic checks on whether user_id is already"},{"line_number":251,"context_line":"    # url-safe. If this is the case there is no need to actually encode the"},{"line_number":252,"context_line":"    # string. The algorithm compares original user_id with decoded"},{"line_number":253,"context_line":"    # version of the parameter. If strings are equal it means the string is"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_132c54aa","line":250,"in_reply_to":"fa1b9901_9a6c2dd2","updated":"2015-08-24 07:53:39.000000000","message":"Done","commit_id":"608b42f876532b678e673118a834825aa5e36111"}],"keystone/tests/unit/mapping_fixtures.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"e6234b8d65cff5a6b292dc9f16f7aaa79344e3ae","unresolved":false,"context_lines":[{"line_number":968,"context_line":"}"},{"line_number":969,"context_line":""},{"line_number":970,"context_line":"ANOTHER_TESTER_ASSERTION \u003d {"},{"line_number":971,"context_line":"    \u0027Email\u0027: \u0027testacct@exaple.com\u0027,"},{"line_number":972,"context_line":"    \u0027UserName\u0027: \u0027IamTester\u0027"},{"line_number":973,"context_line":"}"},{"line_number":974,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_d9287a88","line":971,"updated":"2015-08-21 14:07:12.000000000","message":"example.com*?","commit_id":"c9b906c70fcfc37ab5fcf0b831882e05eea1e6fe"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"398de06e7e38cda650fcc31ad1c2c17b9a10e31c","unresolved":false,"context_lines":[{"line_number":968,"context_line":"}"},{"line_number":969,"context_line":""},{"line_number":970,"context_line":"ANOTHER_TESTER_ASSERTION \u003d {"},{"line_number":971,"context_line":"    \u0027Email\u0027: \u0027testacct@exaple.com\u0027,"},{"line_number":972,"context_line":"    \u0027UserName\u0027: \u0027IamTester\u0027"},{"line_number":973,"context_line":"}"},{"line_number":974,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_edd81455","line":971,"in_reply_to":"fa1b9901_d9287a88","updated":"2015-08-21 15:16:25.000000000","message":"Done","commit_id":"c9b906c70fcfc37ab5fcf0b831882e05eea1e6fe"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"b3ce440697169091d47eea0ab6cc1e230f84746b","unresolved":false,"context_lines":[{"line_number":790,"context_line":"                    \"user\": {"},{"line_number":791,"context_line":"                        \"name\": \"{0}\","},{"line_number":792,"context_line":"                        \"id\": \"abc123%40example.com\","},{"line_number":793,"context_line":""},{"line_number":794,"context_line":"                        \"domain\": {"},{"line_number":795,"context_line":"                            \"id\": \"federated\""},{"line_number":796,"context_line":"                        }"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_e8a002f6","line":793,"updated":"2015-08-21 15:28:50.000000000","message":"nit","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8d8ec804a02bd0d38ed14ada3aebaad70ef7ee73","unresolved":false,"context_lines":[{"line_number":790,"context_line":"                    \"user\": {"},{"line_number":791,"context_line":"                        \"name\": \"{0}\","},{"line_number":792,"context_line":"                        \"id\": \"abc123%40example.com\","},{"line_number":793,"context_line":""},{"line_number":794,"context_line":"                        \"domain\": {"},{"line_number":795,"context_line":"                            \"id\": \"federated\""},{"line_number":796,"context_line":"                        }"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_330cf841","line":793,"in_reply_to":"fa1b9901_e8a002f6","updated":"2015-08-24 07:53:39.000000000","message":"Done","commit_id":"608b42f876532b678e673118a834825aa5e36111"}],"keystone/tests/unit/test_v3_federation.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"e6234b8d65cff5a6b292dc9f16f7aaa79344e3ae","unresolved":false,"context_lines":[{"line_number":2024,"context_line":""},{"line_number":2025,"context_line":"        This test does two iterations with different assertions used as input"},{"line_number":2026,"context_line":"        for Mapping Engine.  Different assertion will be matched with different"},{"line_number":2027,"context_line":"        rules in the ruleset, effectively issuing different user_id (hardoceded"},{"line_number":2028,"context_line":"        values). In the first iteration, the hardcoded user_id is not url-safe"},{"line_number":2029,"context_line":"        and we expect server to make it url safe. In the latter iteration,"},{"line_number":2030,"context_line":"        provided user_id is already url-safe and we expect server not to change"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_f979be93","line":2027,"updated":"2015-08-21 14:07:12.000000000","message":"hardcoded*","commit_id":"c9b906c70fcfc37ab5fcf0b831882e05eea1e6fe"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"398de06e7e38cda650fcc31ad1c2c17b9a10e31c","unresolved":false,"context_lines":[{"line_number":2024,"context_line":""},{"line_number":2025,"context_line":"        This test does two iterations with different assertions used as input"},{"line_number":2026,"context_line":"        for Mapping Engine.  Different assertion will be matched with different"},{"line_number":2027,"context_line":"        rules in the ruleset, effectively issuing different user_id (hardoceded"},{"line_number":2028,"context_line":"        values). In the first iteration, the hardcoded user_id is not url-safe"},{"line_number":2029,"context_line":"        and we expect server to make it url safe. In the latter iteration,"},{"line_number":2030,"context_line":"        provided user_id is already url-safe and we expect server not to change"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_edbfb4cd","line":2027,"in_reply_to":"fa1b9901_f979be93","updated":"2015-08-21 15:16:25.000000000","message":"Done","commit_id":"c9b906c70fcfc37ab5fcf0b831882e05eea1e6fe"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"8d732cd4facb170530d75d8f255713fa187ac3fd","unresolved":false,"context_lines":[{"line_number":344,"context_line":"                            \u0027type\u0027: \u0027UserName\u0027"},{"line_number":345,"context_line":"                        },"},{"line_number":346,"context_line":"                        {"},{"line_number":347,"context_line":"                            \"type\": \"Email\","},{"line_number":348,"context_line":"                        },"},{"line_number":349,"context_line":"                        {"},{"line_number":350,"context_line":"                            \u0027type\u0027: \u0027orgPersonType\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_9f939b4f","line":347,"updated":"2015-08-23 04:04:01.000000000","message":"nit: use single quote consistently","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8d8ec804a02bd0d38ed14ada3aebaad70ef7ee73","unresolved":false,"context_lines":[{"line_number":344,"context_line":"                            \u0027type\u0027: \u0027UserName\u0027"},{"line_number":345,"context_line":"                        },"},{"line_number":346,"context_line":"                        {"},{"line_number":347,"context_line":"                            \"type\": \"Email\","},{"line_number":348,"context_line":"                        },"},{"line_number":349,"context_line":"                        {"},{"line_number":350,"context_line":"                            \u0027type\u0027: \u0027orgPersonType\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_5e10934e","line":347,"in_reply_to":"fa1b9901_9f939b4f","updated":"2015-08-24 07:53:39.000000000","message":"Done","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"b3ce440697169091d47eea0ab6cc1e230f84746b","unresolved":false,"context_lines":[{"line_number":372,"context_line":"                        {"},{"line_number":373,"context_line":"                            \u0027type\u0027: self.ASSERTION_PREFIX + \u0027UserName\u0027"},{"line_number":374,"context_line":"                        },"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"                        {"},{"line_number":377,"context_line":"                            \"type\": self.ASSERTION_PREFIX + \u0027Email\u0027,"},{"line_number":378,"context_line":"                        },"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_a8a68a0c","line":375,"updated":"2015-08-21 15:28:50.000000000","message":"nit","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8d8ec804a02bd0d38ed14ada3aebaad70ef7ee73","unresolved":false,"context_lines":[{"line_number":372,"context_line":"                        {"},{"line_number":373,"context_line":"                            \u0027type\u0027: self.ASSERTION_PREFIX + \u0027UserName\u0027"},{"line_number":374,"context_line":"                        },"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"                        {"},{"line_number":377,"context_line":"                            \"type\": self.ASSERTION_PREFIX + \u0027Email\u0027,"},{"line_number":378,"context_line":"                        },"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_1e1a1b6f","line":375,"in_reply_to":"fa1b9901_a8a68a0c","updated":"2015-08-24 07:53:39.000000000","message":"Done","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"8d732cd4facb170530d75d8f255713fa187ac3fd","unresolved":false,"context_lines":[{"line_number":374,"context_line":"                        },"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"                        {"},{"line_number":377,"context_line":"                            \"type\": self.ASSERTION_PREFIX + \u0027Email\u0027,"},{"line_number":378,"context_line":"                        },"},{"line_number":379,"context_line":"                        {"},{"line_number":380,"context_line":"                            \u0027type\u0027: self.ASSERTION_PREFIX + \u0027orgPersonType\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_5f9d0358","line":377,"updated":"2015-08-23 04:04:01.000000000","message":"nit: use single quote consistently","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8d8ec804a02bd0d38ed14ada3aebaad70ef7ee73","unresolved":false,"context_lines":[{"line_number":374,"context_line":"                        },"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"                        {"},{"line_number":377,"context_line":"                            \"type\": self.ASSERTION_PREFIX + \u0027Email\u0027,"},{"line_number":378,"context_line":"                        },"},{"line_number":379,"context_line":"                        {"},{"line_number":380,"context_line":"                            \u0027type\u0027: self.ASSERTION_PREFIX + \u0027orgPersonType\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_be252faf","line":377,"in_reply_to":"fa1b9901_5f9d0358","updated":"2015-08-24 07:53:39.000000000","message":"Done","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"b3ce440697169091d47eea0ab6cc1e230f84746b","unresolved":false,"context_lines":[{"line_number":395,"context_line":"                            \u0027user\u0027: {"},{"line_number":396,"context_line":"                                \u0027name\u0027: \u0027{0}\u0027,"},{"line_number":397,"context_line":"                                \u0027id\u0027: \u0027{1}\u0027"},{"line_number":398,"context_line":""},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"                            }"},{"line_number":401,"context_line":"                        }"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_08b8d628","line":398,"updated":"2015-08-21 15:28:50.000000000","message":"nit","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8d8ec804a02bd0d38ed14ada3aebaad70ef7ee73","unresolved":false,"context_lines":[{"line_number":395,"context_line":"                            \u0027user\u0027: {"},{"line_number":396,"context_line":"                                \u0027name\u0027: \u0027{0}\u0027,"},{"line_number":397,"context_line":"                                \u0027id\u0027: \u0027{1}\u0027"},{"line_number":398,"context_line":""},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"                            }"},{"line_number":401,"context_line":"                        }"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_7e1f975b","line":398,"in_reply_to":"fa1b9901_08b8d628","updated":"2015-08-24 07:53:39.000000000","message":"Done","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"b3ce440697169091d47eea0ab6cc1e230f84746b","unresolved":false,"context_lines":[{"line_number":396,"context_line":"                                \u0027name\u0027: \u0027{0}\u0027,"},{"line_number":397,"context_line":"                                \u0027id\u0027: \u0027{1}\u0027"},{"line_number":398,"context_line":""},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"                            }"},{"line_number":401,"context_line":"                        }"},{"line_number":402,"context_line":"                    ],"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_68add2e7","line":399,"updated":"2015-08-21 15:28:50.000000000","message":"nit","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8d8ec804a02bd0d38ed14ada3aebaad70ef7ee73","unresolved":false,"context_lines":[{"line_number":396,"context_line":"                                \u0027name\u0027: \u0027{0}\u0027,"},{"line_number":397,"context_line":"                                \u0027id\u0027: \u0027{1}\u0027"},{"line_number":398,"context_line":""},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"                            }"},{"line_number":401,"context_line":"                        }"},{"line_number":402,"context_line":"                    ],"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_3e3a7fce","line":399,"in_reply_to":"fa1b9901_68add2e7","updated":"2015-08-24 07:53:39.000000000","message":"Done","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"8d732cd4facb170530d75d8f255713fa187ac3fd","unresolved":false,"context_lines":[{"line_number":405,"context_line":"                            \u0027type\u0027: \u0027UserName\u0027"},{"line_number":406,"context_line":"                        },"},{"line_number":407,"context_line":"                        {"},{"line_number":408,"context_line":"                            \"type\": \"Email\","},{"line_number":409,"context_line":"                        },"},{"line_number":410,"context_line":"                        {"},{"line_number":411,"context_line":"                            \u0027type\u0027: \u0027orgPersonType\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_ffa2d799","line":408,"updated":"2015-08-23 04:04:01.000000000","message":"nit","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8d8ec804a02bd0d38ed14ada3aebaad70ef7ee73","unresolved":false,"context_lines":[{"line_number":405,"context_line":"                            \u0027type\u0027: \u0027UserName\u0027"},{"line_number":406,"context_line":"                        },"},{"line_number":407,"context_line":"                        {"},{"line_number":408,"context_line":"                            \"type\": \"Email\","},{"line_number":409,"context_line":"                        },"},{"line_number":410,"context_line":"                        {"},{"line_number":411,"context_line":"                            \u0027type\u0027: \u0027orgPersonType\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_5e3e53b9","line":408,"in_reply_to":"fa1b9901_ffa2d799","updated":"2015-08-24 07:53:39.000000000","message":"Done","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"b3ce440697169091d47eea0ab6cc1e230f84746b","unresolved":false,"context_lines":[{"line_number":603,"context_line":"                            \"user\": {"},{"line_number":604,"context_line":"                                \"name\": \"{0}\","},{"line_number":605,"context_line":"                                \"id\": \"{1}\""},{"line_number":606,"context_line":""},{"line_number":607,"context_line":"                            }"},{"line_number":608,"context_line":"                        },"},{"line_number":609,"context_line":"                        {"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_887aa675","line":606,"updated":"2015-08-21 15:28:50.000000000","message":"nit","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8d8ec804a02bd0d38ed14ada3aebaad70ef7ee73","unresolved":false,"context_lines":[{"line_number":603,"context_line":"                            \"user\": {"},{"line_number":604,"context_line":"                                \"name\": \"{0}\","},{"line_number":605,"context_line":"                                \"id\": \"{1}\""},{"line_number":606,"context_line":""},{"line_number":607,"context_line":"                            }"},{"line_number":608,"context_line":"                        },"},{"line_number":609,"context_line":"                        {"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_1e5f7b0f","line":606,"in_reply_to":"fa1b9901_887aa675","updated":"2015-08-24 07:53:39.000000000","message":"Done","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"daa7eaccf9a0271780865783eef9ee2944574061","unresolved":false,"context_lines":[{"line_number":2514,"context_line":"                            }"},{"line_number":2515,"context_line":"                        },"},{"line_number":2516,"context_line":"                        {"},{"line_number":2517,"context_line":"                            \u0027user\u0027: {"},{"line_number":2518,"context_line":"                                \u0027name\u0027: \u0027{0}\u0027"},{"line_number":2519,"context_line":"                            }"},{"line_number":2520,"context_line":"                        }"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_e81d6273","line":2517,"updated":"2015-08-21 15:54:01.000000000","message":"correlating id?","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8d8ec804a02bd0d38ed14ada3aebaad70ef7ee73","unresolved":false,"context_lines":[{"line_number":2514,"context_line":"                            }"},{"line_number":2515,"context_line":"                        },"},{"line_number":2516,"context_line":"                        {"},{"line_number":2517,"context_line":"                            \u0027user\u0027: {"},{"line_number":2518,"context_line":"                                \u0027name\u0027: \u0027{0}\u0027"},{"line_number":2519,"context_line":"                            }"},{"line_number":2520,"context_line":"                        }"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_3eafdfe4","line":2517,"in_reply_to":"fa1b9901_e81d6273","updated":"2015-08-24 07:53:39.000000000","message":"not always required.","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"daa7eaccf9a0271780865783eef9ee2944574061","unresolved":false,"context_lines":[{"line_number":2521,"context_line":"                    ],"},{"line_number":2522,"context_line":"                    \u0027remote\u0027: ["},{"line_number":2523,"context_line":"                        {"},{"line_number":2524,"context_line":"                            \u0027type\u0027: \u0027UserName\u0027"},{"line_number":2525,"context_line":"                        },"},{"line_number":2526,"context_line":"                        {"},{"line_number":2527,"context_line":"                            \u0027type\u0027: \u0027LastName\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_dad14531","line":2524,"updated":"2015-08-21 15:54:01.000000000","message":"correlating email?","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8d8ec804a02bd0d38ed14ada3aebaad70ef7ee73","unresolved":false,"context_lines":[{"line_number":2521,"context_line":"                    ],"},{"line_number":2522,"context_line":"                    \u0027remote\u0027: ["},{"line_number":2523,"context_line":"                        {"},{"line_number":2524,"context_line":"                            \u0027type\u0027: \u0027UserName\u0027"},{"line_number":2525,"context_line":"                        },"},{"line_number":2526,"context_line":"                        {"},{"line_number":2527,"context_line":"                            \u0027type\u0027: \u0027LastName\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_feb8872c","line":2524,"in_reply_to":"fa1b9901_dad14531","updated":"2015-08-24 07:53:39.000000000","message":"not supported atthe moment.","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"b3ce440697169091d47eea0ab6cc1e230f84746b","unresolved":false,"context_lines":[{"line_number":2983,"context_line":"    def test_federated_unscoped_token_with_multiple_groups(self):"},{"line_number":2984,"context_line":"        assertion \u003d \u0027ANOTHER_CUSTOMER_ASSERTION\u0027"},{"line_number":2985,"context_line":"        resp \u003d self._issue_unscoped_token(assertion\u003dassertion)"},{"line_number":2986,"context_line":"        self.assertEqual(232, len(resp.headers[\u0027X-Subject-Token\u0027]))"},{"line_number":2987,"context_line":""},{"line_number":2988,"context_line":"    def test_validate_federated_unscoped_token(self):"},{"line_number":2989,"context_line":"        resp \u003d self._issue_unscoped_token()"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_28b83a10","line":2986,"updated":"2015-08-21 15:28:50.000000000","message":"*cries*","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8d8ec804a02bd0d38ed14ada3aebaad70ef7ee73","unresolved":false,"context_lines":[{"line_number":2983,"context_line":"    def test_federated_unscoped_token_with_multiple_groups(self):"},{"line_number":2984,"context_line":"        assertion \u003d \u0027ANOTHER_CUSTOMER_ASSERTION\u0027"},{"line_number":2985,"context_line":"        resp \u003d self._issue_unscoped_token(assertion\u003dassertion)"},{"line_number":2986,"context_line":"        self.assertEqual(232, len(resp.headers[\u0027X-Subject-Token\u0027]))"},{"line_number":2987,"context_line":""},{"line_number":2988,"context_line":"    def test_validate_federated_unscoped_token(self):"},{"line_number":2989,"context_line":"        resp \u003d self._issue_unscoped_token()"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_53ff2c34","line":2986,"in_reply_to":"fa1b9901_28b83a10","updated":"2015-08-24 07:53:39.000000000","message":"we can still say \u0027name\u0027 is a no go in Federation :P\n\nBesides: still 23 bytes to go!","commit_id":"608b42f876532b678e673118a834825aa5e36111"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"41f9ede38643c5a731158c77cf41d4a3ed251d00","unresolved":false,"context_lines":[{"line_number":584,"context_line":"                            \"type\": \"UserName\","},{"line_number":585,"context_line":"                        },"},{"line_number":586,"context_line":"                        {"},{"line_number":587,"context_line":"                            \"type\": \"Email\","},{"line_number":588,"context_line":"                        },"},{"line_number":589,"context_line":"                        {"},{"line_number":590,"context_line":"                            \"type\": \"orgPersonType\","}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_5882a053","line":587,"updated":"2015-08-25 13:27:37.000000000","message":"these don\u0027t have to be consistent with the ones above? single quote versus double quote?\n\nOr is the convention set within the immediate list?","commit_id":"b21ff98464efbf958627089641b7423f7a1d1f1b"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"d51f95042ca50f4f80fc196ddd218cd26435109c","unresolved":false,"context_lines":[{"line_number":2019,"context_line":"        in the mapping"},{"line_number":2020,"context_line":""},{"line_number":2021,"context_line":"        This test does two iterations with different assertions used as input"},{"line_number":2022,"context_line":"        for Mapping Engine.  Different assertion will be matched with different"},{"line_number":2023,"context_line":"        rules in the ruleset, effectively issuing different user_id (hardcoded"},{"line_number":2024,"context_line":"        values). In the first iteration, the hardcoded user_id is not url-safe"},{"line_number":2025,"context_line":"        and we expect server to make it url safe. In the latter iteration,"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_1e7e3f19","line":2022,"updated":"2015-08-25 19:13:18.000000000","message":"for the* mapping engine.\n\nDifferent assertions*","commit_id":"017137573cb43804a26f0d13839b36e8d97420e3"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"8c0f86898fedd8207311437cc8eb2a59702b4d35","unresolved":false,"context_lines":[{"line_number":2019,"context_line":"        in the mapping"},{"line_number":2020,"context_line":""},{"line_number":2021,"context_line":"        This test does two iterations with different assertions used as input"},{"line_number":2022,"context_line":"        for Mapping Engine.  Different assertion will be matched with different"},{"line_number":2023,"context_line":"        rules in the ruleset, effectively issuing different user_id (hardcoded"},{"line_number":2024,"context_line":"        values). In the first iteration, the hardcoded user_id is not url-safe"},{"line_number":2025,"context_line":"        and we expect server to make it url safe. In the latter iteration,"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_e1d88a20","line":2022,"in_reply_to":"fa1b9901_1e7e3f19","updated":"2015-08-25 19:44:17.000000000","message":"Done","commit_id":"017137573cb43804a26f0d13839b36e8d97420e3"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"d51f95042ca50f4f80fc196ddd218cd26435109c","unresolved":false,"context_lines":[{"line_number":2022,"context_line":"        for Mapping Engine.  Different assertion will be matched with different"},{"line_number":2023,"context_line":"        rules in the ruleset, effectively issuing different user_id (hardcoded"},{"line_number":2024,"context_line":"        values). In the first iteration, the hardcoded user_id is not url-safe"},{"line_number":2025,"context_line":"        and we expect server to make it url safe. In the latter iteration,"},{"line_number":2026,"context_line":"        provided user_id is already url-safe and we expect server not to change"},{"line_number":2027,"context_line":"        it."},{"line_number":2028,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_3ea2239a","line":2025,"updated":"2015-08-25 19:13:18.000000000","message":"what server? be more specific","commit_id":"017137573cb43804a26f0d13839b36e8d97420e3"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"8c0f86898fedd8207311437cc8eb2a59702b4d35","unresolved":false,"context_lines":[{"line_number":2022,"context_line":"        for Mapping Engine.  Different assertion will be matched with different"},{"line_number":2023,"context_line":"        rules in the ruleset, effectively issuing different user_id (hardcoded"},{"line_number":2024,"context_line":"        values). In the first iteration, the hardcoded user_id is not url-safe"},{"line_number":2025,"context_line":"        and we expect server to make it url safe. In the latter iteration,"},{"line_number":2026,"context_line":"        provided user_id is already url-safe and we expect server not to change"},{"line_number":2027,"context_line":"        it."},{"line_number":2028,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_a17a92ef","line":2025,"in_reply_to":"fa1b9901_3ea2239a","updated":"2015-08-25 19:44:17.000000000","message":"Done","commit_id":"017137573cb43804a26f0d13839b36e8d97420e3"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"d51f95042ca50f4f80fc196ddd218cd26435109c","unresolved":false,"context_lines":[{"line_number":2029,"context_line":"        \"\"\""},{"line_number":2030,"context_line":"        testcases \u003d [(mapping_fixtures.CUSTOMER_ASSERTION, \u0027bwilliams\u0027),"},{"line_number":2031,"context_line":"                     (mapping_fixtures.EMPLOYEE_ASSERTION, \u0027tbo\u0027)]"},{"line_number":2032,"context_line":"        for testcase in testcases:"},{"line_number":2033,"context_line":"            assertion, exp_user_name \u003d testcase"},{"line_number":2034,"context_line":"            mapping \u003d mapping_fixtures.MAPPING_USER_IDS"},{"line_number":2035,"context_line":"            rp \u003d mapping_utils.RuleProcessor(mapping[\u0027rules\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_7eb65bfa","line":2032,"updated":"2015-08-25 19:13:18.000000000","message":"unpack tuples as you go:\n\n  for assertion, exp_user_name in testcases:","commit_id":"017137573cb43804a26f0d13839b36e8d97420e3"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"8c0f86898fedd8207311437cc8eb2a59702b4d35","unresolved":false,"context_lines":[{"line_number":2029,"context_line":"        \"\"\""},{"line_number":2030,"context_line":"        testcases \u003d [(mapping_fixtures.CUSTOMER_ASSERTION, \u0027bwilliams\u0027),"},{"line_number":2031,"context_line":"                     (mapping_fixtures.EMPLOYEE_ASSERTION, \u0027tbo\u0027)]"},{"line_number":2032,"context_line":"        for testcase in testcases:"},{"line_number":2033,"context_line":"            assertion, exp_user_name \u003d testcase"},{"line_number":2034,"context_line":"            mapping \u003d mapping_fixtures.MAPPING_USER_IDS"},{"line_number":2035,"context_line":"            rp \u003d mapping_utils.RuleProcessor(mapping[\u0027rules\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_61323a60","line":2032,"in_reply_to":"fa1b9901_7eb65bfa","updated":"2015-08-25 19:44:17.000000000","message":"Done","commit_id":"017137573cb43804a26f0d13839b36e8d97420e3"}]}
