)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"d91770c6158858ff2288b9cdf003f393e22d11b3","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add driver-list"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"List the supported drivers."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I24adbde087396fb5c01226ef7a2b602ff8732227"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAATn%2F%2Feww%3D","line":9,"updated":"2013-11-05 02:32:57.000000000","message":"Per https://wiki.openstack.org/wiki/GitCommitMessages#Information_in_commit_messages could you explain a little about why this change is being done?","commit_id":"38b6e2f74621a95d4dc9197c7640d672c2b35db4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"7df4f345c83cefbddde83873f6a28ec74852e14d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add driver-list"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"List the supported drivers."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I24adbde087396fb5c01226ef7a2b602ff8732227"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAATn%2F%2FTnY%3D","line":9,"in_reply_to":"AAAATn%2F%2Feww%3D","updated":"2013-11-11 10:02:54.000000000","message":"Will do, thanks!","commit_id":"38b6e2f74621a95d4dc9197c7640d672c2b35db4"}],"ironicclient/tests/v1/test_driver.py":[{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"44866c4877f551b29978f7ec5ab40a53113e44d1","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        ),"},{"line_number":34,"context_line":"    },"},{"line_number":35,"context_line":"}"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"class DriverManagerTest(testtools.TestCase):"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FyN4%3D","line":36,"updated":"2013-10-29 05:34:14.000000000","message":"Maybe we can use less lines, should be better I think:\nfixtures \u003d {\n    \u0027/v1/drivers\u0027: {\n        \u0027GET\u0027: ({}, {\u0027drivers\u0027: [DRIVER]},),\n        },\n}","commit_id":"bdc05577e2e6aa1071caf3d24e22dbbfdccf3adc"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"44866c4877f551b29978f7ec5ab40a53113e44d1","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        drivers \u003d self.mgr.list()"},{"line_number":47,"context_line":"        expect \u003d ["},{"line_number":48,"context_line":"            (\u0027GET\u0027, \u0027/v1/drivers\u0027, {}, None),"},{"line_number":49,"context_line":"        ]"},{"line_number":50,"context_line":"        self.assertEqual(self.api.calls, expect)"},{"line_number":51,"context_line":"        self.assertEqual(len(drivers), 1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FyNs%3D","line":49,"updated":"2013-10-29 05:34:14.000000000","message":"I think this fits on one line, no need to spread it out.","commit_id":"bdc05577e2e6aa1071caf3d24e22dbbfdccf3adc"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"c3662cf1e11e09b19320ae0f7a128ba94cf4f42b","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        drivers \u003d self.mgr.list()"},{"line_number":47,"context_line":"        expect \u003d ["},{"line_number":48,"context_line":"            (\u0027GET\u0027, \u0027/v1/drivers\u0027, {}, None),"},{"line_number":49,"context_line":"        ]"},{"line_number":50,"context_line":"        self.assertEqual(self.api.calls, expect)"},{"line_number":51,"context_line":"        self.assertEqual(len(drivers), 1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FtQk%3D","line":49,"in_reply_to":"AAAATn%2F%2FvY4%3D","updated":"2013-10-30 06:45:09.000000000","message":"Lucas, that is ok for me.","commit_id":"bdc05577e2e6aa1071caf3d24e22dbbfdccf3adc"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"ac7d9c4c4434fb014bfa3496f28594fb71b55cfc","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        drivers \u003d self.mgr.list()"},{"line_number":47,"context_line":"        expect \u003d ["},{"line_number":48,"context_line":"            (\u0027GET\u0027, \u0027/v1/drivers\u0027, {}, None),"},{"line_number":49,"context_line":"        ]"},{"line_number":50,"context_line":"        self.assertEqual(self.api.calls, expect)"},{"line_number":51,"context_line":"        self.assertEqual(len(drivers), 1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FvY4%3D","line":49,"in_reply_to":"AAAATn%2F%2FwVI%3D","updated":"2013-10-29 17:00:41.000000000","message":"I can see benefits on both sides, but personally I also prefer the way it\u0027s right now, it looks better and as pointed out by Max it\u0027s easier to add more items if needed","commit_id":"bdc05577e2e6aa1071caf3d24e22dbbfdccf3adc"},{"author":{"_account_id":8968,"name":"Max Lobur","email":"max_lobur@outlook.com","username":"max_lobur"},"change_message_id":"a0da0c782193037a483b57e6dc3a105831c5fbd9","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        drivers \u003d self.mgr.list()"},{"line_number":47,"context_line":"        expect \u003d ["},{"line_number":48,"context_line":"            (\u0027GET\u0027, \u0027/v1/drivers\u0027, {}, None),"},{"line_number":49,"context_line":"        ]"},{"line_number":50,"context_line":"        self.assertEqual(self.api.calls, expect)"},{"line_number":51,"context_line":"        self.assertEqual(len(drivers), 1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FwVI%3D","line":49,"in_reply_to":"AAAATn%2F%2FyNs%3D","updated":"2013-10-29 14:32:18.000000000","message":"Always can argue that current style is easier to maintain, e.g. if we need to add one more call to expectations we will just duplicate the line and modify it according to the needs :P","commit_id":"bdc05577e2e6aa1071caf3d24e22dbbfdccf3adc"},{"author":{"_account_id":8968,"name":"Max Lobur","email":"max_lobur@outlook.com","username":"max_lobur"},"change_message_id":"4a8b78c62ed5fa2ead3afdefddc49fe7e14e0655","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        expect \u003d ["},{"line_number":48,"context_line":"            (\u0027GET\u0027, \u0027/v1/drivers\u0027, {}, None),"},{"line_number":49,"context_line":"        ]"},{"line_number":50,"context_line":"        self.assertEqual(self.api.calls, expect)"},{"line_number":51,"context_line":"        self.assertEqual(len(drivers), 1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2Fsaw%3D","line":50,"updated":"2013-10-30 10:50:17.000000000","message":"I recently saw a few comments from lifeless regarding the assertEqual - the first param is expected, the second is observed. This is not critical but if you have time please apply. I think we should just get used to it because the fail message is more reasonable in this case.","commit_id":"bdc05577e2e6aa1071caf3d24e22dbbfdccf3adc"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"e04df7cdfe354ab093af5866e4b5248792b9efef","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        expect \u003d ["},{"line_number":48,"context_line":"            (\u0027GET\u0027, \u0027/v1/drivers\u0027, {}, None),"},{"line_number":49,"context_line":"        ]"},{"line_number":50,"context_line":"        self.assertEqual(self.api.calls, expect)"},{"line_number":51,"context_line":"        self.assertEqual(len(drivers), 1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FsWA%3D","line":50,"in_reply_to":"AAAATn%2F%2Fsaw%3D","updated":"2013-10-30 11:09:08.000000000","message":"That\u0027s a good point, I will fix that. \n\nI think that _all_ my assertEqual\u0027s are inverted, I always use the second parameter as expected will pay more attention for now on :)","commit_id":"bdc05577e2e6aa1071caf3d24e22dbbfdccf3adc"},{"author":{"_account_id":8968,"name":"Max Lobur","email":"max_lobur@outlook.com","username":"max_lobur"},"change_message_id":"4a8b78c62ed5fa2ead3afdefddc49fe7e14e0655","unresolved":false,"context_lines":[{"line_number":48,"context_line":"            (\u0027GET\u0027, \u0027/v1/drivers\u0027, {}, None),"},{"line_number":49,"context_line":"        ]"},{"line_number":50,"context_line":"        self.assertEqual(self.api.calls, expect)"},{"line_number":51,"context_line":"        self.assertEqual(len(drivers), 1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2Fsas%3D","line":51,"updated":"2013-10-30 10:50:17.000000000","message":"ditto","commit_id":"bdc05577e2e6aa1071caf3d24e22dbbfdccf3adc"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"d91770c6158858ff2288b9cdf003f393e22d11b3","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"DRIVER \u003d {\u0027name\u0027: \u0027fake\u0027}"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"fixtures \u003d {"},{"line_number":28,"context_line":"    \u0027/v1/drivers\u0027:"},{"line_number":29,"context_line":"    {"},{"line_number":30,"context_line":"        \u0027GET\u0027: ("}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2Few4%3D","line":27,"updated":"2013-11-05 02:32:57.000000000","message":"I realise this is a bit of an idiom in ironic, but \u0027fixtures\u0027 is the name of a library used by OpenStack, so it\u0027s liable to make using that hard.","commit_id":"38b6e2f74621a95d4dc9197c7640d672c2b35db4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"7df4f345c83cefbddde83873f6a28ec74852e14d","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"DRIVER \u003d {\u0027name\u0027: \u0027fake\u0027}"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"fixtures \u003d {"},{"line_number":28,"context_line":"    \u0027/v1/drivers\u0027:"},{"line_number":29,"context_line":"    {"},{"line_number":30,"context_line":"        \u0027GET\u0027: ("}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2FTrU%3D","line":27,"in_reply_to":"AAAATn%2F%2Few4%3D","updated":"2013-11-11 10:02:54.000000000","message":"Yea, it came from ceilometer which our client is based on. Indeed this name should be changed, I will fix it! Thanks","commit_id":"38b6e2f74621a95d4dc9197c7640d672c2b35db4"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"d91770c6158858ff2288b9cdf003f393e22d11b3","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"fixtures \u003d {"},{"line_number":28,"context_line":"    \u0027/v1/drivers\u0027:"},{"line_number":29,"context_line":"    {"},{"line_number":30,"context_line":"        \u0027GET\u0027: ("},{"line_number":31,"context_line":"            {},"},{"line_number":32,"context_line":"            {\u0027drivers\u0027: [DRIVER]},"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2FexI%3D","line":29,"updated":"2013-11-05 02:32:57.000000000","message":"Could you please format this with the opening bracket on the same line as the key, and the closing bracket on the same line as the keys of the nested dict?","commit_id":"38b6e2f74621a95d4dc9197c7640d672c2b35db4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"7df4f345c83cefbddde83873f6a28ec74852e14d","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"fixtures \u003d {"},{"line_number":28,"context_line":"    \u0027/v1/drivers\u0027:"},{"line_number":29,"context_line":"    {"},{"line_number":30,"context_line":"        \u0027GET\u0027: ("},{"line_number":31,"context_line":"            {},"},{"line_number":32,"context_line":"            {\u0027drivers\u0027: [DRIVER]},"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2FTnk%3D","line":29,"in_reply_to":"AAAATn%2F%2FexI%3D","updated":"2013-11-11 10:02:54.000000000","message":"I think it\u0027s quite readable as is and once we start adding more tests it will be easier to maintain.\n\nI won\u0027t change it for the next patch set, but if you think we can have more benefits with ur approach please point them out in another comment.\n\nThanks","commit_id":"38b6e2f74621a95d4dc9197c7640d672c2b35db4"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"d91770c6158858ff2288b9cdf003f393e22d11b3","unresolved":false,"context_lines":[{"line_number":48,"context_line":"            (\u0027GET\u0027, \u0027/v1/drivers\u0027, {}, None),"},{"line_number":49,"context_line":"        ]"},{"line_number":50,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":51,"context_line":"        self.assertEqual(1, len(drivers))"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2Few0%3D","line":51,"updated":"2013-11-05 02:32:57.000000000","message":"Please use\n\n self.assertThat(drivers, HasLength(1))\n\n- it will give much better diagnostics on failure.","commit_id":"38b6e2f74621a95d4dc9197c7640d672c2b35db4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"7df4f345c83cefbddde83873f6a28ec74852e14d","unresolved":false,"context_lines":[{"line_number":48,"context_line":"            (\u0027GET\u0027, \u0027/v1/drivers\u0027, {}, None),"},{"line_number":49,"context_line":"        ]"},{"line_number":50,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":51,"context_line":"        self.assertEqual(1, len(drivers))"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2FTrg%3D","line":51,"in_reply_to":"AAAATn%2F%2Few0%3D","updated":"2013-11-11 10:02:54.000000000","message":"Thanks, it\u0027s nice to know :)","commit_id":"38b6e2f74621a95d4dc9197c7640d672c2b35db4"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"1a379b7a9c0f1896fe0d225bf1959f8ab2f884bf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python"},{"line_number":2,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Copyright 2013 Red Hat, Inc."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2FRHA%3D","line":1,"updated":"2013-11-12 01:19:28.000000000","message":"The #! line isn\u0027t needed.","commit_id":"3ee4cd99063aa8d7215cae6c3f255dfc4b194234"}],"ironicclient/v1/driver.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"1a379b7a9c0f1896fe0d225bf1959f8ab2f884bf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python"},{"line_number":2,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Copyright 2013 Red Hat, Inc."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2FRGs%3D","line":1,"updated":"2013-11-12 01:19:28.000000000","message":"The #! line isn\u0027t needed.","commit_id":"3ee4cd99063aa8d7215cae6c3f255dfc4b194234"}],"ironicclient/v1/driver_shell.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"1a379b7a9c0f1896fe0d225bf1959f8ab2f884bf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python"},{"line_number":2,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Copyright 2013 Red Hat, Inc."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2FRGo%3D","line":1,"updated":"2013-11-12 01:19:28.000000000","message":"Ditto.","commit_id":"3ee4cd99063aa8d7215cae6c3f255dfc4b194234"}]}
