)]}'
{"tempest/api/network/test_ports.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"c2e4e44a2111c2ad9afd972bdbba3537da037875","unresolved":false,"context_lines":[{"line_number":257,"context_line":"        self.assertEqual(2, len(port[\u0027fixed_ips\u0027]))"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    def _update_port_with_security_groups(self, security_groups_names):"},{"line_number":260,"context_line":"        if not test.is_extension_enabled(\u0027security-group\u0027, \u0027network\u0027):"},{"line_number":261,"context_line":"            msg \u003d \"security-group extension not enabled.\""},{"line_number":262,"context_line":"            raise self.skipException(msg)"},{"line_number":263,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_3e7cacea","line":260,"updated":"2016-09-21 09:36:16.000000000","message":"You can\u0027t skip in the middle of the test. It\u0027s good practice to limit the number of \"exit points\" of your test. You need to raise that SkipException at the very begining of each test.","commit_id":"1da498eb0299a9c8c861939b4db460a2a7547f39"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"5a269051c57f34378549109d8be39d80e032a0ba","unresolved":false,"context_lines":[{"line_number":257,"context_line":"        self.assertEqual(2, len(port[\u0027fixed_ips\u0027]))"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    def _update_port_with_security_groups(self, security_groups_names):"},{"line_number":260,"context_line":"        if not test.is_extension_enabled(\u0027security-group\u0027, \u0027network\u0027):"},{"line_number":261,"context_line":"            msg \u003d \"security-group extension not enabled.\""},{"line_number":262,"context_line":"            raise self.skipException(msg)"},{"line_number":263,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_4a1a827e","line":260,"in_reply_to":"5a8bc5a2_400d353d","updated":"2016-09-26 01:14:04.000000000","message":"Thanks.\nIs any problem using self.skipException?","commit_id":"1da498eb0299a9c8c861939b4db460a2a7547f39"},{"author":{"_account_id":18600,"name":"Ferenc Horváth","email":"hferenc@inf.u-szeged.hu","username":"hferenc"},"change_message_id":"6e641af4477727df1ebbc379b3c477c767c699dc","unresolved":false,"context_lines":[{"line_number":257,"context_line":"        self.assertEqual(2, len(port[\u0027fixed_ips\u0027]))"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    def _update_port_with_security_groups(self, security_groups_names):"},{"line_number":260,"context_line":"        if not test.is_extension_enabled(\u0027security-group\u0027, \u0027network\u0027):"},{"line_number":261,"context_line":"            msg \u003d \"security-group extension not enabled.\""},{"line_number":262,"context_line":"            raise self.skipException(msg)"},{"line_number":263,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_4f9d2bbb","line":260,"in_reply_to":"5a8bc5a2_4a1a827e","updated":"2016-09-26 07:13:14.000000000","message":"I don\u0027t think so, skipUnless just looks cleaner.","commit_id":"1da498eb0299a9c8c861939b4db460a2a7547f39"},{"author":{"_account_id":18600,"name":"Ferenc Horváth","email":"hferenc@inf.u-szeged.hu","username":"hferenc"},"change_message_id":"79f48dd7134e5d74c1a204ee475d903bc77a16f9","unresolved":false,"context_lines":[{"line_number":257,"context_line":"        self.assertEqual(2, len(port[\u0027fixed_ips\u0027]))"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    def _update_port_with_security_groups(self, security_groups_names):"},{"line_number":260,"context_line":"        if not test.is_extension_enabled(\u0027security-group\u0027, \u0027network\u0027):"},{"line_number":261,"context_line":"            msg \u003d \"security-group extension not enabled.\""},{"line_number":262,"context_line":"            raise self.skipException(msg)"},{"line_number":263,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_400d353d","line":260,"in_reply_to":"7a8ec9b2_195e2ae9","updated":"2016-09-23 13:47:14.000000000","message":"You could use testtools.skipUnless, I guess.","commit_id":"1da498eb0299a9c8c861939b4db460a2a7547f39"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"ae4503d6526dbc349867d3f6cc7355f2c589c655","unresolved":false,"context_lines":[{"line_number":257,"context_line":"        self.assertEqual(2, len(port[\u0027fixed_ips\u0027]))"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    def _update_port_with_security_groups(self, security_groups_names):"},{"line_number":260,"context_line":"        if not test.is_extension_enabled(\u0027security-group\u0027, \u0027network\u0027):"},{"line_number":261,"context_line":"            msg \u003d \"security-group extension not enabled.\""},{"line_number":262,"context_line":"            raise self.skipException(msg)"},{"line_number":263,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_195e2ae9","line":260,"in_reply_to":"7a8ec9b2_3e7cacea","updated":"2016-09-21 09:45:57.000000000","message":"Thanks.\nBecause _update_port_with_security_groups is only called at the begining of two testcases, so I put skip state at the begining of it.\n    def test_update_port_with_security_group_and_extra_attributes(self):\n        self._update_port_with_security_groups(\n            [data_utils.rand_name(\u0027secgroup\u0027)])\n\n    def test_update_port_with_two_security_groups_and_extra_attributes(self):\n        self._update_port_with_security_groups(\n            [data_utils.rand_name(\u0027secgroup\u0027),\n             data_utils.rand_name(\u0027secgroup\u0027)])","commit_id":"1da498eb0299a9c8c861939b4db460a2a7547f39"}]}
