)]}'
{"nova/tests/unit/api/openstack/compute/contrib/test_security_groups.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0316399dee059e8eda574549c59d81145fc23603","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    sg.setdefault(\u0027tenant_id\u0027, \u0027123\u0027)"},{"line_number":57,"context_line":"    sg.setdefault(\u0027name\u0027, \u0027test\u0027)"},{"line_number":58,"context_line":"    sg.setdefault(\u0027description\u0027, \u0027test-description\u0027)"},{"line_number":59,"context_line":"    return sg"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"def security_group_db(security_group, id\u003dNone):"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_f5492cb8","line":59,"updated":"2015-06-17 10:34:19.000000000","message":"Can we remove \u0027tenant_id\u0027 from security_group_template() itself. \n\nI think this template is being used only for create request and test_neutron_security_groups.py also do not need \u0027tenant_id\u0027 in create request.","commit_id":"748453d816b5aad8462e37905d91a931256726a6"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d3379e10eb687d3c1dd7ca53bb36c4ebb62bde99","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    sg.setdefault(\u0027tenant_id\u0027, \u0027123\u0027)"},{"line_number":57,"context_line":"    sg.setdefault(\u0027name\u0027, \u0027test\u0027)"},{"line_number":58,"context_line":"    sg.setdefault(\u0027description\u0027, \u0027test-description\u0027)"},{"line_number":59,"context_line":"    return sg"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"def security_group_db(security_group, id\u003dNone):"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_d302d6b3","line":59,"in_reply_to":"fa32b979_6a6d3630","updated":"2015-06-18 02:47:16.000000000","message":"I see, even project id will be fetched by update call etc.","commit_id":"748453d816b5aad8462e37905d91a931256726a6"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"8efb0e1744f18f5634788eb7d982b7c223a2e7a7","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    sg.setdefault(\u0027tenant_id\u0027, \u0027123\u0027)"},{"line_number":57,"context_line":"    sg.setdefault(\u0027name\u0027, \u0027test\u0027)"},{"line_number":58,"context_line":"    sg.setdefault(\u0027description\u0027, \u0027test-description\u0027)"},{"line_number":59,"context_line":"    return sg"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"def security_group_db(security_group, id\u003dNone):"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_6a6d3630","line":59,"in_reply_to":"fa32b979_f5492cb8","updated":"2015-06-17 11:08:12.000000000","message":"No, it seems difficult because this method is used for generating fake DB record also and there is a lot of callers.\n\n /opt/stack/nova/nova/tests$ grep security_group_template * -R | wc -l\n 25","commit_id":"748453d816b5aad8462e37905d91a931256726a6"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0316399dee059e8eda574549c59d81145fc23603","unresolved":false,"context_lines":[{"line_number":284,"context_line":"        self._assert_no_security_groups_reserved(req.environ[\u0027nova.context\u0027])"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    def test_create_security_group_non_string_name(self):"},{"line_number":287,"context_line":"        sg \u003d security_group_template(name\u003d12)"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake/os-security-groups\u0027)"},{"line_number":290,"context_line":"        self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_952ea041","line":287,"updated":"2015-06-17 10:34:19.000000000","message":"This one is left","commit_id":"748453d816b5aad8462e37905d91a931256726a6"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"1435b77ca9f27fb8b472d6c3b290d536dd299e40","unresolved":false,"context_lines":[{"line_number":284,"context_line":"        self._assert_no_security_groups_reserved(req.environ[\u0027nova.context\u0027])"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    def test_create_security_group_non_string_name(self):"},{"line_number":287,"context_line":"        sg \u003d security_group_template(name\u003d12)"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake/os-security-groups\u0027)"},{"line_number":290,"context_line":"        self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_a919c823","line":287,"in_reply_to":"fa32b979_952ea041","updated":"2015-06-18 14:54:44.000000000","message":"Ah, nice point!","commit_id":"748453d816b5aad8462e37905d91a931256726a6"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"14c5eed3c1b9c8641f27d5e98739aa4cf8a129b9","unresolved":false,"context_lines":[{"line_number":293,"context_line":"        self._assert_no_security_groups_reserved(req.environ[\u0027nova.context\u0027])"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"    def test_create_security_group_non_string_description(self):"},{"line_number":296,"context_line":"        sg \u003d security_group_template(description\u003d12)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake/os-security-groups\u0027)"},{"line_number":299,"context_line":"        self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a41bdd9_bc5746c9","line":296,"updated":"2015-07-18 13:13:32.000000000","message":"you forget change this","commit_id":"1a3571bd56fa3e868b15758844562181643f08d4"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"4a595f07fbf55394a9d53411b77952e78e52d367","unresolved":false,"context_lines":[{"line_number":293,"context_line":"        self._assert_no_security_groups_reserved(req.environ[\u0027nova.context\u0027])"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"    def test_create_security_group_non_string_description(self):"},{"line_number":296,"context_line":"        sg \u003d security_group_template(description\u003d12)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake/os-security-groups\u0027)"},{"line_number":299,"context_line":"        self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_d756fb05","line":296,"in_reply_to":"9a41bdd9_bc5746c9","updated":"2015-07-19 18:19:26.000000000","message":"Thanks for reviewing, Alex\n\nThat is a nice catch, will fix them soon.","commit_id":"1a3571bd56fa3e868b15758844562181643f08d4"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"14c5eed3c1b9c8641f27d5e98739aa4cf8a129b9","unresolved":false,"context_lines":[{"line_number":305,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake/os-security-groups\u0027)"},{"line_number":306,"context_line":"        for num in range(1, CONF.quota_security_groups):"},{"line_number":307,"context_line":"            name \u003d \u0027test%s\u0027 % num"},{"line_number":308,"context_line":"            sg \u003d security_group_template(name\u003dname)"},{"line_number":309,"context_line":"            res_dict \u003d self.controller.create(req, {\u0027security_group\u0027: sg})"},{"line_number":310,"context_line":"            self.assertEqual(res_dict[\u0027security_group\u0027][\u0027name\u0027], name)"},{"line_number":311,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9a41bdd9_3c6c969b","line":308,"updated":"2015-07-18 13:13:32.000000000","message":"ditto","commit_id":"1a3571bd56fa3e868b15758844562181643f08d4"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"14c5eed3c1b9c8641f27d5e98739aa4cf8a129b9","unresolved":false,"context_lines":[{"line_number":309,"context_line":"            res_dict \u003d self.controller.create(req, {\u0027security_group\u0027: sg})"},{"line_number":310,"context_line":"            self.assertEqual(res_dict[\u0027security_group\u0027][\u0027name\u0027], name)"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"        sg \u003d security_group_template()"},{"line_number":313,"context_line":"        self.assertRaises(webob.exc.HTTPForbidden, self.controller.create,"},{"line_number":314,"context_line":"                          req, {\u0027security_group\u0027: sg})"},{"line_number":315,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9a41bdd9_fc04eec6","line":312,"updated":"2015-07-18 13:13:32.000000000","message":"ditto","commit_id":"1a3571bd56fa3e868b15758844562181643f08d4"}]}
