)]}'
{"ironic/drivers/pxe.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"c527e1606f0486e73642296abb69b700077d6f8e","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        if not importutils.try_import(\u0027pyghmi\u0027):"},{"line_number":82,"context_line":"            raise exception.DriverLoadError("},{"line_number":83,"context_line":"                    driver\u003dself.__class__.__name__,"},{"line_number":84,"context_line":"                    reason\u003d\"Unable to import pyghmi library\")"},{"line_number":85,"context_line":"        self.power \u003d ipminative.NativeIPMIPower()"},{"line_number":86,"context_line":"        self.deploy \u003d pxe.PXEDeploy()"},{"line_number":87,"context_line":"        self.pxe_vendor \u003d pxe.VendorPassthru()"}],"source_content_type":"text/x-python","patch_set":1,"id":"7adec928_0513f866","line":84,"updated":"2014-05-08 13:28:26.000000000","message":"i18n","commit_id":"35b7043c39925c34e161063ed2e27fd2e4521fc0"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"3d8f2fcabdea43876739e91e5ba906a508b8e060","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        if not importutils.try_import(\u0027pyghmi\u0027):"},{"line_number":82,"context_line":"            raise exception.DriverLoadError("},{"line_number":83,"context_line":"                    driver\u003dself.__class__.__name__,"},{"line_number":84,"context_line":"                    reason\u003d\"Unable to import pyghmi library\")"},{"line_number":85,"context_line":"        self.power \u003d ipminative.NativeIPMIPower()"},{"line_number":86,"context_line":"        self.deploy \u003d pxe.PXEDeploy()"},{"line_number":87,"context_line":"        self.pxe_vendor \u003d pxe.VendorPassthru()"}],"source_content_type":"text/x-python","patch_set":1,"id":"7adec928_325431fe","line":84,"in_reply_to":"7adec928_0513f866","updated":"2014-05-18 20:05:50.000000000","message":"ah, thanks!","commit_id":"35b7043c39925c34e161063ed2e27fd2e4521fc0"}],"ironic/tests/drivers/test_ipminative.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"fc8fdaa60efaf877514df4f93d38e3f65b3bd7da","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"import mock"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from oslo.config import cfg"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"from ironic.common import driver_factory"},{"line_number":27,"context_line":"from ironic.common import exception"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_cde97980","line":24,"updated":"2014-06-13 15:31:53.000000000","message":"Note: This change seems unrelated to the patch, but I\u0027m ok just fixing it here. Tho I would put a small mention it in the commit message at least.","commit_id":"364251a5d403d09d29a50bbef637f52060774bfa"}],"ironic/tests/drivers/third_party_driver_mocks.py":[{"author":{"_account_id":6623,"name":"Roman Prykhodchenko","email":"me@romcheg.me","username":"prykhodchenko"},"change_message_id":"10d477798d856f10c26fde2ae3c316eedb4eafa9","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"pyghmi \u003d importutils.try_import(\"pyghmi\")"},{"line_number":54,"context_line":"if not pyghmi:"},{"line_number":55,"context_line":"    p \u003d mock.Mock()"},{"line_number":56,"context_line":"    p.exceptions \u003d mock.Mock()"},{"line_number":57,"context_line":"    p.exceptions.IpmiException \u003d Exception"},{"line_number":58,"context_line":"    p.ipmi \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_ad334d60","line":55,"updated":"2014-06-13 15:14:26.000000000","message":"L55-L60 look like a place to use MagicMock. Please tell me, if I\u0027m wrong.","commit_id":"364251a5d403d09d29a50bbef637f52060774bfa"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"fc8fdaa60efaf877514df4f93d38e3f65b3bd7da","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"pyghmi \u003d importutils.try_import(\"pyghmi\")"},{"line_number":54,"context_line":"if not pyghmi:"},{"line_number":55,"context_line":"    p \u003d mock.Mock()"},{"line_number":56,"context_line":"    p.exceptions \u003d mock.Mock()"},{"line_number":57,"context_line":"    p.exceptions.IpmiException \u003d Exception"},{"line_number":58,"context_line":"    p.ipmi \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_30b7923b","line":55,"in_reply_to":"1ae5cdf2_ad334d60","updated":"2014-06-13 15:31:53.000000000","message":"I disagree but I\u0027m not an expert in the mock lib... \n\nWe are not using any magic method here[1], so I don\u0027t see the need to use MagicMock. Mock seems to be enough and that means we are not bringing a lot of extra stuff into the tests.\n\nMagicMock seems to be a convenient thing when tests need to exercise a lot of magic methods. ( So you don\u0027t have to go and mock each one of them )\n\n[1] http://farmdev.com/src/secrets/magicmethod/","commit_id":"364251a5d403d09d29a50bbef637f52060774bfa"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"8e377f2a21e85b22707874bc81f10c3bce2c5985","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    p.ipmi.command.boot_devices \u003d {\u0027pxe\u0027: 4}"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"if \u0027ironic.drivers.modules.ipminative\u0027 in sys.modules:"},{"line_number":71,"context_line":"    reload(sys.modules[\u0027ironic.drivers.modules.pyghmi\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_30ff8d03","line":71,"updated":"2014-06-13 18:35:53.000000000","message":"I think this is the wrong path\n\ns/pyghmi/ipminative/","commit_id":"bd23b1e871fab2827b6ac2b27cd8ff6e2f0219b9"}]}
