)]}'
{"tempest/api/compute/admin/test_hypervisor.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0387478236834baa849408038a89bfe413f3fbea","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    def test_get_hypervisor_list(self):"},{"line_number":45,"context_line":"        # List of hypervisor and available hypervisors hostname"},{"line_number":46,"context_line":"        hypers \u003d self._list_hypervisors()"},{"line_number":47,"context_line":"        self.assertTrue(len(hypers) \u003e 0)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    @attr(type\u003d[\u0027positive\u0027, \u0027gate\u0027])"},{"line_number":50,"context_line":"    def test_get_hypervisor_list_details(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2F12g%3D","line":47,"updated":"2013-06-07 19:15:58.000000000","message":"I\u0027m not sure how useful this test really is... I mean, the call could return 200 OK, with a body of {\"this\": \"is all junk\"} and it would pass this test...","commit_id":"9a64e91e27de51075fcc329ddea41d614bd6e16e"},{"author":{"_account_id":7116,"name":"Tony Yang","email":"bjyangf@cn.ibm.com","username":"bjyangf"},"change_message_id":"92485ced51ae9a8b65f6d26396abbc65fa106fa4","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    def test_get_hypervisor_list(self):"},{"line_number":45,"context_line":"        # List of hypervisor and available hypervisors hostname"},{"line_number":46,"context_line":"        hypers \u003d self._list_hypervisors()"},{"line_number":47,"context_line":"        self.assertTrue(len(hypers) \u003e 0)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    @attr(type\u003d[\u0027positive\u0027, \u0027gate\u0027])"},{"line_number":50,"context_line":"    def test_get_hypervisor_list_details(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2F0pY%3D","line":47,"in_reply_to":"AAAAPX%2F%2F12g%3D","updated":"2013-06-08 19:56:36.000000000","message":"Actually in HypervisorClientJSON.get_hypervisor_list from tempest/services/compute/json/hypervisor_client.py the value to the \"hypervisors\" key is returned, not the whole body part. This test is meant to make sure there is something held in that value. Further assertions could have been made to ensure certain keys (id,hypervisor_hostname ) exist in each item of the \"hypervisors\" list, but I don\u0027t think that\u0027s necessary.","commit_id":"9a64e91e27de51075fcc329ddea41d614bd6e16e"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0387478236834baa849408038a89bfe413f3fbea","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        # Display the details of the all hypervisor"},{"line_number":52,"context_line":"        resp, hypers \u003d self.client.get_hypervisor_list_details()"},{"line_number":53,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":54,"context_line":"        self.assertTrue(len(hypers) \u003e 0)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    @attr(type\u003d[\u0027positive\u0027, \u0027gate\u0027])"},{"line_number":57,"context_line":"    def test_get_hypervisor_show_details(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2F12o%3D","line":54,"updated":"2013-06-07 19:15:58.000000000","message":"I\u0027m not sure how useful this test really is... I mean, the call could return 200 OK, with a body of {\"this\": \"is all junk\"} and it would pass this test...","commit_id":"9a64e91e27de51075fcc329ddea41d614bd6e16e"},{"author":{"_account_id":7116,"name":"Tony Yang","email":"bjyangf@cn.ibm.com","username":"bjyangf"},"change_message_id":"92485ced51ae9a8b65f6d26396abbc65fa106fa4","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        # Display the details of the all hypervisor"},{"line_number":52,"context_line":"        resp, hypers \u003d self.client.get_hypervisor_list_details()"},{"line_number":53,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":54,"context_line":"        self.assertTrue(len(hypers) \u003e 0)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    @attr(type\u003d[\u0027positive\u0027, \u0027gate\u0027])"},{"line_number":57,"context_line":"    def test_get_hypervisor_show_details(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2F0pU%3D","line":54,"in_reply_to":"AAAAPX%2F%2F12o%3D","updated":"2013-06-08 19:56:36.000000000","message":"Similar situation as above.","commit_id":"9a64e91e27de51075fcc329ddea41d614bd6e16e"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0387478236834baa849408038a89bfe413f3fbea","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        resp, details \u003d (self.client."},{"line_number":62,"context_line":"                         get_hypervisor_show_details(hypers[0][\u0027id\u0027]))"},{"line_number":63,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":64,"context_line":"        self.assertTrue(len(details) \u003e 0)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @attr(type\u003d[\u0027positive\u0027, \u0027gate\u0027])"},{"line_number":67,"context_line":"    def test_get_hypervisor_show_servers(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2F12s%3D","line":64,"updated":"2013-06-07 19:15:58.000000000","message":"I\u0027m not sure how useful this test really is... I mean, the call could return 200 OK, with a body of {\"this\": \"is all junk\"} and it would pass this test...","commit_id":"9a64e91e27de51075fcc329ddea41d614bd6e16e"},{"author":{"_account_id":7116,"name":"Tony Yang","email":"bjyangf@cn.ibm.com","username":"bjyangf"},"change_message_id":"92485ced51ae9a8b65f6d26396abbc65fa106fa4","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        resp, details \u003d (self.client."},{"line_number":62,"context_line":"                         get_hypervisor_show_details(hypers[0][\u0027id\u0027]))"},{"line_number":63,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":64,"context_line":"        self.assertTrue(len(details) \u003e 0)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @attr(type\u003d[\u0027positive\u0027, \u0027gate\u0027])"},{"line_number":67,"context_line":"    def test_get_hypervisor_show_servers(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2F0o4%3D","line":64,"in_reply_to":"AAAAPX%2F%2F12s%3D","updated":"2013-06-08 19:56:36.000000000","message":"Another assertion is added to make sure the key \"hypervisor_hostname\" exists and holds the correct value.","commit_id":"9a64e91e27de51075fcc329ddea41d614bd6e16e"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0387478236834baa849408038a89bfe413f3fbea","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        hypers \u003d self._list_hypervisors()"},{"line_number":70,"context_line":"        hostname \u003d hypers[0][\u0027hypervisor_hostname\u0027]"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        resp, servers \u003d self.client.get_hypervisor_servsers(hostname)"},{"line_number":73,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    @attr(type\u003d[\u0027positive\u0027, \u0027gate\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2F13Y%3D","line":72,"updated":"2013-06-07 19:15:58.000000000","message":"Misspelled servsers...","commit_id":"9a64e91e27de51075fcc329ddea41d614bd6e16e"},{"author":{"_account_id":7116,"name":"Tony Yang","email":"bjyangf@cn.ibm.com","username":"bjyangf"},"change_message_id":"92485ced51ae9a8b65f6d26396abbc65fa106fa4","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        hypers \u003d self._list_hypervisors()"},{"line_number":70,"context_line":"        hostname \u003d hypers[0][\u0027hypervisor_hostname\u0027]"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        resp, servers \u003d self.client.get_hypervisor_servsers(hostname)"},{"line_number":73,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    @attr(type\u003d[\u0027positive\u0027, \u0027gate\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2F1E8%3D","line":72,"in_reply_to":"AAAAPX%2F%2F13Y%3D","updated":"2013-06-08 19:56:36.000000000","message":"Done","commit_id":"9a64e91e27de51075fcc329ddea41d614bd6e16e"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0387478236834baa849408038a89bfe413f3fbea","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        hostname \u003d hypers[0][\u0027hypervisor_hostname\u0027]"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        resp, servers \u003d self.client.get_hypervisor_servsers(hostname)"},{"line_number":73,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    @attr(type\u003d[\u0027positive\u0027, \u0027gate\u0027])"},{"line_number":76,"context_line":"    def test_get_hypervisor_stats(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2F128%3D","line":73,"updated":"2013-06-07 19:15:58.000000000","message":"What exactly are we expecting back in the response, though? We should test more than just whether the call return 200 OK","commit_id":"9a64e91e27de51075fcc329ddea41d614bd6e16e"},{"author":{"_account_id":7116,"name":"Tony Yang","email":"bjyangf@cn.ibm.com","username":"bjyangf"},"change_message_id":"92485ced51ae9a8b65f6d26396abbc65fa106fa4","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        hostname \u003d hypers[0][\u0027hypervisor_hostname\u0027]"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        resp, servers \u003d self.client.get_hypervisor_servsers(hostname)"},{"line_number":73,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    @attr(type\u003d[\u0027positive\u0027, \u0027gate\u0027])"},{"line_number":76,"context_line":"    def test_get_hypervisor_stats(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2F0nM%3D","line":73,"in_reply_to":"AAAAPX%2F%2F128%3D","updated":"2013-06-08 19:56:36.000000000","message":"Assertion added to make sure the response holds something useful.","commit_id":"9a64e91e27de51075fcc329ddea41d614bd6e16e"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0387478236834baa849408038a89bfe413f3fbea","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        # Verify the stats of the all hypervisor"},{"line_number":78,"context_line":"        resp, stats \u003d self.client.get_hypervisor_stats()"},{"line_number":79,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":80,"context_line":"        self.assertTrue(len(stats) \u003e 0)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    @attr(type\u003d[\u0027positive\u0027, \u0027gate\u0027])"},{"line_number":83,"context_line":"    def test_get_hypervisor_uptime(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2F13s%3D","line":80,"updated":"2013-06-07 19:15:58.000000000","message":"I\u0027m not sure how useful this test really is... I mean, the call could return 200 OK, with a body of {\"this\": \"is all junk\"} and it would pass this test...","commit_id":"9a64e91e27de51075fcc329ddea41d614bd6e16e"},{"author":{"_account_id":7116,"name":"Tony Yang","email":"bjyangf@cn.ibm.com","username":"bjyangf"},"change_message_id":"92485ced51ae9a8b65f6d26396abbc65fa106fa4","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        # Verify the stats of the all hypervisor"},{"line_number":78,"context_line":"        resp, stats \u003d self.client.get_hypervisor_stats()"},{"line_number":79,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":80,"context_line":"        self.assertTrue(len(stats) \u003e 0)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    @attr(type\u003d[\u0027positive\u0027, \u0027gate\u0027])"},{"line_number":83,"context_line":"    def test_get_hypervisor_uptime(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2F0nA%3D","line":80,"in_reply_to":"AAAAPX%2F%2F13s%3D","updated":"2013-06-08 19:56:36.000000000","message":"Similar situation as the first one.","commit_id":"9a64e91e27de51075fcc329ddea41d614bd6e16e"}],"tempest/services/compute/json/hypervisor_client.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0387478236834baa849408038a89bfe413f3fbea","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        body \u003d json.loads(body)"},{"line_number":47,"context_line":"        return resp, body[\u0027hypervisor\u0027]"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def get_hypervisor_servsers(self, hyper_name):"},{"line_number":50,"context_line":"        \"\"\"List instances belonging to the specified hypervisor.\"\"\""},{"line_number":51,"context_line":"        resp, body \u003d self.get(\u0027os-hypervisors/%s/servers\u0027 % str(hyper_name))"},{"line_number":52,"context_line":"        body \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2F13o%3D","line":49,"updated":"2013-06-07 19:15:58.000000000","message":"This is mispelled. Should be hypervisor_servers","commit_id":"9a64e91e27de51075fcc329ddea41d614bd6e16e"},{"author":{"_account_id":7116,"name":"Tony Yang","email":"bjyangf@cn.ibm.com","username":"bjyangf"},"change_message_id":"92485ced51ae9a8b65f6d26396abbc65fa106fa4","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        body \u003d json.loads(body)"},{"line_number":47,"context_line":"        return resp, body[\u0027hypervisor\u0027]"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def get_hypervisor_servsers(self, hyper_name):"},{"line_number":50,"context_line":"        \"\"\"List instances belonging to the specified hypervisor.\"\"\""},{"line_number":51,"context_line":"        resp, body \u003d self.get(\u0027os-hypervisors/%s/servers\u0027 % str(hyper_name))"},{"line_number":52,"context_line":"        body \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2F1FA%3D","line":49,"in_reply_to":"AAAAPX%2F%2F13o%3D","updated":"2013-06-08 19:56:36.000000000","message":"Done","commit_id":"9a64e91e27de51075fcc329ddea41d614bd6e16e"}]}
