)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"f095c754213b8ad6cc35de294f4f3d400df2672d","unresolved":false,"context_lines":[{"line_number":3,"context_line":"AuthorDate: 2016-03-24 14:22:53 +0200"},{"line_number":4,"context_line":"Commit:     Kyrylo Romanenko \u003ckromanenko@mirantis.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-04 14:49:30 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add tests for --wrap option for driver-properties output"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Test default and several alternative wrapping values."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I382675bed9f8ebdb0a8c87973afe9f822ca68f1e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"1aa78d24_94720fe4","line":9,"range":{"start_line":6,"start_character":0,"end_line":9,"end_character":53},"updated":"2016-07-04 17:20:33.000000000","message":"Please mention about test skip","commit_id":"2749a2466b130721538c9a59019ba996235d79b0"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"571d4493d8ea1b425247fba8391ead52829e5a0a","unresolved":false,"context_lines":[{"line_number":3,"context_line":"AuthorDate: 2016-03-24 14:22:53 +0200"},{"line_number":4,"context_line":"Commit:     Kyrylo Romanenko \u003ckromanenko@mirantis.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-04 14:49:30 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add tests for --wrap option for driver-properties output"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Test default and several alternative wrapping values."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I382675bed9f8ebdb0a8c87973afe9f822ca68f1e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"1aa78d24_adb9a2cd","line":9,"range":{"start_line":6,"start_character":0,"end_line":9,"end_character":53},"in_reply_to":"1aa78d24_94720fe4","updated":"2016-07-05 11:32:42.000000000","message":"Done","commit_id":"2749a2466b130721538c9a59019ba996235d79b0"}],"ironicclient/tests/functional/base.py":[{"author":{"_account_id":17270,"name":"Sergii Turivnyi","email":"sturivnyi@mirantis.com","username":"sturivnyi"},"change_message_id":"a5d1752ae84177ee9dfe5d9ecba3bb4465d03bc6","unresolved":false,"context_lines":[{"line_number":265,"context_line":"        driver_show \u003d self.ironic(\u0027driver-show\u0027, params\u003ddriver_name)"},{"line_number":266,"context_line":"        return utils.get_dict_from_output(driver_show)"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"    def properties_driver(self, driver_name, option\u003d\u0027\u0027):"},{"line_number":269,"context_line":"        return self.ironic(\u0027driver-properties\u0027, params\u003d\u0027{0} {1}\u0027"},{"line_number":270,"context_line":"                           .format(driver_name, option))"},{"line_number":271,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da0c15f0_0f60d5cd","line":268,"range":{"start_line":268,"start_character":45,"end_line":268,"end_character":54},"updated":"2016-03-25 12:33:28.000000000","message":"In all methods above this argument calls `params`","commit_id":"9058f6942c0f421f699dc3c91d4a06454a0637ca"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"544ee82c4824b777cbc9649c671b468df7e20862","unresolved":false,"context_lines":[{"line_number":265,"context_line":"        driver_show \u003d self.ironic(\u0027driver-show\u0027, params\u003ddriver_name)"},{"line_number":266,"context_line":"        return utils.get_dict_from_output(driver_show)"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"    def properties_driver(self, driver_name, option\u003d\u0027\u0027):"},{"line_number":269,"context_line":"        return self.ironic(\u0027driver-properties\u0027, params\u003d\u0027{0} {1}\u0027"},{"line_number":270,"context_line":"                           .format(driver_name, option))"},{"line_number":271,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da0c15f0_bfb71685","line":268,"range":{"start_line":268,"start_character":45,"end_line":268,"end_character":54},"in_reply_to":"da0c15f0_0f60d5cd","updated":"2016-03-28 13:17:07.000000000","message":"Done","commit_id":"9058f6942c0f421f699dc3c91d4a06454a0637ca"},{"author":{"_account_id":17270,"name":"Sergii Turivnyi","email":"sturivnyi@mirantis.com","username":"sturivnyi"},"change_message_id":"58b9e383e92048b83f25abaae0e730d717f9c944","unresolved":false,"context_lines":[{"line_number":265,"context_line":"        driver_show \u003d self.ironic(\u0027driver-show\u0027, params\u003ddriver_name)"},{"line_number":266,"context_line":"        return utils.get_dict_from_output(driver_show)"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"    def properties_driver(self, driver_name, params\u003d\u0027\u0027):"},{"line_number":269,"context_line":"        return self.ironic(\u0027driver-properties\u0027, params\u003d\u0027{0} {1}\u0027"},{"line_number":270,"context_line":"                           .format(driver_name, params))"},{"line_number":271,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba0121b8_1edaed78","line":268,"range":{"start_line":268,"start_character":25,"end_line":268,"end_character":56},"updated":"2016-03-28 15:55:36.000000000","message":"I believe better way use just \u0027params\u0027 in properties_driver method, something like that:\ndef properties_driver(self, params\u003d\u0027\u0027):\n    ...\nSo in future you can write negative test-cases without calling \u0027driver_name\u0027","commit_id":"36987a818a458aa8cdd007646d942513aff7d282"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"e9b3b6e3aebd1feeaa5e041e8d6ac533f6e669a0","unresolved":false,"context_lines":[{"line_number":265,"context_line":"        driver_show \u003d self.ironic(\u0027driver-show\u0027, params\u003ddriver_name)"},{"line_number":266,"context_line":"        return utils.get_dict_from_output(driver_show)"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"    def properties_driver(self, driver_name, params\u003d\u0027\u0027):"},{"line_number":269,"context_line":"        return self.ironic(\u0027driver-properties\u0027, params\u003d\u0027{0} {1}\u0027"},{"line_number":270,"context_line":"                           .format(driver_name, params))"},{"line_number":271,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba0121b8_2ccb4b74","line":268,"range":{"start_line":268,"start_character":25,"end_line":268,"end_character":56},"in_reply_to":"ba0121b8_1edaed78","updated":"2016-03-28 16:37:47.000000000","message":"Done","commit_id":"36987a818a458aa8cdd007646d942513aff7d282"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"b2642b489549f7494ac18a65b5a0a2f4f91cb66a","unresolved":false,"context_lines":[{"line_number":273,"context_line":"        driver_show \u003d self.ironic(\u0027driver-show\u0027, params\u003ddriver_name)"},{"line_number":274,"context_line":"        return utils.get_dict_from_output(driver_show)"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"    def properties_driver(self, params\u003d\u0027\u0027):"},{"line_number":277,"context_line":"        return self.ironic(\u0027driver-properties\u0027, params\u003dparams)"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"    def get_drivers_names(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa31d9ce_012023f6","line":276,"range":{"start_line":276,"start_character":32,"end_line":276,"end_character":38},"updated":"2017-02-15 15:21:03.000000000","message":"please leave the driver_name here and add params separately.","commit_id":"06e89b9514469c688783c71425cc8d13e4fe67d7"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"1fb61ba3878c4f738aacd551cb821431fb00f7d5","unresolved":false,"context_lines":[{"line_number":273,"context_line":"        driver_show \u003d self.ironic(\u0027driver-show\u0027, params\u003ddriver_name)"},{"line_number":274,"context_line":"        return utils.get_dict_from_output(driver_show)"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"    def properties_driver(self, params\u003d\u0027\u0027):"},{"line_number":277,"context_line":"        return self.ironic(\u0027driver-properties\u0027, params\u003dparams)"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"    def get_drivers_names(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"9a30ddce_6a051c12","line":276,"range":{"start_line":276,"start_character":32,"end_line":276,"end_character":38},"in_reply_to":"fa31d9ce_012023f6","updated":"2017-03-13 17:04:54.000000000","message":"Done","commit_id":"06e89b9514469c688783c71425cc8d13e4fe67d7"}],"ironicclient/tests/functional/test_driver.py":[{"author":{"_account_id":17270,"name":"Sergii Turivnyi","email":"sturivnyi@mirantis.com","username":"sturivnyi"},"change_message_id":"61ca0a0203a9d5016687b387437ba0a4b3bc90b9","unresolved":false,"context_lines":[{"line_number":59,"context_line":"                                                               default_wrap)"},{"line_number":60,"context_line":"            driver_properties_wrapped \u003d self.properties_driver(driver, wrap)"},{"line_number":61,"context_line":"            self.assertNotEqual("},{"line_number":62,"context_line":"                [x[\u0027Property\u0027] for x in driver_properties_default], [])"},{"line_number":63,"context_line":"            self.assertNotEqual("},{"line_number":64,"context_line":"                [x[\u0027Property\u0027] for x in driver_properties_wrapped], [])"}],"source_content_type":"text/x-python","patch_set":2,"id":"da0c15f0_44363404","line":62,"range":{"start_line":62,"start_character":16,"end_line":62,"end_character":71},"updated":"2016-03-25 12:30:41.000000000","message":"Change position in assert arguments \nExpected should be on a first place like \nself.assertNotEqual([], [x[\u0027Property\u0027] for x in driver_properties_default])","commit_id":"9058f6942c0f421f699dc3c91d4a06454a0637ca"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"544ee82c4824b777cbc9649c671b468df7e20862","unresolved":false,"context_lines":[{"line_number":59,"context_line":"                                                               default_wrap)"},{"line_number":60,"context_line":"            driver_properties_wrapped \u003d self.properties_driver(driver, wrap)"},{"line_number":61,"context_line":"            self.assertNotEqual("},{"line_number":62,"context_line":"                [x[\u0027Property\u0027] for x in driver_properties_default], [])"},{"line_number":63,"context_line":"            self.assertNotEqual("},{"line_number":64,"context_line":"                [x[\u0027Property\u0027] for x in driver_properties_wrapped], [])"}],"source_content_type":"text/x-python","patch_set":2,"id":"da0c15f0_7fbd7e67","line":62,"range":{"start_line":62,"start_character":16,"end_line":62,"end_character":71},"in_reply_to":"da0c15f0_44363404","updated":"2016-03-28 13:17:07.000000000","message":"Done","commit_id":"9058f6942c0f421f699dc3c91d4a06454a0637ca"},{"author":{"_account_id":17270,"name":"Sergii Turivnyi","email":"sturivnyi@mirantis.com","username":"sturivnyi"},"change_message_id":"61ca0a0203a9d5016687b387437ba0a4b3bc90b9","unresolved":false,"context_lines":[{"line_number":61,"context_line":"            self.assertNotEqual("},{"line_number":62,"context_line":"                [x[\u0027Property\u0027] for x in driver_properties_default], [])"},{"line_number":63,"context_line":"            self.assertNotEqual("},{"line_number":64,"context_line":"                [x[\u0027Property\u0027] for x in driver_properties_wrapped], [])"}],"source_content_type":"text/x-python","patch_set":2,"id":"da0c15f0_84404c58","line":64,"range":{"start_line":64,"start_character":14,"end_line":64,"end_character":71},"updated":"2016-03-25 12:30:41.000000000","message":"ditto","commit_id":"9058f6942c0f421f699dc3c91d4a06454a0637ca"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"d2cd7d73728eda33e3753df511d612c74c825680","unresolved":false,"context_lines":[{"line_number":61,"context_line":"            self.assertNotEqual("},{"line_number":62,"context_line":"                [x[\u0027Property\u0027] for x in driver_properties_default], [])"},{"line_number":63,"context_line":"            self.assertNotEqual("},{"line_number":64,"context_line":"                [x[\u0027Property\u0027] for x in driver_properties_wrapped], [])"}],"source_content_type":"text/x-python","patch_set":2,"id":"da0c15f0_2407c01d","line":64,"range":{"start_line":64,"start_character":0,"end_line":64,"end_character":71},"updated":"2016-03-25 12:32:52.000000000","message":"imo we also need to check the length of property + description, it should be less than 40","commit_id":"9058f6942c0f421f699dc3c91d4a06454a0637ca"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"544ee82c4824b777cbc9649c671b468df7e20862","unresolved":false,"context_lines":[{"line_number":61,"context_line":"            self.assertNotEqual("},{"line_number":62,"context_line":"                [x[\u0027Property\u0027] for x in driver_properties_default], [])"},{"line_number":63,"context_line":"            self.assertNotEqual("},{"line_number":64,"context_line":"                [x[\u0027Property\u0027] for x in driver_properties_wrapped], [])"}],"source_content_type":"text/x-python","patch_set":2,"id":"da0c15f0_1f90c2eb","line":64,"range":{"start_line":64,"start_character":0,"end_line":64,"end_character":71},"in_reply_to":"da0c15f0_2407c01d","updated":"2016-03-28 13:17:07.000000000","message":"Done","commit_id":"9058f6942c0f421f699dc3c91d4a06454a0637ca"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"496055bb699ae9d63d923ad59a6747640d5551e5","unresolved":false,"context_lines":[{"line_number":60,"context_line":"            self.assertNotEqual("},{"line_number":61,"context_line":"                [], [x[\u0027Property\u0027] for x in driver_properties_default])"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    @testtools.skip(\"LP1562927\")"},{"line_number":64,"context_line":"    def test_driver_properties_altered_wrap(self):"},{"line_number":65,"context_line":"        \"\"\"Test steps:"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"bab6814e_7932a6f3","line":63,"range":{"start_line":63,"start_character":4,"end_line":63,"end_character":32},"updated":"2016-05-26 08:53:14.000000000","message":"It seems better to use skipTest(reason).\n\nhttp://testtools.readthedocs.io/en/latest/api.html\nskip(reason)\n\n    DEPRECATED: Use skipTest instead.\n\nAnd I\u0027m just wondering what number is \"LP1562927\"?","commit_id":"1fa0533ff5a0ca7c88c5dcba90a5a07be25a0db7"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"6bc3da9d5e078c3351d239e6627df0d67c7bab8c","unresolved":false,"context_lines":[{"line_number":60,"context_line":"            self.assertNotEqual("},{"line_number":61,"context_line":"                [], [x[\u0027Property\u0027] for x in driver_properties_default])"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    @testtools.skip(\"LP1562927\")"},{"line_number":64,"context_line":"    def test_driver_properties_altered_wrap(self):"},{"line_number":65,"context_line":"        \"\"\"Test steps:"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"bab6814e_72563b2b","line":63,"range":{"start_line":63,"start_character":4,"end_line":63,"end_character":32},"in_reply_to":"bab6814e_7932a6f3","updated":"2016-05-26 10:48:39.000000000","message":"Thanks! Now i placed a better description with Launchpad issue number.","commit_id":"1fa0533ff5a0ca7c88c5dcba90a5a07be25a0db7"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"f095c754213b8ad6cc35de294f4f3d400df2672d","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        drivers_names \u003d self.get_drivers_names()"},{"line_number":54,"context_line":"        for driver in drivers_names:"},{"line_number":55,"context_line":"            driver_properties \u003d self.properties_driver(driver)"},{"line_number":56,"context_line":"            self.assertNotEqual([], [x[\u0027Property\u0027] for x in driver_properties])"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def test_driver_properties_default_wrap(self):"},{"line_number":59,"context_line":"        \"\"\"Test steps:"}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_3494fbe0","line":56,"range":{"start_line":56,"start_character":36,"end_line":56,"end_character":79},"updated":"2016-07-04 17:20:33.000000000","message":"could we hide extracting properties in base class","commit_id":"2749a2466b130721538c9a59019ba996235d79b0"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"571d4493d8ea1b425247fba8391ead52829e5a0a","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        drivers_names \u003d self.get_drivers_names()"},{"line_number":54,"context_line":"        for driver in drivers_names:"},{"line_number":55,"context_line":"            driver_properties \u003d self.properties_driver(driver)"},{"line_number":56,"context_line":"            self.assertNotEqual([], [x[\u0027Property\u0027] for x in driver_properties])"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def test_driver_properties_default_wrap(self):"},{"line_number":59,"context_line":"        \"\"\"Test steps:"}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_cda18eab","line":56,"range":{"start_line":56,"start_character":36,"end_line":56,"end_character":79},"in_reply_to":"1aa78d24_3494fbe0","updated":"2016-07-05 11:32:42.000000000","message":"It looks better not to touch that test in this patch. I`ll do that fix in separate patch.","commit_id":"2749a2466b130721538c9a59019ba996235d79b0"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"f095c754213b8ad6cc35de294f4f3d400df2672d","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        wraps \u003d [40, 60, 80]"},{"line_number":82,"context_line":"        for driver in drivers_names:"},{"line_number":83,"context_line":"            for wrap in wraps:"},{"line_number":84,"context_line":"                raw_props_wrapped \u003d self._ironic("},{"line_number":85,"context_line":"                    \u0027driver-properties\u0027, flags\u003d\u0027\u0027,"},{"line_number":86,"context_line":"                    params\u003d\u0027 {0} --wrap {1}\u0027.format(driver, wrap))"},{"line_number":87,"context_line":"                parsed_props_wrapped \u003d self.properties_driver("}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_f4b0b38d","line":84,"range":{"start_line":84,"start_character":41,"end_line":84,"end_character":49},"updated":"2016-07-04 17:20:33.000000000","message":"s/_ironic/ironic","commit_id":"2749a2466b130721538c9a59019ba996235d79b0"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"571d4493d8ea1b425247fba8391ead52829e5a0a","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        wraps \u003d [40, 60, 80]"},{"line_number":82,"context_line":"        for driver in drivers_names:"},{"line_number":83,"context_line":"            for wrap in wraps:"},{"line_number":84,"context_line":"                raw_props_wrapped \u003d self._ironic("},{"line_number":85,"context_line":"                    \u0027driver-properties\u0027, flags\u003d\u0027\u0027,"},{"line_number":86,"context_line":"                    params\u003d\u0027 {0} --wrap {1}\u0027.format(driver, wrap))"},{"line_number":87,"context_line":"                parsed_props_wrapped \u003d self.properties_driver("}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_edae0a97","line":84,"range":{"start_line":84,"start_character":41,"end_line":84,"end_character":49},"in_reply_to":"1aa78d24_f4b0b38d","updated":"2016-07-05 11:32:42.000000000","message":"Done","commit_id":"2749a2466b130721538c9a59019ba996235d79b0"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"ee09d199593ffde6be29674e89bc56d809cf62c4","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            driver_properties_default \u003d self.properties_driver("},{"line_number":68,"context_line":"                params\u003d\u0027{} {}\u0027.format(driver, default_wrap))"},{"line_number":69,"context_line":"            self.assertNotEqual("},{"line_number":70,"context_line":"                [], [x[\u0027Property\u0027] for x in driver_properties_default])"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def test_driver_properties_altered_wrap(self):"},{"line_number":73,"context_line":"        self.skipTest(\u0027Skip because of LaunchPad bug #1562927\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"dada55a8_eada0377","line":70,"range":{"start_line":70,"start_character":16,"end_line":70,"end_character":70},"updated":"2016-07-27 04:45:22.000000000","message":"Kyrylo, Anton,\n\nAnton\u003e self.assertNotEqual([], [x[\u0027Property\u0027] for x in driver_properties]\nAnton\u003e could we hide extracting properties in base class\n\nWhy don\u0027t we check the legnth such as L.55?\nL.55 self.assertTrue(len(available_drivers) \u003e 0)","commit_id":"5b28e05a66e4409e3d797520e8475278ca7866d0"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"31bbb44476c69b481970068776d9253a18c6b945","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            driver_properties_default \u003d self.properties_driver("},{"line_number":68,"context_line":"                params\u003d\u0027{} {}\u0027.format(driver, default_wrap))"},{"line_number":69,"context_line":"            self.assertNotEqual("},{"line_number":70,"context_line":"                [], [x[\u0027Property\u0027] for x in driver_properties_default])"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def test_driver_properties_altered_wrap(self):"},{"line_number":73,"context_line":"        self.skipTest(\u0027Skip because of LaunchPad bug #1562927\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"bacf61ea_7611bc5c","line":70,"range":{"start_line":70,"start_character":16,"end_line":70,"end_character":70},"in_reply_to":"bacf61ea_3253e618","updated":"2016-08-02 00:20:28.000000000","message":"Hi Kyrylo,\n\nI assumed that the structure of driver_properties is like below:\n\n \u003e\u003e\u003e driver_properties\u003d[{\u0027Property\u0027: \u0027x\u0027, \u0027Value\u0027: 1}, {\u0027Property\u0027: \u0027y\u0027, \u0027Value\u0027: 2}, {\u0027Property\u0027: \u0027z\u0027, \u0027Value\u0027: 3}]\n \u003e\u003e\u003e [x[\u0027Property\u0027] for x in driver_properties]\n [\u0027x\u0027, \u0027y\u0027, \u0027z\u0027]\n\n\nAnd if [x[\u0027Property\u0027] for x in driver_properties] \u003d\u003d [], then it means that driver_properties must be empty.\n\n \u003e\u003e\u003e driver_properties\u003d[]\n \u003e\u003e\u003e [x[\u0027Property\u0027] for x in driver_properties]\n []\n\nTherefor I thought the assertion could be written like this without extracting the internal structure.\n\nself.assertTrue(len(driver_properties) \u003d\u003d 0)\n\nWDYT?\n\nBest regards,\nNaohiro","commit_id":"5b28e05a66e4409e3d797520e8475278ca7866d0"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"522ccc4d80b69b5f112a4dac1dbe830b1016442c","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            driver_properties_default \u003d self.properties_driver("},{"line_number":68,"context_line":"                params\u003d\u0027{} {}\u0027.format(driver, default_wrap))"},{"line_number":69,"context_line":"            self.assertNotEqual("},{"line_number":70,"context_line":"                [], [x[\u0027Property\u0027] for x in driver_properties_default])"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def test_driver_properties_altered_wrap(self):"},{"line_number":73,"context_line":"        self.skipTest(\u0027Skip because of LaunchPad bug #1562927\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"bacf61ea_3253e618","line":70,"range":{"start_line":70,"start_character":16,"end_line":70,"end_character":70},"in_reply_to":"dada55a8_eada0377","updated":"2016-08-01 15:27:18.000000000","message":"Hello, Naohiro! \n1. You mean to update properties_driver() method by way like get_drivers_names() looks?\n2. len(available_drivers) counts number of drivers for driver_list test. And we test leght of output strings in next test with altered wrapping value. Otherwise with default wrapping i`m not sure which length to refer.","commit_id":"5b28e05a66e4409e3d797520e8475278ca7866d0"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"ee09d199593ffde6be29674e89bc56d809cf62c4","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                parsed_props_wrapped \u003d self.properties_driver("},{"line_number":89,"context_line":"                    params\u003d\u0027{0} --wrap {1}\u0027.format(driver, wrap))"},{"line_number":90,"context_line":"                self.assertNotEqual("},{"line_number":91,"context_line":"                    [], [x[\u0027Property\u0027] for x in parsed_props_wrapped])"},{"line_number":92,"context_line":"                self.assertLessEqual(len(raw_props_wrapped.split()[0]),"},{"line_number":93,"context_line":"                                     wrap)"}],"source_content_type":"text/x-python","patch_set":11,"id":"dada55a8_8a39c7a6","line":91,"range":{"start_line":91,"start_character":20,"end_line":91,"end_character":69},"updated":"2016-07-27 04:45:22.000000000","message":"ditto","commit_id":"5b28e05a66e4409e3d797520e8475278ca7866d0"},{"author":{"_account_id":17270,"name":"Sergii Turivnyi","email":"sturivnyi@mirantis.com","username":"sturivnyi"},"change_message_id":"ce6105b35b8669371ecb0137e65218c59c571d93","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        drivers_names \u003d self.get_drivers_names()"},{"line_number":66,"context_line":"        for driver in drivers_names:"},{"line_number":67,"context_line":"            driver_properties_default \u003d self.properties_driver("},{"line_number":68,"context_line":"                params\u003d\u0027{} {}\u0027.format(driver, default_wrap))"},{"line_number":69,"context_line":"            self.assertNotEqual("},{"line_number":70,"context_line":"                [], [x[\u0027Property\u0027] for x in driver_properties_default])"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_3aefa9b1","line":68,"range":{"start_line":68,"start_character":24,"end_line":68,"end_character":29},"updated":"2016-08-09 20:56:49.000000000","message":"I feel in this case would be better to indicate variables","commit_id":"6a9f9a557308c1bd506458c3865cacc3e02f0c4e"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"1d2a374be41e57fc2c7b67d2493f27475c6b8c4e","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        drivers_names \u003d self.get_drivers_names()"},{"line_number":66,"context_line":"        for driver in drivers_names:"},{"line_number":67,"context_line":"            driver_properties_default \u003d self.properties_driver("},{"line_number":68,"context_line":"                params\u003d\u0027{} {}\u0027.format(driver, default_wrap))"},{"line_number":69,"context_line":"            self.assertNotEqual("},{"line_number":70,"context_line":"                [], [x[\u0027Property\u0027] for x in driver_properties_default])"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"fa7ab95a_eb060c1f","line":68,"range":{"start_line":68,"start_character":24,"end_line":68,"end_character":29},"in_reply_to":"9ad45d7e_3aefa9b1","updated":"2016-09-01 14:37:25.000000000","message":"Done","commit_id":"6a9f9a557308c1bd506458c3865cacc3e02f0c4e"},{"author":{"_account_id":20522,"name":"Aline Bousquet","email":"albousque@gmail.com","username":"alineb"},"change_message_id":"4c18b43c0dc7f1ecc67080040631171e61d12fd7","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                [], [x[\u0027Property\u0027] for x in driver_properties_default])"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def test_driver_properties_altered_wrap(self):"},{"line_number":73,"context_line":"        self.skipTest(\u0027Skip because of LaunchPad bug #1562927\u0027)"},{"line_number":74,"context_line":"        \"\"\"Test steps:"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        1) get drivers names"}],"source_content_type":"text/x-python","patch_set":12,"id":"bacf61ea_687f0d15","line":73,"range":{"start_line":73,"start_character":23,"end_line":73,"end_character":61},"updated":"2016-08-02 09:10:03.000000000","message":"I\u0027m wondering if this test should be skipped. \nIt looks like the \"ironic driver-properties\" command calls the print_dict method (https://github.com/openstack/python-ironicclient/blob/master/ironicclient/common/cliutils.py#L205). According to the method\u0027s doc (L211), the wrap option applies to the second column, not the whole output. \nIf that\u0027s the case, the test doesn\u0027t need to be skipped and the length check needs to be changed. What do you think?","commit_id":"6a9f9a557308c1bd506458c3865cacc3e02f0c4e"},{"author":{"_account_id":20522,"name":"Aline Bousquet","email":"albousque@gmail.com","username":"alineb"},"change_message_id":"090a58cfb817b4e0e4d32c0cadf9817015f62198","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                [], [x[\u0027Property\u0027] for x in driver_properties_default])"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def test_driver_properties_altered_wrap(self):"},{"line_number":73,"context_line":"        self.skipTest(\u0027Skip because of LaunchPad bug #1562927\u0027)"},{"line_number":74,"context_line":"        \"\"\"Test steps:"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        1) get drivers names"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_fd32d40e","line":73,"range":{"start_line":73,"start_character":23,"end_line":73,"end_character":61},"in_reply_to":"9ad45d7e_4573efb1","updated":"2016-08-11 09:39:15.000000000","message":"Hi Kyrylo, \n\nThanks for your answer!\n\nI think something like that could work?\n\n for row in parsed_props_wrapped:\n     self.assertLessEqual(len(row[\u0027Description\u0027]), wrap)\n\nIt\u0027s supposed to get the length of the text, without the leading and trailing spaces, and I think that\u0027s what the wrap option is supposed to do? In your example, the column exceed the expected width only if these spaces are counted, but not if only the text is considered. \n\nNot sure about all this, so feel free to correct me if I\u0027m wrong :)","commit_id":"6a9f9a557308c1bd506458c3865cacc3e02f0c4e"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"1d2a374be41e57fc2c7b67d2493f27475c6b8c4e","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                [], [x[\u0027Property\u0027] for x in driver_properties_default])"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def test_driver_properties_altered_wrap(self):"},{"line_number":73,"context_line":"        self.skipTest(\u0027Skip because of LaunchPad bug #1562927\u0027)"},{"line_number":74,"context_line":"        \"\"\"Test steps:"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        1) get drivers names"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa7ab95a_ae3a52cb","line":73,"range":{"start_line":73,"start_character":23,"end_line":73,"end_character":61},"in_reply_to":"9ad45d7e_fd32d40e","updated":"2016-09-01 14:37:25.000000000","message":"Aline, thank you :)","commit_id":"6a9f9a557308c1bd506458c3865cacc3e02f0c4e"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"cddae6cd9a6b2161b7fb192c60a6a17ea7fc128d","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                [], [x[\u0027Property\u0027] for x in driver_properties_default])"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def test_driver_properties_altered_wrap(self):"},{"line_number":73,"context_line":"        self.skipTest(\u0027Skip because of LaunchPad bug #1562927\u0027)"},{"line_number":74,"context_line":"        \"\"\"Test steps:"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        1) get drivers names"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_4573efb1","line":73,"range":{"start_line":73,"start_character":23,"end_line":73,"end_character":61},"in_reply_to":"bacf61ea_687f0d15","updated":"2016-08-08 16:01:35.000000000","message":"Thank you, Aline. I`m not sure how it works exactly, for example here exeprimentally we have exceed of width for second column:\n$ ironic driver-properties agent_ipmitool --wrap 40\n+--------------------------+------------------------------------------+\n| Property                 | Description                              |\n+--------------------------+------------------------------------------+\n| deploy_forces_oob_reboot | Whether Ironic should force a reboot of  |\n...\n\nAline, if you have idea how to check it, feel free to edit this test together.\n\nFortunately new OpenStack Client has automatic wrapping of tables to width of terminal :)","commit_id":"6a9f9a557308c1bd506458c3865cacc3e02f0c4e"}]}
