)]}'
{"neutron/tests/unit/agent/linux/test_utils.py":[{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"0d55380fbff4ca3d95da87b121c173fedd2b50cd","unresolved":false,"context_lines":[{"line_number":200,"context_line":""},{"line_number":201,"context_line":"                    ntf.assert_has_calls(expected)"},{"line_number":202,"context_line":"                    chmod.assert_called_once_with(\u0027/baz\u0027, 0o400)"},{"line_number":203,"context_line":"                    rename.assert_called_once_with(\u0027/baz\u0027, \u0027/foo\u0027)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"class TestFindChildPids(base.BaseTestCase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_be72f847","line":203,"updated":"2015-08-27 19:57:40.000000000","message":"It looks like this is *very* close to a copy of the test above.  How about refactoring it so that most of the code is shared?  You could have a utility function that takes a couple of args: permissions argument to pass, and expected permissions in the chmod call.","commit_id":"b3c9b4e52788b7f10c09ce379e4025446ffa1aeb"},{"author":{"_account_id":12403,"name":"Al Miller","email":"al.miller@ajmiller.net","username":"ajmiller"},"change_message_id":"4485f38e93bba385aa0d23a8e81482c1f4c89a98","unresolved":false,"context_lines":[{"line_number":200,"context_line":""},{"line_number":201,"context_line":"                    ntf.assert_has_calls(expected)"},{"line_number":202,"context_line":"                    chmod.assert_called_once_with(\u0027/baz\u0027, 0o400)"},{"line_number":203,"context_line":"                    rename.assert_called_once_with(\u0027/baz\u0027, \u0027/foo\u0027)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"class TestFindChildPids(base.BaseTestCase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_7e08e091","line":203,"in_reply_to":"da20952f_be72f847","updated":"2015-08-27 19:59:56.000000000","message":"OK, good suggestion.  I\u0027ll do that.","commit_id":"b3c9b4e52788b7f10c09ce379e4025446ffa1aeb"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"bd9ac44de2ff9017acf5077bd2211256a919eff9","unresolved":false,"context_lines":[{"line_number":201,"context_line":"        self._test_replace_file_helper(0o600)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def test_replace_file_with_0o755_perms(self):"},{"line_number":204,"context_line":"        self._test_replace_file_helper(0o755)"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"class TestFindChildPids(base.BaseTestCase):"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_382fd2f7","line":204,"updated":"2015-08-28 01:35:41.000000000","message":"I guess that we don\u0027t need to test various permissions since chmod is just mock. It doesn\u0027t rise test coverage.","commit_id":"2435a545d461c03aeb62ba0bbff77de8a2534c0e"},{"author":{"_account_id":12403,"name":"Al Miller","email":"al.miller@ajmiller.net","username":"ajmiller"},"change_message_id":"610c69c109a7d4d903d1af9512d48e67af821fed","unresolved":false,"context_lines":[{"line_number":201,"context_line":"        self._test_replace_file_helper(0o600)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def test_replace_file_with_0o755_perms(self):"},{"line_number":204,"context_line":"        self._test_replace_file_helper(0o755)"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"class TestFindChildPids(base.BaseTestCase):"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_2a45146f","line":204,"in_reply_to":"da20952f_382fd2f7","updated":"2015-08-28 15:08:38.000000000","message":"OK, will pare it down.","commit_id":"2435a545d461c03aeb62ba0bbff77de8a2534c0e"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"eed3c4476c4fb3ef3de0c506fd69f0f3e940f2d9","unresolved":false,"context_lines":[{"line_number":201,"context_line":"        self._test_replace_file_helper(0o600)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def test_replace_file_with_0o755_perms(self):"},{"line_number":204,"context_line":"        self._test_replace_file_helper(0o755)"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"class TestFindChildPids(base.BaseTestCase):"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_4a396840","line":204,"in_reply_to":"da20952f_382fd2f7","updated":"2015-08-28 15:04:19.000000000","message":"yeah, I agree.  We only need 2 test cases: not specifying it and checking that it defaults to something sane, and if we specify it that it uses what we said.","commit_id":"2435a545d461c03aeb62ba0bbff77de8a2534c0e"}]}
