)]}'
{"keystone/common/wsgi.py":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"2c28fe85774fdbaad1cbb9f6a65b68cc0a9b137a","unresolved":false,"context_lines":[{"line_number":296,"context_line":""},{"line_number":297,"context_line":"        Additionally, a Forbidden exception will be"},{"line_number":298,"context_line":"        raised if the user is not an admin and does"},{"line_number":299,"context_line":"        not has the admin role."},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"        :raises exception.Unauthorized, exception.Forbidden"},{"line_number":302,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba3cc151_c6f2689a","line":299,"updated":"2015-07-07 17:09:57.000000000","message":"s/has/have/","commit_id":"e415571e6071d6f55e8eeeb8f2bb5cfe3cfd5ee2"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"b76578c5d67367bf98b44c80f68efe4fb8a6ea90","unresolved":false,"context_lines":[{"line_number":290,"context_line":"    def assert_admin(self, context):"},{"line_number":291,"context_line":"        \"\"\"Ensure the user is an admin."},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        An Unauthorized exception will be raised if"},{"line_number":294,"context_line":"        a token could not be found/authorized, a user"},{"line_number":295,"context_line":"        is invalid, or a tenant is invalid/not scoped."},{"line_number":296,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_bfbe33ac","line":293,"updated":"2015-07-08 02:53:28.000000000","message":"Can you update as in https://review.openstack.org/#/c/199338/","commit_id":"5403e56a2188d1360e9569ca7cf818fabc2b34e6"},{"author":{"_account_id":17073,"name":"Theodore Ilie","email":"theodorex.ilie@intel.com","username":"Lactem"},"change_message_id":"1fe77f6f54c0f61942c9df03958bc94e93e81f98","unresolved":false,"context_lines":[{"line_number":290,"context_line":"    def assert_admin(self, context):"},{"line_number":291,"context_line":"        \"\"\"Ensure the user is an admin."},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        An Unauthorized exception will be raised if"},{"line_number":294,"context_line":"        a token could not be found/authorized, a user"},{"line_number":295,"context_line":"        is invalid, or a tenant is invalid/not scoped."},{"line_number":296,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_ca1497ea","line":293,"in_reply_to":"ba3cc151_bfbe33ac","updated":"2015-07-08 03:26:44.000000000","message":"I can do this tomorrow if David Stanek\u0027s patch is not already merged by then. If that\u0027s the case, I can just pull from master and make my other changes again.","commit_id":"5403e56a2188d1360e9569ca7cf818fabc2b34e6"},{"author":{"_account_id":17073,"name":"Theodore Ilie","email":"theodorex.ilie@intel.com","username":"Lactem"},"change_message_id":"58a2713235ddc8639ada8b36b38d6b8e9c5796c9","unresolved":false,"context_lines":[{"line_number":290,"context_line":"    def assert_admin(self, context):"},{"line_number":291,"context_line":"        \"\"\"Ensure the user is an admin."},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        An Unauthorized exception will be raised if"},{"line_number":294,"context_line":"        a token could not be found/authorized, a user"},{"line_number":295,"context_line":"        is invalid, or a tenant is invalid/not scoped."},{"line_number":296,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_cabed7ad","line":293,"in_reply_to":"ba3cc151_ca1497ea","updated":"2015-07-08 03:31:37.000000000","message":"I take that back. David\u0027s patch depends on mine and will fix my \"raises\" format after mine goes through, so it would be silly for me to copy to David\u0027s format. Now that you know this, I would appreciate it if you changed your -1 back to a +1.","commit_id":"5403e56a2188d1360e9569ca7cf818fabc2b34e6"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"e4829256244f23fef2cb4c2536bb0e5c3931e333","unresolved":false,"context_lines":[{"line_number":290,"context_line":"    def assert_admin(self, context):"},{"line_number":291,"context_line":"        \"\"\"Ensure the user is an admin."},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        An Unauthorized exception will be raised if"},{"line_number":294,"context_line":"        a token could not be found/authorized, a user"},{"line_number":295,"context_line":"        is invalid, or a tenant is invalid/not scoped."},{"line_number":296,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_6b9b0a67","line":293,"in_reply_to":"ba3cc151_ca525735","updated":"2015-07-08 07:23:43.000000000","message":"++\nAnd don\u0027t worry about Eric\u0027s voting here, since there is other place you need to update, there must be a following up PS here.","commit_id":"5403e56a2188d1360e9569ca7cf818fabc2b34e6"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"a0bbf1c3c880ae96d3cab110222a8e723f5fd0aa","unresolved":false,"context_lines":[{"line_number":290,"context_line":"    def assert_admin(self, context):"},{"line_number":291,"context_line":"        \"\"\"Ensure the user is an admin."},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        An Unauthorized exception will be raised if"},{"line_number":294,"context_line":"        a token could not be found/authorized, a user"},{"line_number":295,"context_line":"        is invalid, or a tenant is invalid/not scoped."},{"line_number":296,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_d59ada61","line":293,"in_reply_to":"ba3cc151_ca525735","updated":"2015-07-08 14:57:43.000000000","message":"You can say that about any follow up patch. It just depends on how many times you want to keep making minor changes and re-uploading...","commit_id":"5403e56a2188d1360e9569ca7cf818fabc2b34e6"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"3e9d3b9485ee10148f7cc6dc6da34c3deac6389a","unresolved":false,"context_lines":[{"line_number":290,"context_line":"    def assert_admin(self, context):"},{"line_number":291,"context_line":"        \"\"\"Ensure the user is an admin."},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        An Unauthorized exception will be raised if"},{"line_number":294,"context_line":"        a token could not be found/authorized, a user"},{"line_number":295,"context_line":"        is invalid, or a tenant is invalid/not scoped."},{"line_number":296,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_ca525735","line":293,"in_reply_to":"ba3cc151_cabed7ad","updated":"2015-07-08 03:44:55.000000000","message":"Yeah, seems strange to have David\u0027s patch at all when you can simply update your docstring.","commit_id":"5403e56a2188d1360e9569ca7cf818fabc2b34e6"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"1a290e57feb4b68081abfd67d5c3939df83d781a","unresolved":false,"context_lines":[{"line_number":298,"context_line":"        raised if the user is not an admin and does"},{"line_number":299,"context_line":"        not have the admin role."},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"        :raises exception.Unauthorized, exception.Forbidden"},{"line_number":302,"context_line":"        \"\"\""},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        if not context[\u0027is_admin\u0027]:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba3cc151_3e0bd0d7","line":301,"updated":"2015-07-08 23:14:10.000000000","message":"This isn\u0027t valid rst, see http://sphinx-doc.org/domains.html#info-field-lists\n\nCorrect would be like\n\n :raises keystone.exception.Unauthorized: \u003cunder what condition\u003e\n :raises keystone.exception.Forbidden: \u003cunder what condition\u003e\n\nthe text above should be in the \u003cunder what condition\u003e","commit_id":"94596897b92114480fd80f75c0d06525b0d26a71"}],"keystone/tests/unit/test_contrib_ec2.py":[{"author":{"_account_id":17073,"name":"Theodore Ilie","email":"theodorex.ilie@intel.com","username":"Lactem"},"change_message_id":"7756f8fe08c3250bd3700aefb1898826c7b6017d","unresolved":false,"context_lines":[{"line_number":201,"context_line":"        user \u003d {\u0027is_admin\u0027: False, \u0027token_id\u0027: uuid.uuid4().hex}"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        # see if keystone.exception.Unauthorized is raised"},{"line_number":204,"context_line":"        #  when checking if the non-admin user is an admin"},{"line_number":205,"context_line":"        self.controller._is_admin(user)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_7e476a77","line":204,"updated":"2015-07-07 15:17:56.000000000","message":"I realize I will probably be killed for this space. I\u0027ll make a new patch set.","commit_id":"d0c2467b02b15c14e20148db5b3d1a7055820a6c"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"2c28fe85774fdbaad1cbb9f6a65b68cc0a9b137a","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def test_check_non_admin_user(self):"},{"line_number":198,"context_line":"        \"\"\"Checking a user\u0027s ec2 credentials causes"},{"line_number":199,"context_line":"            an uncaught error if he/she is not an admin."},{"line_number":200,"context_line":"        \"\"\""},{"line_number":201,"context_line":"        # make a non-admin user"},{"line_number":202,"context_line":"        user \u003d {\u0027is_admin\u0027: False, \u0027token_id\u0027: uuid.uuid4().hex}"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba3cc151_0627f012","line":199,"updated":"2015-07-07 17:09:57.000000000","message":"This should fail hacking: http://docs.openstack.org/developer/hacking/#docstrings\n\nMake sure you run \u0027tox -e pep8\u0027 before resubmitting.","commit_id":"e415571e6071d6f55e8eeeb8f2bb5cfe3cfd5ee2"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"2c28fe85774fdbaad1cbb9f6a65b68cc0a9b137a","unresolved":false,"context_lines":[{"line_number":201,"context_line":"        # make a non-admin user"},{"line_number":202,"context_line":"        user \u003d {\u0027is_admin\u0027: False, \u0027token_id\u0027: uuid.uuid4().hex}"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        # see if keystone.exception.Unauthorized is raised"},{"line_number":205,"context_line":"        # when checking if the non-admin user is an admin"},{"line_number":206,"context_line":"        self.controller._is_admin(user)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba3cc151_8660e036","line":204,"updated":"2015-07-07 17:09:57.000000000","message":"Nothing is checking to see if the exception is actually raised so this comment isn\u0027t accurate.","commit_id":"e415571e6071d6f55e8eeeb8f2bb5cfe3cfd5ee2"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"e4829256244f23fef2cb4c2536bb0e5c3931e333","unresolved":false,"context_lines":[{"line_number":195,"context_line":"                          creds_ref, sig_ref)"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def test_check_non_admin_user(self):"},{"line_number":198,"context_line":"        \"\"\"Checking if user is admin causes uncaught error."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"           When checking if a user is an admin,"},{"line_number":201,"context_line":"           keystone.exception.Unauthorized is raised but"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_6b430a14","line":198,"updated":"2015-07-08 07:23:43.000000000","message":"\u0027not causes uncaught error\u0027, this should be the correct behavior after your fixing.","commit_id":"5403e56a2188d1360e9569ca7cf818fabc2b34e6"},{"author":{"_account_id":17073,"name":"Theodore Ilie","email":"theodorex.ilie@intel.com","username":"Lactem"},"change_message_id":"eea59c7a8b1e45306763a4abbe2224b1c2f19806","unresolved":false,"context_lines":[{"line_number":195,"context_line":"                          creds_ref, sig_ref)"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def test_check_non_admin_user(self):"},{"line_number":198,"context_line":"        \"\"\"Checking if user is admin causes uncaught error."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"           When checking if a user is an admin,"},{"line_number":201,"context_line":"           keystone.exception.Unauthorized is raised but"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_75b0ae43","line":198,"in_reply_to":"ba3cc151_6b430a14","updated":"2015-07-08 14:54:35.000000000","message":"That\u0027s true, but for the comment here I\u0027m trying to follow the example of the previous comments. They all seem to state the old, incorrect behavior. (example: line 165)","commit_id":"5403e56a2188d1360e9569ca7cf818fabc2b34e6"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"e4829256244f23fef2cb4c2536bb0e5c3931e333","unresolved":false,"context_lines":[{"line_number":199,"context_line":""},{"line_number":200,"context_line":"           When checking if a user is an admin,"},{"line_number":201,"context_line":"           keystone.exception.Unauthorized is raised but"},{"line_number":202,"context_line":"           not caught if the user is not an admin."},{"line_number":203,"context_line":"        \"\"\""},{"line_number":204,"context_line":"        # make a non-admin user"},{"line_number":205,"context_line":"        user \u003d {\u0027is_admin\u0027: False, \u0027token_id\u0027: uuid.uuid4().hex}"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_ab7a7286","line":202,"updated":"2015-07-08 07:23:43.000000000","message":"These docstring need to re-format as well, saying, we neen\u0027t the extra space here, pls see the example in other place in this file.","commit_id":"5403e56a2188d1360e9569ca7cf818fabc2b34e6"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"e4829256244f23fef2cb4c2536bb0e5c3931e333","unresolved":false,"context_lines":[{"line_number":202,"context_line":"           not caught if the user is not an admin."},{"line_number":203,"context_line":"        \"\"\""},{"line_number":204,"context_line":"        # make a non-admin user"},{"line_number":205,"context_line":"        user \u003d {\u0027is_admin\u0027: False, \u0027token_id\u0027: uuid.uuid4().hex}"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        # see if keystone.exception.Unauthorized is raised"},{"line_number":208,"context_line":"        # when checking if the non-admin user is an admin"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_cb17b6ec","line":205,"updated":"2015-07-08 07:23:43.000000000","message":"change \"user\" to \"contex\", what we need to pass is context instead of a user, and \"token_id\" is not an attribute of an user.","commit_id":"5403e56a2188d1360e9569ca7cf818fabc2b34e6"},{"author":{"_account_id":17073,"name":"Theodore Ilie","email":"theodorex.ilie@intel.com","username":"Lactem"},"change_message_id":"ce78874db1c53eb41d312cc25fd7e1fb12bbd3e2","unresolved":false,"context_lines":[{"line_number":202,"context_line":"           not caught if the user is not an admin."},{"line_number":203,"context_line":"        \"\"\""},{"line_number":204,"context_line":"        # make a non-admin user"},{"line_number":205,"context_line":"        user \u003d {\u0027is_admin\u0027: False, \u0027token_id\u0027: uuid.uuid4().hex}"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        # see if keystone.exception.Unauthorized is raised"},{"line_number":208,"context_line":"        # when checking if the non-admin user is an admin"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_722684cf","line":205,"in_reply_to":"ba3cc151_cb17b6ec","updated":"2015-07-08 14:48:01.000000000","message":"token_id is necessary for assert_admin, which is called by _is_admin.","commit_id":"5403e56a2188d1360e9569ca7cf818fabc2b34e6"},{"author":{"_account_id":17073,"name":"Theodore Ilie","email":"theodorex.ilie@intel.com","username":"Lactem"},"change_message_id":"9d10754499b19901c2e839f477105111647d1032","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        # make a non-admin user"},{"line_number":205,"context_line":"        user \u003d {\u0027is_admin\u0027: False, \u0027token_id\u0027: uuid.uuid4().hex}"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        # see if keystone.exception.Unauthorized is raised"},{"line_number":208,"context_line":"        # when checking if the non-admin user is an admin"},{"line_number":209,"context_line":"        try:"},{"line_number":210,"context_line":"            self.controller._is_admin(user)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_aaf91350","line":207,"updated":"2015-07-08 03:40:53.000000000","message":"I will revert the try-except and change this comment to:\n\n# check if user is admin \\n # no exceptions should be raised\n\nPlease let me know if there are any objections before I submit this change for review tomorrow. (The \\n is not of course going to be replaced with a new line. I just can\u0027t separate lines in this editor.)","commit_id":"5403e56a2188d1360e9569ca7cf818fabc2b34e6"},{"author":{"_account_id":17073,"name":"Theodore Ilie","email":"theodorex.ilie@intel.com","username":"Lactem"},"change_message_id":"eea59c7a8b1e45306763a4abbe2224b1c2f19806","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        # make a non-admin user"},{"line_number":205,"context_line":"        user \u003d {\u0027is_admin\u0027: False, \u0027token_id\u0027: uuid.uuid4().hex}"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        # see if keystone.exception.Unauthorized is raised"},{"line_number":208,"context_line":"        # when checking if the non-admin user is an admin"},{"line_number":209,"context_line":"        try:"},{"line_number":210,"context_line":"            self.controller._is_admin(user)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_15d6024f","line":207,"in_reply_to":"ba3cc151_8bd44e20","updated":"2015-07-08 14:54:35.000000000","message":"Done","commit_id":"5403e56a2188d1360e9569ca7cf818fabc2b34e6"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"e4829256244f23fef2cb4c2536bb0e5c3931e333","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        # make a non-admin user"},{"line_number":205,"context_line":"        user \u003d {\u0027is_admin\u0027: False, \u0027token_id\u0027: uuid.uuid4().hex}"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        # see if keystone.exception.Unauthorized is raised"},{"line_number":208,"context_line":"        # when checking if the non-admin user is an admin"},{"line_number":209,"context_line":"        try:"},{"line_number":210,"context_line":"            self.controller._is_admin(user)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_8bd44e20","line":207,"in_reply_to":"ba3cc151_aaf91350","updated":"2015-07-08 07:23:43.000000000","message":"++\npls update your code here.","commit_id":"5403e56a2188d1360e9569ca7cf818fabc2b34e6"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"1a290e57feb4b68081abfd67d5c3939df83d781a","unresolved":false,"context_lines":[{"line_number":197,"context_line":"    def test_check_non_admin_user(self):"},{"line_number":198,"context_line":"        \"\"\"Checking if user is admin causes uncaught error."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"           When checking if a user is an admin,"},{"line_number":201,"context_line":"           keystone.exception.Unauthorized is raised but"},{"line_number":202,"context_line":"           not caught if the user is not an admin."},{"line_number":203,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":8,"id":"ba3cc151_be1e000a","line":200,"updated":"2015-07-08 23:14:10.000000000","message":"this is over indented. follow the existing convention.","commit_id":"94596897b92114480fd80f75c0d06525b0d26a71"}]}
