)]}'
{"keystone/tests/unit/token/test_fernet_provider.py":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"8f40ae8fa4226c271b7a99c073832be800092b5e","unresolved":false,"context_lines":[{"line_number":389,"context_line":"        )"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        self.assertEqual(expected_hex_uuid, actual_hex_uuid)"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"    def _test_payload(self, payload_class, exp_user_id\u003dNone, exp_methods\u003dNone,"},{"line_number":394,"context_line":"                      exp_system\u003dNone, exp_project_id\u003dNone, exp_domain_id\u003dNone,"},{"line_number":395,"context_line":"                      exp_trust_id\u003dNone, exp_federated_group_ids\u003dNone,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_785e6946","line":392,"updated":"2019-06-18 18:27:02.000000000","message":"Could we also have a test case that uses _test_payload to go through one or more of the payload classes to demonstrate the actual issue shown in the bug report?","commit_id":"922ec35bb19981167db3d7ebc22deb10755c1baf"},{"author":{"_account_id":935,"name":"James Page","email":"ringo.page@gmail.com","username":"james-page"},"change_message_id":"aa1d4a113855719a1a88839234e94e79742097f6","unresolved":false,"context_lines":[{"line_number":389,"context_line":"        )"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        self.assertEqual(expected_hex_uuid, actual_hex_uuid)"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"    def _test_payload(self, payload_class, exp_user_id\u003dNone, exp_methods\u003dNone,"},{"line_number":394,"context_line":"                      exp_system\u003dNone, exp_project_id\u003dNone, exp_domain_id\u003dNone,"},{"line_number":395,"context_line":"                      exp_trust_id\u003dNone, exp_federated_group_ids\u003dNone,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_3e752f99","line":392,"in_reply_to":"9fb8cfa7_785e6946","updated":"2019-06-19 08:57:59.000000000","message":"I\u0027ve covered the project scoped payload from the original bug report; however its slightly artificial as the assembled content does not pass through msgpack prior to being unpacked by the dissemble methods so I\u0027ve added optional encoding of string values as part of the _test_payload helper.","commit_id":"922ec35bb19981167db3d7ebc22deb10755c1baf"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"e564fc8cae48bf4ab60630a5545d8be7d5c7f983","unresolved":false,"context_lines":[{"line_number":410,"context_line":"            exp_methods,"},{"line_number":411,"context_line":"            _encode_id(exp_system),"},{"line_number":412,"context_line":"            _encode_id(exp_project_id),"},{"line_number":413,"context_line":"            exp_domain_id,"},{"line_number":414,"context_line":"            exp_expires_at,"},{"line_number":415,"context_line":"            exp_audit_ids,"},{"line_number":416,"context_line":"            exp_trust_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_8e4a0d59","line":413,"updated":"2019-08-08 06:01:54.000000000","message":"why not encode exp_domain_id?","commit_id":"ffa0918f5a92fd18c86703916d768012b0bea61b"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"e564fc8cae48bf4ab60630a5545d8be7d5c7f983","unresolved":false,"context_lines":[{"line_number":414,"context_line":"            exp_expires_at,"},{"line_number":415,"context_line":"            exp_audit_ids,"},{"line_number":416,"context_line":"            exp_trust_id,"},{"line_number":417,"context_line":"            _encode_id(exp_federated_group_ids),"},{"line_number":418,"context_line":"            _encode_id(exp_identity_provider_id),"},{"line_number":419,"context_line":"            exp_protocol_id,"},{"line_number":420,"context_line":"            _encode_id(exp_access_token_id),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_2e3679e9","line":417,"updated":"2019-08-08 06:01:54.000000000","message":"exp_federated_group_id is always a list right?","commit_id":"ffa0918f5a92fd18c86703916d768012b0bea61b"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"42d581f052781b68ba1035b6089c4ae781114468","unresolved":false,"context_lines":[{"line_number":414,"context_line":"            exp_expires_at,"},{"line_number":415,"context_line":"            exp_audit_ids,"},{"line_number":416,"context_line":"            exp_trust_id,"},{"line_number":417,"context_line":"            _encode_id(exp_federated_group_ids),"},{"line_number":418,"context_line":"            _encode_id(exp_identity_provider_id),"},{"line_number":419,"context_line":"            exp_protocol_id,"},{"line_number":420,"context_line":"            _encode_id(exp_access_token_id),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_8ff636d8","line":417,"in_reply_to":"7faddb67_2e3679e9","updated":"2019-08-28 19:03:42.000000000","message":"Yes - I believe so https://opendev.org/openstack/keystone/src/branch/master/keystone/token/provider.py#L230-L232","commit_id":"ffa0918f5a92fd18c86703916d768012b0bea61b"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"010e3a58e1c8ba1ef7856ab3df387a411451af97","unresolved":false,"context_lines":[{"line_number":414,"context_line":"            exp_expires_at,"},{"line_number":415,"context_line":"            exp_audit_ids,"},{"line_number":416,"context_line":"            exp_trust_id,"},{"line_number":417,"context_line":"            _encode_id(exp_federated_group_ids),"},{"line_number":418,"context_line":"            _encode_id(exp_identity_provider_id),"},{"line_number":419,"context_line":"            exp_protocol_id,"},{"line_number":420,"context_line":"            _encode_id(exp_access_token_id),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_4f759e31","line":417,"in_reply_to":"7faddb67_8ff636d8","updated":"2019-08-28 19:13:02.000000000","message":"It should always be a list of dictionaries with `id` as the only key if I\u0027m reading the code correctly. I don\u0027t think calling _encode_id() will actually do anything with a list since the type check of the if statement will always evaluate to False.\n\nWe could remove this bit, I removed it locally and the tests still passed.","commit_id":"ffa0918f5a92fd18c86703916d768012b0bea61b"}],"keystone/token/token_formatters.py":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"8f40ae8fa4226c271b7a99c073832be800092b5e","unresolved":false,"context_lines":[{"line_number":570,"context_line":"        # converted to a byte string since it is not a UUID format."},{"line_number":571,"context_line":"        # However. on python3 msgpack returns the serialized input as a"},{"line_number":572,"context_line":"        # byte string anyway. Similar to other msgpack\u0027d values in the"},{"line_number":573,"context_line":"        # payload, we need to explicitly decode it to a string value."},{"line_number":574,"context_line":"        user_id \u003d cls._convert_or_decode(is_stored_as_bytes, user_id)"},{"line_number":575,"context_line":"        methods \u003d auth_plugins.convert_integer_to_method_list(payload[1])"},{"line_number":576,"context_line":"        group_ids \u003d list(map(cls.unpack_group_id, payload[2]))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_18188dd1","line":573,"updated":"2019-06-18 18:27:02.000000000","message":"We could probably get rid of comments like this if we\u0027re doing this universally","commit_id":"922ec35bb19981167db3d7ebc22deb10755c1baf"},{"author":{"_account_id":935,"name":"James Page","email":"ringo.page@gmail.com","username":"james-page"},"change_message_id":"aa1d4a113855719a1a88839234e94e79742097f6","unresolved":false,"context_lines":[{"line_number":570,"context_line":"        # converted to a byte string since it is not a UUID format."},{"line_number":571,"context_line":"        # However. on python3 msgpack returns the serialized input as a"},{"line_number":572,"context_line":"        # byte string anyway. Similar to other msgpack\u0027d values in the"},{"line_number":573,"context_line":"        # payload, we need to explicitly decode it to a string value."},{"line_number":574,"context_line":"        user_id \u003d cls._convert_or_decode(is_stored_as_bytes, user_id)"},{"line_number":575,"context_line":"        methods \u003d auth_plugins.convert_integer_to_method_list(payload[1])"},{"line_number":576,"context_line":"        group_ids \u003d list(map(cls.unpack_group_id, payload[2]))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_be683fba","line":573,"in_reply_to":"9fb8cfa7_18188dd1","updated":"2019-06-19 08:57:59.000000000","message":"Done","commit_id":"922ec35bb19981167db3d7ebc22deb10755c1baf"}],"releasenotes/notes/consistent-payload-decoding-cb76ccf505c2d9d1.yaml":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"735a56a75b1c82ed97f4eb0a1fbfe966ab7ac688","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    [`bug 1832265 \u003chttps://bugs.launchpad.net/keystone/+bug/1832265\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9fb8cfa7_5354defd","line":1,"updated":"2019-07-01 18:21:25.000000000","message":"We usually put the bug number in the release note for organizational purposes, as noted in the process below.\n\nhttps://docs.openstack.org/keystone/latest/contributor/release-notes.html#release-notes-for-bugs","commit_id":"d8262030840aa2da0a0d2bc5aef13091f85fed91"},{"author":{"_account_id":935,"name":"James Page","email":"ringo.page@gmail.com","username":"james-page"},"change_message_id":"97ad8f3aab62ff6a19068d3bfdcfc0dff6bf5364","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    [`bug 1832265 \u003chttps://bugs.launchpad.net/keystone/+bug/1832265\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_032121b5","line":1,"in_reply_to":"9fb8cfa7_5354defd","updated":"2019-07-04 06:57:00.000000000","message":"Renamed as requested","commit_id":"d8262030840aa2da0a0d2bc5aef13091f85fed91"}]}
