)]}'
{"nova/tests/unit/api/openstack/compute/contrib/test_flavor_access.py":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"8528494f5bb425a2a10ef2d1050f64689c3ad5c8","unresolved":false,"context_lines":[{"line_number":364,"context_line":"    FlavorAccessController \u003d flavor_access_v2.FlavorAccessController"},{"line_number":365,"context_line":"    FlavorActionController \u003d flavor_access_v2.FlavorActionController"},{"line_number":366,"context_line":"    _prefix \u003d \"/v2/fake\""},{"line_number":367,"context_line":"    validation_ex \u003d exc.HTTPBadRequest"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"    def setUp(self):"},{"line_number":370,"context_line":"        super(FlavorAccessTestV20, self).setUp()"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_26aecc2e","line":367,"updated":"2015-03-03 16:23:16.000000000","message":"though a little big out of scope\n\nI think add a case for get policy is not harmful","commit_id":"24acdef6dd45a69dee4aee94102d05fa1d2e5135"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"b6759d8171e3ba6dd8d1cf4bcd8c30959cfa5b5a","unresolved":false,"context_lines":[{"line_number":364,"context_line":"    FlavorAccessController \u003d flavor_access_v2.FlavorAccessController"},{"line_number":365,"context_line":"    FlavorActionController \u003d flavor_access_v2.FlavorActionController"},{"line_number":366,"context_line":"    _prefix \u003d \"/v2/fake\""},{"line_number":367,"context_line":"    validation_ex \u003d exc.HTTPBadRequest"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"    def setUp(self):"},{"line_number":370,"context_line":"        super(FlavorAccessTestV20, self).setUp()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_a371f545","line":367,"in_reply_to":"9a80dd14_66771d3b","updated":"2015-03-06 13:22:58.000000000","message":"can you add a test case for test_get_tenant_access_xxx?","commit_id":"24acdef6dd45a69dee4aee94102d05fa1d2e5135"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"a9dfc88a11564478fa7b532d4fa29ab24e014747","unresolved":false,"context_lines":[{"line_number":364,"context_line":"    FlavorAccessController \u003d flavor_access_v2.FlavorAccessController"},{"line_number":365,"context_line":"    FlavorActionController \u003d flavor_access_v2.FlavorActionController"},{"line_number":366,"context_line":"    _prefix \u003d \"/v2/fake\""},{"line_number":367,"context_line":"    validation_ex \u003d exc.HTTPBadRequest"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"    def setUp(self):"},{"line_number":370,"context_line":"        super(FlavorAccessTestV20, self).setUp()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_75014f69","line":367,"in_reply_to":"9a80dd14_a371f545","updated":"2015-03-07 10:25:22.000000000","message":"ok, i see now","commit_id":"24acdef6dd45a69dee4aee94102d05fa1d2e5135"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"09ad5d79d599619328a5605efbcbdaa7312d4ce4","unresolved":false,"context_lines":[{"line_number":364,"context_line":"    FlavorAccessController \u003d flavor_access_v2.FlavorAccessController"},{"line_number":365,"context_line":"    FlavorActionController \u003d flavor_access_v2.FlavorActionController"},{"line_number":366,"context_line":"    _prefix \u003d \"/v2/fake\""},{"line_number":367,"context_line":"    validation_ex \u003d exc.HTTPBadRequest"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"    def setUp(self):"},{"line_number":370,"context_line":"        super(FlavorAccessTestV20, self).setUp()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_66771d3b","line":367,"in_reply_to":"ba7be1f8_26aecc2e","updated":"2015-03-06 05:51:52.000000000","message":"Sorry, I didn\u0027t get what your mean, could you explain again?","commit_id":"24acdef6dd45a69dee4aee94102d05fa1d2e5135"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"8528494f5bb425a2a10ef2d1050f64689c3ad5c8","unresolved":false,"context_lines":[{"line_number":377,"context_line":"        body \u003d {\u0027removeTenantAccess\u0027: {\u0027tenant\u0027: \u0027proj2\u0027}}"},{"line_number":378,"context_line":"        remove_access \u003d self._get_remove_access()"},{"line_number":379,"context_line":"        self.assertRaises(exception.PolicyNotAuthorized,"},{"line_number":380,"context_line":"                          remove_access, req, \u00272\u0027, body\u003dbody)"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"    def test_add_tenant_access_with_no_admin_user(self):"},{"line_number":383,"context_line":"        req \u003d fakes.HTTPRequest.blank(self._prefix + \u0027/flavors/2/action\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_469020ed","line":380,"updated":"2015-03-03 16:23:16.000000000","message":"this code used to be shared by v2/v2.1 \ndoes this change mean we don\u0027t test v2.1 now?","commit_id":"24acdef6dd45a69dee4aee94102d05fa1d2e5135"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"a9dfc88a11564478fa7b532d4fa29ab24e014747","unresolved":false,"context_lines":[{"line_number":377,"context_line":"        body \u003d {\u0027removeTenantAccess\u0027: {\u0027tenant\u0027: \u0027proj2\u0027}}"},{"line_number":378,"context_line":"        remove_access \u003d self._get_remove_access()"},{"line_number":379,"context_line":"        self.assertRaises(exception.PolicyNotAuthorized,"},{"line_number":380,"context_line":"                          remove_access, req, \u00272\u0027, body\u003dbody)"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"    def test_add_tenant_access_with_no_admin_user(self):"},{"line_number":383,"context_line":"        req \u003d fakes.HTTPRequest.blank(self._prefix + \u0027/flavors/2/action\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_350b578f","line":380,"in_reply_to":"9a80dd14_03af217e","updated":"2015-03-07 10:25:22.000000000","message":"Sorry I didn\u0027t explain clearly, actually I forget add a set of test for v2.1, will update soon","commit_id":"24acdef6dd45a69dee4aee94102d05fa1d2e5135"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"b6759d8171e3ba6dd8d1cf4bcd8c30959cfa5b5a","unresolved":false,"context_lines":[{"line_number":377,"context_line":"        body \u003d {\u0027removeTenantAccess\u0027: {\u0027tenant\u0027: \u0027proj2\u0027}}"},{"line_number":378,"context_line":"        remove_access \u003d self._get_remove_access()"},{"line_number":379,"context_line":"        self.assertRaises(exception.PolicyNotAuthorized,"},{"line_number":380,"context_line":"                          remove_access, req, \u00272\u0027, body\u003dbody)"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"    def test_add_tenant_access_with_no_admin_user(self):"},{"line_number":383,"context_line":"        req \u003d fakes.HTTPRequest.blank(self._prefix + \u0027/flavors/2/action\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_03af217e","line":380,"in_reply_to":"9a80dd14_26a445a5","updated":"2015-03-06 13:22:58.000000000","message":"why? \n\nyou mean v2.1 don\u0027t have policy at all? \nyou move all test cases to v2, so v21 won\u0027t need to be tested?\nbut we still have policy checks on v21 code","commit_id":"24acdef6dd45a69dee4aee94102d05fa1d2e5135"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"09ad5d79d599619328a5605efbcbdaa7312d4ce4","unresolved":false,"context_lines":[{"line_number":377,"context_line":"        body \u003d {\u0027removeTenantAccess\u0027: {\u0027tenant\u0027: \u0027proj2\u0027}}"},{"line_number":378,"context_line":"        remove_access \u003d self._get_remove_access()"},{"line_number":379,"context_line":"        self.assertRaises(exception.PolicyNotAuthorized,"},{"line_number":380,"context_line":"                          remove_access, req, \u00272\u0027, body\u003dbody)"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"    def test_add_tenant_access_with_no_admin_user(self):"},{"line_number":383,"context_line":"        req \u003d fakes.HTTPRequest.blank(self._prefix + \u0027/flavors/2/action\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_26a445a5","line":380,"in_reply_to":"ba7be1f8_469020ed","updated":"2015-03-06 05:51:52.000000000","message":"yes, the v2.1 without any db layer hard-code permission checks, so it totally can be executed by normal user.","commit_id":"24acdef6dd45a69dee4aee94102d05fa1d2e5135"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"3de9c6e23624681d74569fcf7bd7f2f97091bc56","unresolved":false,"context_lines":[{"line_number":373,"context_line":"        self.assertRaises(exception.AdminRequired,"},{"line_number":374,"context_line":"                          self.flavor_access_controller.index,"},{"line_number":375,"context_line":"                          req, \u0027fake\u0027)"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"class FlavorAccessPolicyEnforcementV21(test.NoDBTestCase):"},{"line_number":379,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_dab2e892","line":376,"updated":"2015-03-10 05:48:39.000000000","message":"I think the 2 test case can be move out from FlavorAccessTestV21 since you tested them in FlavorAccessPolicyEnforcementV21, right ?\n\ntest_add_tenant_access_with_no_admin_user\n\ntest_remove_tenant_access_with_no_admin_user","commit_id":"50dc2957b24c3afa3dd10e9d8650e752b05d1434"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"1e64a2216c3309137bd3e649d1dd066e53f2f120","unresolved":false,"context_lines":[{"line_number":373,"context_line":"        self.assertRaises(exception.AdminRequired,"},{"line_number":374,"context_line":"                          self.flavor_access_controller.index,"},{"line_number":375,"context_line":"                          req, \u0027fake\u0027)"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"class FlavorAccessPolicyEnforcementV21(test.NoDBTestCase):"},{"line_number":379,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_6333e6f6","line":376,"in_reply_to":"9a80dd14_dab2e892","updated":"2015-03-11 02:25:21.000000000","message":"you\u0027v done them. sorry , will remove -1.","commit_id":"50dc2957b24c3afa3dd10e9d8650e752b05d1434"}]}
