)]}'
{"tempest/api/compute/servers/test_administrative_password.py":[{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"14c6250d885cc6b94bfdab37032a3da5b9bdf01e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2012 OpenStack Foundation"},{"line_number":4,"context_line":"# All Rights Reserved."},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATH%2F%2Fob8%3D","line":3,"updated":"2013-10-12 03:33:45.000000000","message":"2012?","commit_id":"991d69ddb26eb610982f5a9c0737fcc29c72d350"},{"author":{"_account_id":7282,"name":"Qing Xin Meng","email":"mengqxqx@cn.ibm.com","username":"mengqxqx"},"change_message_id":"e512aa148d8ca1e4f740985626fc65916db47233","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2012 OpenStack Foundation"},{"line_number":4,"context_line":"# All Rights Reserved."},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATH%2F%2FoHs%3D","line":3,"in_reply_to":"AAAATH%2F%2Fob8%3D","updated":"2013-10-12 06:26:44.000000000","message":"Done","commit_id":"991d69ddb26eb610982f5a9c0737fcc29c72d350"},{"author":{"_account_id":7148,"name":"Zhu Zhu","email":"bjzzu.zz@gmail.com","username":"zhuzhubj"},"change_message_id":"4be5fc549c2e42ffd88440597ed632f448e6efa9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2012 OpenStack Foundation"},{"line_number":4,"context_line":"# All Rights Reserved."},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":7,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATH%2F%2FoRg%3D","line":4,"updated":"2013-10-12 05:26:41.000000000","message":"add IBM copyright?","commit_id":"991d69ddb26eb610982f5a9c0737fcc29c72d350"},{"author":{"_account_id":7282,"name":"Qing Xin Meng","email":"mengqxqx@cn.ibm.com","username":"mengqxqx"},"change_message_id":"e512aa148d8ca1e4f740985626fc65916db47233","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2012 OpenStack Foundation"},{"line_number":4,"context_line":"# All Rights Reserved."},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":7,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATH%2F%2FoHw%3D","line":4,"in_reply_to":"AAAATH%2F%2FoRg%3D","updated":"2013-10-12 06:26:44.000000000","message":"Done","commit_id":"991d69ddb26eb610982f5a9c0737fcc29c72d350"},{"author":{"_account_id":7148,"name":"Zhu Zhu","email":"bjzzu.zz@gmail.com","username":"zhuzhubj"},"change_message_id":"4be5fc549c2e42ffd88440597ed632f448e6efa9","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":35,"context_line":"    def test_get_administrative_password(self):"},{"line_number":36,"context_line":"        # The server name should be changed to the the provided value"},{"line_number":37,"context_line":"        resp, server \u003d self.create_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        # Gets the administrative password for the specified server."}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATH%2F%2FoRQ%3D","line":36,"updated":"2013-10-12 05:26:41.000000000","message":"Please correct the comment here. To explain this test method.","commit_id":"991d69ddb26eb610982f5a9c0737fcc29c72d350"},{"author":{"_account_id":7282,"name":"Qing Xin Meng","email":"mengqxqx@cn.ibm.com","username":"mengqxqx"},"change_message_id":"e512aa148d8ca1e4f740985626fc65916db47233","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":35,"context_line":"    def test_get_administrative_password(self):"},{"line_number":36,"context_line":"        # The server name should be changed to the the provided value"},{"line_number":37,"context_line":"        resp, server \u003d self.create_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        # Gets the administrative password for the specified server."}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATH%2F%2FoH4%3D","line":36,"in_reply_to":"AAAATH%2F%2FoRQ%3D","updated":"2013-10-12 06:26:44.000000000","message":"Done","commit_id":"991d69ddb26eb610982f5a9c0737fcc29c72d350"},{"author":{"_account_id":7148,"name":"Zhu Zhu","email":"bjzzu.zz@gmail.com","username":"zhuzhubj"},"change_message_id":"4be5fc549c2e42ffd88440597ed632f448e6efa9","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    def test_get_administrative_password(self):"},{"line_number":36,"context_line":"        # The server name should be changed to the the provided value"},{"line_number":37,"context_line":"        resp, server \u003d self.create_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        # Gets the administrative password for the specified server."},{"line_number":40,"context_line":"        resp, server \u003d self.client.get_administrative_password(server[\u0027id\u0027])"},{"line_number":41,"context_line":"        self.assertEqual(200, resp.status)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATH%2F%2FoRM%3D","line":38,"updated":"2013-10-12 05:26:41.000000000","message":"Also add check to assert the status after server creation.","commit_id":"991d69ddb26eb610982f5a9c0737fcc29c72d350"},{"author":{"_account_id":7282,"name":"Qing Xin Meng","email":"mengqxqx@cn.ibm.com","username":"mengqxqx"},"change_message_id":"e512aa148d8ca1e4f740985626fc65916db47233","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    def test_get_administrative_password(self):"},{"line_number":36,"context_line":"        # The server name should be changed to the the provided value"},{"line_number":37,"context_line":"        resp, server \u003d self.create_server(wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        # Gets the administrative password for the specified server."},{"line_number":40,"context_line":"        resp, server \u003d self.client.get_administrative_password(server[\u0027id\u0027])"},{"line_number":41,"context_line":"        self.assertEqual(200, resp.status)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATH%2F%2FoHk%3D","line":38,"in_reply_to":"AAAATH%2F%2FoRM%3D","updated":"2013-10-12 06:26:44.000000000","message":"For the \u0027wait_until\u003d\u0027ACTIVE\u0027\u0027 used, it\u0027s not needed to check the resp.","commit_id":"991d69ddb26eb610982f5a9c0737fcc29c72d350"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"14c6250d885cc6b94bfdab37032a3da5b9bdf01e","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        # Gets the administrative password for the specified server."},{"line_number":40,"context_line":"        resp, server \u003d self.client.get_administrative_password(server[\u0027id\u0027])"},{"line_number":41,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"class ServerAdminPasswordTestXML(ServerAdminPasswordTestJSON):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATH%2F%2FobQ%3D","line":41,"updated":"2013-10-12 03:33:45.000000000","message":"You have add a new file and new class to test serverAdminPassword. why not create a server with the specify password, and get it to check that we get the right one, and then you can also test the delete action of password. But please check if there are already tests to cover this case, firstly.","commit_id":"991d69ddb26eb610982f5a9c0737fcc29c72d350"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"522b2f986f962e3616e7ad4cbafd996f824be756","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        # Gets the administrative password for the specified server."},{"line_number":40,"context_line":"        resp, server \u003d self.client.get_administrative_password(server[\u0027id\u0027])"},{"line_number":41,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"class ServerAdminPasswordTestXML(ServerAdminPasswordTestJSON):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATH%2F%2Fl3Y%3D","line":41,"in_reply_to":"AAAATH%2F%2FoGw%3D","updated":"2013-10-14 03:53:01.000000000","message":"I think we need check it.","commit_id":"991d69ddb26eb610982f5a9c0737fcc29c72d350"},{"author":{"_account_id":7282,"name":"Qing Xin Meng","email":"mengqxqx@cn.ibm.com","username":"mengqxqx"},"change_message_id":"e512aa148d8ca1e4f740985626fc65916db47233","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        # Gets the administrative password for the specified server."},{"line_number":40,"context_line":"        resp, server \u003d self.client.get_administrative_password(server[\u0027id\u0027])"},{"line_number":41,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"class ServerAdminPasswordTestXML(ServerAdminPasswordTestJSON):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATH%2F%2FoGw%3D","line":41,"in_reply_to":"AAAATH%2F%2FobQ%3D","updated":"2013-10-12 06:26:44.000000000","message":"Working on this, if it\u0027s needed to check this password right or wrong?","commit_id":"991d69ddb26eb610982f5a9c0737fcc29c72d350"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"32faf7ba102594e0d1cf60ee214f430bac208921","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2013 IBM Corp."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FKwY%3D","line":1,"updated":"2013-10-22 04:53:52.000000000","message":"Please add \"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4\" and a blank line on the top","commit_id":"592fc03659e05e8e70bf39b8ebedccff1a567f0f"},{"author":{"_account_id":7282,"name":"Qing Xin Meng","email":"mengqxqx@cn.ibm.com","username":"mengqxqx"},"change_message_id":"d2ce6107b85a4427781b2078af736be9d9076b09","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2013 IBM Corp."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FKv4%3D","line":1,"in_reply_to":"AAAATH%2F%2FKwY%3D","updated":"2013-10-22 05:02:26.000000000","message":"Done","commit_id":"592fc03659e05e8e70bf39b8ebedccff1a567f0f"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"fa644df387e58728919f1fc0cbea7876cf3fe2ed","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        # Gets the administrative password for the specified server."},{"line_number":42,"context_line":"        resp, body \u003d self.client.get_administrative_password(server[\u0027id\u0027])"},{"line_number":43,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        # Check that the user can authenticate with the got password"},{"line_number":46,"context_line":"        if self.run_ssh:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FK8M%3D","line":43,"updated":"2013-10-22 02:29:57.000000000","message":"How about adding the check that body[\u0027password\u0027] is the same as server[\u0027adminPass\u0027]?","commit_id":"592fc03659e05e8e70bf39b8ebedccff1a567f0f"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"4f2619533646f2430f77530ae62e52c689f09a3e","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        # Gets the administrative password for the specified server."},{"line_number":42,"context_line":"        resp, body \u003d self.client.get_administrative_password(server[\u0027id\u0027])"},{"line_number":43,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        # Check that the user can authenticate with the got password"},{"line_number":46,"context_line":"        if self.run_ssh:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FK4Q%3D","line":43,"in_reply_to":"AAAATH%2F%2FK4k%3D","updated":"2013-10-22 03:26:50.000000000","message":"Thanks for your explanation. I see it.\n\nso I think this test is nice already.","commit_id":"592fc03659e05e8e70bf39b8ebedccff1a567f0f"},{"author":{"_account_id":7282,"name":"Qing Xin Meng","email":"mengqxqx@cn.ibm.com","username":"mengqxqx"},"change_message_id":"c7c493a1eb86a46e041e43de8671725517d8c0ae","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        # Gets the administrative password for the specified server."},{"line_number":42,"context_line":"        resp, body \u003d self.client.get_administrative_password(server[\u0027id\u0027])"},{"line_number":43,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        # Check that the user can authenticate with the got password"},{"line_number":46,"context_line":"        if self.run_ssh:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FK4k%3D","line":43,"in_reply_to":"AAAATH%2F%2FK4w%3D","updated":"2013-10-22 03:22:52.000000000","message":"Got.\nThe password is encrypted like below, seems can not use assertEqual method.\n---\n{\n    \"password\": \"xlozO3wLCBRWAa2...\"\n}\n---","commit_id":"592fc03659e05e8e70bf39b8ebedccff1a567f0f"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"3c087318164c20891269882a7537c22fd89bf12f","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        # Gets the administrative password for the specified server."},{"line_number":42,"context_line":"        resp, body \u003d self.client.get_administrative_password(server[\u0027id\u0027])"},{"line_number":43,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        # Check that the user can authenticate with the got password"},{"line_number":46,"context_line":"        if self.run_ssh:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FK4w%3D","line":43,"in_reply_to":"AAAATH%2F%2FK5E%3D","updated":"2013-10-22 03:15:33.000000000","message":"server[\u0027adminPass\u0027], which is gotten at line37, is different from body[\u0027password\u0027] which is gotten at line42 ?","commit_id":"592fc03659e05e8e70bf39b8ebedccff1a567f0f"},{"author":{"_account_id":7282,"name":"Qing Xin Meng","email":"mengqxqx@cn.ibm.com","username":"mengqxqx"},"change_message_id":"985c71357fa55e8b47897276b8795981c2e9bb3e","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        # Gets the administrative password for the specified server."},{"line_number":42,"context_line":"        resp, body \u003d self.client.get_administrative_password(server[\u0027id\u0027])"},{"line_number":43,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        # Check that the user can authenticate with the got password"},{"line_number":46,"context_line":"        if self.run_ssh:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FK5E%3D","line":43,"in_reply_to":"AAAATH%2F%2FK8M%3D","updated":"2013-10-22 03:12:07.000000000","message":"The body returned from get_administrative_password method has only one key \u0027password\u0027.","commit_id":"592fc03659e05e8e70bf39b8ebedccff1a567f0f"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"1f1a358f2982149ad87478ccc920832b8ffb6fe7","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        super(ServerAdminPasswordTestJSON, cls).setUpClass()"},{"line_number":31,"context_line":"        cls.client \u003d cls.servers_client"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def tearDown(self):"},{"line_number":34,"context_line":"        self.clear_servers()"},{"line_number":35,"context_line":"        super(ServerAdminPasswordTestJSON, self).tearDown()"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATH%2F%2FIMI%3D","line":33,"updated":"2013-10-22 19:27:22.000000000","message":"You don\u0027t need this teardown here. This would only be a requirement if you had more than one test in this class and, based on the contents here, you had to clean up all the servers created before running the next test.","commit_id":"50d8ed1b2832070ffdb712e54413ea57dc2af56e"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"1f1a358f2982149ad87478ccc920832b8ffb6fe7","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":38,"context_line":"    def test_get_administrative_password(self):"},{"line_number":39,"context_line":"        resp, server \u003d self.create_server(adminPass\u003d\u0027testpassword\u0027,"},{"line_number":40,"context_line":"                                          wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":41,"context_line":"        self.assertEqual(\u0027testpassword\u0027, server[\u0027adminPass\u0027])"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        # Gets the administrative password for the specified server."}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATH%2F%2FILc%3D","line":40,"updated":"2013-10-22 19:27:22.000000000","message":"You should probably add a status code response check here too. It\u0027s not explicitly needed but I think it would be good.","commit_id":"50d8ed1b2832070ffdb712e54413ea57dc2af56e"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"1f1a358f2982149ad87478ccc920832b8ffb6fe7","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        self.assertEqual(\u0027testpassword\u0027, server[\u0027adminPass\u0027])"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        # Gets the administrative password for the specified server."},{"line_number":44,"context_line":"        resp, body \u003d self.client.get_administrative_password(server[\u0027id\u0027])"},{"line_number":45,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        # Check that the user can authenticate with the got password"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATH%2F%2FILE%3D","line":44,"updated":"2013-10-22 19:27:22.000000000","message":"Is there a reason that you\u0027re not checking if the body contains the right password?","commit_id":"50d8ed1b2832070ffdb712e54413ea57dc2af56e"}]}
