)]}'
{"keystone/tests/unit/test_v3_auth.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"8c688d517e1c178153bb235bd30e8a018fb2591d","unresolved":false,"context_lines":[{"line_number":554,"context_line":""},{"line_number":555,"context_line":"    @test_utils.wip(\u0027Failing due to bug 1459790.\u0027)"},{"line_number":556,"context_line":"    def test_rescoping_token(self):"},{"line_number":557,"context_line":"        super(TestFernetTokenAPIs, self).test_rescoping_token()"},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"    @test_utils.wip(\u0027Failing due to bug 1475762.\u0027)"},{"line_number":560,"context_line":"    def test_v3_v2_intermix_non_default_project_failed(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_64f44e5a","side":"PARENT","line":557,"updated":"2015-08-06 23:22:45.000000000","message":"\\o/ awesome!","commit_id":"aac271e6f7c85d71d5871cff6d8b82a7322218d0"}],"keystone/token/providers/fernet/core.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"a63e2fc4c451cc7f43b4cda1d9ccf30e0c19e104","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                       project_id\u003dNone, domain_id\u003dNone, auth_context\u003dNone,"},{"line_number":103,"context_line":"                       trust\u003dNone, metadata_ref\u003dNone, include_catalog\u003dTrue,"},{"line_number":104,"context_line":"                       parent_audit_id\u003dNone):"},{"line_number":105,"context_line":"        # NOTE(lbragstad): If Fernet tokens are being used, we must use the"},{"line_number":106,"context_line":"        # creation time that Fernet builds into it\u0027s token. The Fernet spec"},{"line_number":107,"context_line":"        # details that the token creation time is built into the token, outside"},{"line_number":108,"context_line":"        # of the payload provided by Keystone. This is the reason why we don\u0027t"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_8905f314","line":105,"updated":"2015-08-06 22:51:40.000000000","message":"I know you didn\u0027t write this, but Fernet tokens *are* being used. It\u0027s not a conditional here :)","commit_id":"867081ce65c392300f238a42a4e67f860f65c834"},{"author":{"_account_id":15640,"name":"Roxana Gherle","email":"roxana.gherle@hpe.com","username":"roxana-gherle"},"change_message_id":"bdda52bb93402e58fba117f53690e98c2d00f597","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                       project_id\u003dNone, domain_id\u003dNone, auth_context\u003dNone,"},{"line_number":103,"context_line":"                       trust\u003dNone, metadata_ref\u003dNone, include_catalog\u003dTrue,"},{"line_number":104,"context_line":"                       parent_audit_id\u003dNone):"},{"line_number":105,"context_line":"        # NOTE(lbragstad): If Fernet tokens are being used, we must use the"},{"line_number":106,"context_line":"        # creation time that Fernet builds into it\u0027s token. The Fernet spec"},{"line_number":107,"context_line":"        # details that the token creation time is built into the token, outside"},{"line_number":108,"context_line":"        # of the payload provided by Keystone. This is the reason why we don\u0027t"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_4aa4b9b8","line":105,"in_reply_to":"1a4dcd0f_44bfd260","updated":"2015-08-07 00:05:33.000000000","message":"Fixed this and also consolidated the code in one function called by both issue_v2_token and issue_v3_token.","commit_id":"867081ce65c392300f238a42a4e67f860f65c834"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"8c688d517e1c178153bb235bd30e8a018fb2591d","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                       project_id\u003dNone, domain_id\u003dNone, auth_context\u003dNone,"},{"line_number":103,"context_line":"                       trust\u003dNone, metadata_ref\u003dNone, include_catalog\u003dTrue,"},{"line_number":104,"context_line":"                       parent_audit_id\u003dNone):"},{"line_number":105,"context_line":"        # NOTE(lbragstad): If Fernet tokens are being used, we must use the"},{"line_number":106,"context_line":"        # creation time that Fernet builds into it\u0027s token. The Fernet spec"},{"line_number":107,"context_line":"        # details that the token creation time is built into the token, outside"},{"line_number":108,"context_line":"        # of the payload provided by Keystone. This is the reason why we don\u0027t"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_44bfd260","line":105,"in_reply_to":"1a4dcd0f_8905f314","updated":"2015-08-06 23:22:45.000000000","message":"yep, this should be modified (sorry!) so it makes sense within the context of the Fernet provider. when I originally wrote it, it was in the BaseProvider.\n\nMaybe something like:\n\n    # NOTE(roxanaghe, lbragstad): We must use the creation time that\n    Fernet builds into it\u0027s tokens. etc...","commit_id":"867081ce65c392300f238a42a4e67f860f65c834"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"51ca399c5a62c63d8000e9cdae658dd1f2bc9652","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            user_id, method_names, expires_at\u003dexpires_at,"},{"line_number":104,"context_line":"            project_id\u003dproject_id, domain_id\u003ddomain_id,"},{"line_number":105,"context_line":"            auth_context\u003dauth_context, trust\u003dtrust, metadata_ref\u003dmetadata_ref,"},{"line_number":106,"context_line":"            include_catalog\u003dinclude_catalog, parent_audit_id\u003dparent_audit_id)"},{"line_number":107,"context_line":"        self._build_issued_at_info(token_id, token_data)"},{"line_number":108,"context_line":"        return token_id, token_data"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_5b12235a","line":106,"updated":"2015-08-07 17:22:16.000000000","message":"just a nit to improve maintenance... since this method does not own the method signature (the parent class does), it\u0027s best to just pass (*args, **kwargs) through.","commit_id":"c75c03972e822521aaaf0b5546cba14f7dfacaca"},{"author":{"_account_id":15640,"name":"Roxana Gherle","email":"roxana.gherle@hpe.com","username":"roxana-gherle"},"change_message_id":"9532ef38e9701716a594f947a85ec4d3b1eaebf5","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            user_id, method_names, expires_at\u003dexpires_at,"},{"line_number":104,"context_line":"            project_id\u003dproject_id, domain_id\u003ddomain_id,"},{"line_number":105,"context_line":"            auth_context\u003dauth_context, trust\u003dtrust, metadata_ref\u003dmetadata_ref,"},{"line_number":106,"context_line":"            include_catalog\u003dinclude_catalog, parent_audit_id\u003dparent_audit_id)"},{"line_number":107,"context_line":"        self._build_issued_at_info(token_id, token_data)"},{"line_number":108,"context_line":"        return token_id, token_data"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_db48738d","line":106,"in_reply_to":"1a4dcd0f_5b12235a","updated":"2015-08-07 17:43:11.000000000","message":"Done! Good point, thanks!","commit_id":"c75c03972e822521aaaf0b5546cba14f7dfacaca"}],"keystone/token/providers/fernet/token_formatters.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"e9d91317e09cde17fb19ea2796f0f778cf45bdff","unresolved":false,"context_lines":[{"line_number":286,"context_line":"        :returns: a time formatted strings"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"        \"\"\""},{"line_number":289,"context_line":"        time_object \u003d datetime.datetime.utcfromtimestamp(int(time_int))"},{"line_number":290,"context_line":"        return ks_utils.isotime(time_object)"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_8c466e79","side":"PARENT","line":289,"updated":"2015-08-06 17:34:50.000000000","message":"I don\u0027t think this part *needs* to be removed, it shouldn\u0027t effect the resulting time_object","commit_id":"aac271e6f7c85d71d5871cff6d8b82a7322218d0"},{"author":{"_account_id":15640,"name":"Roxana Gherle","email":"roxana.gherle@hpe.com","username":"roxana-gherle"},"change_message_id":"7277742169e5a1e0de7af97db09798c830e1f271","unresolved":false,"context_lines":[{"line_number":286,"context_line":"        :returns: a time formatted strings"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"        \"\"\""},{"line_number":289,"context_line":"        time_object \u003d datetime.datetime.utcfromtimestamp(int(time_int))"},{"line_number":290,"context_line":"        return ks_utils.isotime(time_object)"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_cfd6a84e","side":"PARENT","line":289,"in_reply_to":"1a4dcd0f_8c466e79","updated":"2015-08-06 17:40:22.000000000","message":"time_int is actually a float there so if we convert it to int we lose the microseconds","commit_id":"aac271e6f7c85d71d5871cff6d8b82a7322218d0"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ab1529e98d064336565c43409cd505f9aa16294f","unresolved":false,"context_lines":[{"line_number":286,"context_line":"        :returns: a time formatted strings"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"        \"\"\""},{"line_number":289,"context_line":"        time_object \u003d datetime.datetime.utcfromtimestamp(int(time_int))"},{"line_number":290,"context_line":"        return ks_utils.isotime(time_object)"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_8fe980b9","side":"PARENT","line":289,"in_reply_to":"1a4dcd0f_cfd6a84e","updated":"2015-08-06 17:48:38.000000000","message":"Oh... that makes sense.... \n\n\n    \u003e\u003e\u003e time_integer \u003d 1438886516.521249\n    \u003e\u003e\u003e int(time_integer)\n    1438886516\n    \u003e\u003e\u003e\n\nLike that for example. Good point!","commit_id":"aac271e6f7c85d71d5871cff6d8b82a7322218d0"}]}
