)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"d0a77e16fe049612537bc17949097fe8058fbaa4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"fa98f980_9fe4950e","updated":"2014-09-01 16:01:59.000000000","message":"Could you wrap lines at 72 characters.\nSee https://wiki.openstack.org/wiki/GitCommitMessages","commit_id":"7a23094a280f84eba012f1f5798dec432fdcf4b8"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"d0a77e16fe049612537bc17949097fe8058fbaa4","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add port\u0027s status check for port show details"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Incorporating review comments that rather than checking each field manually"},{"line_number":10,"context_line":"using for loop for verifying each value."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Note : Output of create_port does not contain the attribute \u0027extra_dhcp_opts\u0027"},{"line_number":13,"context_line":"       however show_ports is returning this attribute. So expilictly adding this"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa98f980_bfe7993f","line":10,"updated":"2014-09-01 16:01:59.000000000","message":"Patchset specific changes should not go in the commit message. The history of your change is tracked in gerrit. The commit message should include a description of the final change only.","commit_id":"7a23094a280f84eba012f1f5798dec432fdcf4b8"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"7acf702e2e5704ca04b212fdd4421656d9af614f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Santosh Kumar \u003cSantosh.kumar4@hp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-09-02 04:45:05 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add port\u0027s status check that the number of items is same in case of show_port and create_port"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Incorporating review comments that rather than checking each field manually"},{"line_number":10,"context_line":"using for loop for verifying each value."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"fa98f980_170d9637","line":7,"updated":"2014-09-03 02:54:13.000000000","message":"this should be wrapped in 50 char. you can just write commit msg something like below- \n\nCheck port status also in show port tests.\n\nThis patch adds check for port status by re arranging the  attributes verification in test_show_port. \nComparing complete dict which automatically verify all the response attribute including port status.","commit_id":"bbf0948939845fdb94b90fa11b7f44a72b20f354"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"7acf702e2e5704ca04b212fdd4421656d9af614f","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add port\u0027s status check that the number of items is same in case of show_port and create_port"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Incorporating review comments that rather than checking each field manually"},{"line_number":10,"context_line":"using for loop for verifying each value."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Note : Output of create_port does not contain the attribute \u0027extra_dhcp_opts\u0027"},{"line_number":13,"context_line":"       however show_ports is returning this attribute. So expilictly adding this"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"fa98f980_1cba1d6e","line":10,"updated":"2014-09-03 02:54:13.000000000","message":"This needs to be removed as Andrea mentioned.","commit_id":"bbf0948939845fdb94b90fa11b7f44a72b20f354"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"7acf702e2e5704ca04b212fdd4421656d9af614f","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Note : Output of create_port does not contain the attribute \u0027extra_dhcp_opts\u0027"},{"line_number":13,"context_line":"       however show_ports is returning this attribute. So expilictly adding this"},{"line_number":14,"context_line":"       attribute in the output of creat_port."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I95ff3a6d51c539c59bcb9cb02e16d6da7fbadadd"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"fa98f980_1c485d86","line":14,"updated":"2014-09-03 02:54:13.000000000","message":"last sentence is confusing. \n`So expilictly adding this attribute in the output of creat_port.` -\u003e `So not comparing that attribute in test_show_port.`","commit_id":"bbf0948939845fdb94b90fa11b7f44a72b20f354"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"b6a1c20ee95ea338f3e19d08159e600f979489be","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Check port\u0027s status also in show port tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds check for port status by re arranging the  attributes verification in test_show_port"},{"line_number":10,"context_line":"Comparing complete dict which automatically verify all the response attribute including port status"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I95ff3a6d51c539c59bcb9cb02e16d6da7fbadadd"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"fa98f980_567c4fb5","line":9,"updated":"2014-09-04 08:41:47.000000000","message":"Too long lines. https://wiki.openstack.org/wiki/GitCommitMessages","commit_id":"6fdbefb99a6879cbaca7ec185a9c3f4b88f193c3"}],"tempest/api/network/base.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"d0a77e16fe049612537bc17949097fe8058fbaa4","unresolved":false,"context_lines":[{"line_number":193,"context_line":"        resp, body \u003d cls.client.create_port(network_id\u003dnetwork[\u0027id\u0027],"},{"line_number":194,"context_line":"                                            **kwargs)"},{"line_number":195,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":196,"context_line":"        port[\u0027extra_dhcp_opts\u0027] \u003d []"},{"line_number":197,"context_line":"        cls.ports.append(port)"},{"line_number":198,"context_line":"        return port"},{"line_number":199,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_1f7a6588","line":196,"updated":"2014-09-01 16:01:59.000000000","message":"I\u0027m not sure it\u0027s worth adding this here.\nYou could test for all fields except this one.\nI wrote tempest.common.custom_matchers.MatchesDictExceptForKeys exactly for this kind of scenarios.","commit_id":"7a23094a280f84eba012f1f5798dec432fdcf4b8"}],"tempest/api/network/test_ports.py":[{"author":{"_account_id":2035,"name":"Maru Newby","email":"marun@redhat.com","username":"maru"},"change_message_id":"c604421e011452ec1aa25e2d9bbab52d9fed769c","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        self.assertIn(\u0027id\u0027, port)"},{"line_number":81,"context_line":"        self.assertEqual(port[\u0027id\u0027], self.port[\u0027id\u0027])"},{"line_number":82,"context_line":"        self.assertEqual(self.port[\u0027admin_state_up\u0027], port[\u0027admin_state_up\u0027])"},{"line_number":83,"context_line":"        self.assertEqual(self.port[\u0027status\u0027], port[\u0027status\u0027])"},{"line_number":84,"context_line":"        self.assertEqual(self.port[\u0027device_id\u0027], port[\u0027device_id\u0027])"},{"line_number":85,"context_line":"        self.assertEqual(self.port[\u0027device_owner\u0027], port[\u0027device_owner\u0027])"},{"line_number":86,"context_line":"        self.assertEqual(self.port[\u0027mac_address\u0027], port[\u0027mac_address\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"1abeadc6_f30f8386","line":83,"updated":"2014-08-26 17:06:22.000000000","message":"Rather than checking that each field is the same manually, why not use the following pattern?\n\nfor key, value in self.port.iteritems():\n  self.assertEqual(port[key], value)","commit_id":"1d3afe6c5a8197df402c0b7819059e65df410fda"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"92861ef0126220592f5f9cc84b6a0c739c45aaa5","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":74,"context_line":"        self.assertIn(\u0027id\u0027, port)"},{"line_number":75,"context_line":"        for key, value in self.port.iteritems():"},{"line_number":76,"context_line":"            self.assertEqual(port[key], value)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":79,"context_line":"    def test_show_port_fields(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1abeadc6_af5c771a","line":76,"updated":"2014-08-28 07:05:44.000000000","message":"should you also check that the number of items in both is the same in case show_port is returning extra data?","commit_id":"725e0194e97829cb065a40109c622409860cdd27"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"76a2c02e6896a27ec71b4c71df7ff7d385f3658a","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":74,"context_line":"        self.assertIn(\u0027id\u0027, port)"},{"line_number":75,"context_line":"        for key, value in self.port.iteritems():"},{"line_number":76,"context_line":"            self.assertEqual(port[key], value)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":79,"context_line":"    def test_show_port_fields(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1abeadc6_014b72b1","line":76,"in_reply_to":"1abeadc6_2f0f8789","updated":"2014-08-28 14:41:06.000000000","message":"Wrong order should be (expected, observed) -\u003e (value, port[key]).","commit_id":"725e0194e97829cb065a40109c622409860cdd27"},{"author":{"_account_id":2035,"name":"Maru Newby","email":"marun@redhat.com","username":"maru"},"change_message_id":"04f218109543fe27de995fc6ccbf4815f083e8f8","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":74,"context_line":"        self.assertIn(\u0027id\u0027, port)"},{"line_number":75,"context_line":"        for key, value in self.port.iteritems():"},{"line_number":76,"context_line":"            self.assertEqual(port[key], value)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":79,"context_line":"    def test_show_port_fields(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1abeadc6_2f0f8789","line":76,"in_reply_to":"1abeadc6_af5c771a","updated":"2014-08-28 07:28:07.000000000","message":"It might be worth simply comparing the dictionaries, assuming the result of creation should match the result of a show.","commit_id":"725e0194e97829cb065a40109c622409860cdd27"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"d0a77e16fe049612537bc17949097fe8058fbaa4","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        self.assertIn(\u0027id\u0027, port)"},{"line_number":75,"context_line":"        self.assertEqual(self.port, port)"},{"line_number":76,"context_line":"        for key, value in self.port.iteritems():"},{"line_number":77,"context_line":"            self.assertEqual(value, port[key])"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":80,"context_line":"    def test_show_port_fields(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_1f050511","line":77,"updated":"2014-09-01 16:01:59.000000000","message":"The assertion message does not include the key being tested, so a failure may look quite unhelpful e.g. \"1 is not 2\".","commit_id":"7a23094a280f84eba012f1f5798dec432fdcf4b8"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"6b34635677dcd6e985fc13dd3dff4bd50b0d140b","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        _, body \u003d self.client.show_port(self.port[\u0027id\u0027])"},{"line_number":74,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":75,"context_line":"        self.assertIn(\u0027id\u0027, port)"},{"line_number":76,"context_line":"        self.assertThat(self.port,"},{"line_number":77,"context_line":"                        custom_matchers.MatchesDictExceptForKeys"},{"line_number":78,"context_line":"                        (port, excluded_keys\u003d[\u0027extra_dhcp_opts\u0027]))"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa98f980_018b62c3","line":76,"updated":"2014-09-04 07:23:30.000000000","message":"I understand this is because of a known neutron bug.\nPlease add a comment to explain that, with \"TODO\" to fix this workaround once bug is fixed.\nComment should have bug num, so please submit a bug, if there isn\u0027t one","commit_id":"d39c308f504dbe261de61e291ff8b7411c8c4a62"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"6b34635677dcd6e985fc13dd3dff4bd50b0d140b","unresolved":false,"context_lines":[{"line_number":266,"context_line":"        super(PortsAdminExtendedAttrsIpV6TestJSON, cls).setUpClass()"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"class PortsAdminExtendedAttrsIpV6TestXML(PortsAdminExtendedAttrsIpV6TestJSON):"},{"line_number":270,"context_line":"    _interface \u003d \u0027xml\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa98f980_a1ce162c","line":269,"updated":"2014-09-04 07:23:30.000000000","message":"nit: by accident maybe?","commit_id":"d39c308f504dbe261de61e291ff8b7411c8c4a62"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ba72883ad5c635b5c58226338617622867ae6ea6","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        _, body \u003d self.client.show_port(self.port[\u0027id\u0027])"},{"line_number":74,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":75,"context_line":"        self.assertIn(\u0027id\u0027, port)"},{"line_number":76,"context_line":"        # TODO - This is a temporary workaround to compare create_port and"},{"line_number":77,"context_line":"        # show_port dict elements.Remove this once extra_dhcp_opts issue"},{"line_number":78,"context_line":"        # gets fixed in neutron.( https://bugs.launchpad.net/neutron/+bug/1365341.)"},{"line_number":79,"context_line":"        self.assertThat(self.port,"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa98f980_137bb928","line":76,"updated":"2014-09-04 07:55:55.000000000","message":"Follow H101 - http://docs.openstack.org/developer/hacking/#general\n\nTODO(your-name): This is a .................","commit_id":"f76c3f06fc62ff47e8d1887af038af8d52deb76d"}]}
