)]}'
{"tempest/api/volume/admin/test_volume_types.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"4b2d795ac4e21ea78dbe003982fc3306a9e0a8b1","unresolved":false,"context_lines":[{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    def _delete_test_encryption_type(self, vol_type_id):"},{"line_number":146,"context_line":"        resp, _ \u003d self.client.delete_encryption_types(vol_type_id)"},{"line_number":147,"context_line":"        self.assertEqual(202, resp.status)"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    def _get_test_encryption_type(self, vol_type_id):"},{"line_number":150,"context_line":"        resp, fetched_encryption_type \u003d self.client.get_encryption_type("}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXH%2F%2FsLA%3D","line":147,"updated":"2014-04-18 07:34:46.000000000","message":"Verify whether it is not present while get_encryption_type. Needed a wait loop method as status code is 202.","commit_id":"4d5d12042d9a40a9b7c70bd8bbd8e62edb1988b7"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"622378d97773b2fde290e6c71a894c0926638de3","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        # Delete encryption type"},{"line_number":157,"context_line":"        resp, _ \u003d self.client.delete_encryption_type("},{"line_number":158,"context_line":"            encryption_type[\u0027volume_type_id\u0027])"},{"line_number":159,"context_line":"        self.assertEqual(202, resp.status)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAXX%2F%2FzBs%3D","line":159,"updated":"2014-04-27 05:37:17.000000000","message":"After 202 response a deletion should be waited and verified by GET  --\u003e 404 not found.","commit_id":"f06cc974bc82529196d215143639fbf5595fa5d0"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"64f420badb799e6df10286f684ee4784c7a7fa1c","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        # Delete encryption type"},{"line_number":157,"context_line":"        resp, _ \u003d self.client.delete_encryption_type("},{"line_number":158,"context_line":"            encryption_type[\u0027volume_type_id\u0027])"},{"line_number":159,"context_line":"        self.assertEqual(202, resp.status)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAXX%2F%2FxOA%3D","line":159,"in_reply_to":"AAAAXX%2F%2FzBs%3D","updated":"2014-04-28 04:56:26.000000000","message":"Done","commit_id":"f06cc974bc82529196d215143639fbf5595fa5d0"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fcf18f95a614160c0fe08374ed1c375d902be4f7","unresolved":false,"context_lines":[{"line_number":159,"context_line":"        self.assertEqual(202, resp.status)"},{"line_number":160,"context_line":"        resp, deleted_encryption_type \u003d self.client.get_encryption_type("},{"line_number":161,"context_line":"            encryption_type[\u0027volume_type_id\u0027])"},{"line_number":162,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":163,"context_line":"        self.assertEmpty(deleted_encryption_type)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAXX%2F%2FwPA%3D","line":162,"updated":"2014-04-28 08:26:40.000000000","message":"Would not it not found?\n\nAs afazekas also mentioned, we should wait for deletion complete (as its response is 202)","commit_id":"bd5c504d40c90432a048698208ac3d73a8b2cd59"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"33a6be67933ee7e64fd77a9ea0583d70be2a1236","unresolved":false,"context_lines":[{"line_number":159,"context_line":"        self.assertEqual(202, resp.status)"},{"line_number":160,"context_line":"        resp, deleted_encryption_type \u003d self.client.get_encryption_type("},{"line_number":161,"context_line":"            encryption_type[\u0027volume_type_id\u0027])"},{"line_number":162,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":163,"context_line":"        self.assertEmpty(deleted_encryption_type)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAXX%2F%2FvX8%3D","line":162,"in_reply_to":"AAAAXX%2F%2FwJw%3D","updated":"2014-04-28 10:42:17.000000000","message":"I will do that in next patch. Thanks","commit_id":"bd5c504d40c90432a048698208ac3d73a8b2cd59"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"33a6be67933ee7e64fd77a9ea0583d70be2a1236","unresolved":false,"context_lines":[{"line_number":159,"context_line":"        self.assertEqual(202, resp.status)"},{"line_number":160,"context_line":"        resp, deleted_encryption_type \u003d self.client.get_encryption_type("},{"line_number":161,"context_line":"            encryption_type[\u0027volume_type_id\u0027])"},{"line_number":162,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":163,"context_line":"        self.assertEmpty(deleted_encryption_type)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAXX%2F%2FvbM%3D","line":162,"in_reply_to":"AAAAXX%2F%2FwPA%3D","updated":"2014-04-28 10:42:17.000000000","message":"It never returns NotFound as it returns a list of all encryption associated with specified volume-type.","commit_id":"bd5c504d40c90432a048698208ac3d73a8b2cd59"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8b2de1b3da438452ee330ccb30f61a2da5421bbc","unresolved":false,"context_lines":[{"line_number":159,"context_line":"        self.assertEqual(202, resp.status)"},{"line_number":160,"context_line":"        resp, deleted_encryption_type \u003d self.client.get_encryption_type("},{"line_number":161,"context_line":"            encryption_type[\u0027volume_type_id\u0027])"},{"line_number":162,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":163,"context_line":"        self.assertEmpty(deleted_encryption_type)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAXX%2F%2FwJw%3D","line":162,"in_reply_to":"AAAAXX%2F%2FwPA%3D","updated":"2014-04-28 08:35:36.000000000","message":"Use base class (rest_client)-\u003ewait_for_resource_deletion() and override the is_resource_deleted() method in volume_types_client.py (on the same line as volume_client does.)","commit_id":"bd5c504d40c90432a048698208ac3d73a8b2cd59"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"747525977ae3f36b88a893b6daad4684c3225921","unresolved":false,"context_lines":[{"line_number":158,"context_line":"            encryption_type[\u0027volume_type_id\u0027])"},{"line_number":159,"context_line":"        self.assertEqual(202, resp.status)"},{"line_number":160,"context_line":"        self.client.resource \u003d \"encryption-type\""},{"line_number":161,"context_line":"        self.client.wait_for_resource_deletion("},{"line_number":162,"context_line":"            encryption_type[\u0027volume_type_id\u0027])"},{"line_number":163,"context_line":"        resp, deleted_encryption_type \u003d self.client.get_encryption_type("},{"line_number":164,"context_line":"            encryption_type[\u0027volume_type_id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"9ad9bd40_3abed165","line":161,"updated":"2014-05-06 17:46:52.000000000","message":"As suggested by the other comment, the argument could be:\n\n{\"id\": encryption_type[\u0027volume_type_id\u0027], \"resource\": \"encryption-type\"}","commit_id":"582a382b2f73078ecc268489ac03d2a182d325cf"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"ee7f1c234402e1cbbd9b9df95f3efe2b4b21a6e6","unresolved":false,"context_lines":[{"line_number":158,"context_line":"            encryption_type[\u0027volume_type_id\u0027])"},{"line_number":159,"context_line":"        self.assertEqual(202, resp.status)"},{"line_number":160,"context_line":"        self.client.resource \u003d \"encryption-type\""},{"line_number":161,"context_line":"        self.client.wait_for_resource_deletion("},{"line_number":162,"context_line":"            encryption_type[\u0027volume_type_id\u0027])"},{"line_number":163,"context_line":"        resp, deleted_encryption_type \u003d self.client.get_encryption_type("},{"line_number":164,"context_line":"            encryption_type[\u0027volume_type_id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"7adec928_9f3e65b7","line":161,"in_reply_to":"9ad9bd40_3abed165","updated":"2014-05-09 04:40:13.000000000","message":"Done","commit_id":"582a382b2f73078ecc268489ac03d2a182d325cf"}],"tempest/services/volume/json/admin/volume_types_client.py":[{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"620107be01e4913e3940c8085aca645735e6641c","unresolved":false,"context_lines":[{"line_number":151,"context_line":"        body \u003d json.loads(body)"},{"line_number":152,"context_line":"        return resp, body[\u0027encryption\u0027]"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    def list_encryption_types(self):"},{"line_number":155,"context_line":"        \"\"\"List the encryption types for all volume-types.\"\"\""},{"line_number":156,"context_line":"        encryption_types \u003d []"},{"line_number":157,"context_line":"        _, volume_types \u003d self.list_volume_types()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXH%2F%2Fz%2BM%3D","line":154,"updated":"2014-04-17 09:09:01.000000000","message":"this is not a function that tests specific api. IMO, it should be put in test file test_volume_types.py.","commit_id":"4d5d12042d9a40a9b7c70bd8bbd8e62edb1988b7"},{"author":{"_account_id":8205,"name":"Mh Raies","email":"raiesmh08@gmail.com","username":"raiesmh08"},"change_message_id":"d9336cd90dbb359db591a0a3fd2c59b39f769ae3","unresolved":false,"context_lines":[{"line_number":151,"context_line":"        body \u003d json.loads(body)"},{"line_number":152,"context_line":"        return resp, body[\u0027encryption\u0027]"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    def list_encryption_types(self):"},{"line_number":155,"context_line":"        \"\"\"List the encryption types for all volume-types.\"\"\""},{"line_number":156,"context_line":"        encryption_types \u003d []"},{"line_number":157,"context_line":"        _, volume_types \u003d self.list_volume_types()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXH%2F%2FzDA%3D","line":154,"in_reply_to":"AAAAXH%2F%2Fz%2BM%3D","updated":"2014-04-17 11:41:00.000000000","message":"Change it to \"test_list_encryption_types\"","commit_id":"4d5d12042d9a40a9b7c70bd8bbd8e62edb1988b7"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"620107be01e4913e3940c8085aca645735e6641c","unresolved":false,"context_lines":[{"line_number":160,"context_line":"            encryption_types.append(encryption_type)"},{"line_number":161,"context_line":"        return resp, encryption_types"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    def delete_encryption_types(self, vol_type_id):"},{"line_number":164,"context_line":"        \"\"\"Delete the encryption type for the specified volume-type.\"\"\""},{"line_number":165,"context_line":"        return self.delete(\"/types/%s/encryption/provider\" % str(vol_type_id))"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXH%2F%2F0Us%3D","line":163,"updated":"2014-04-17 09:09:01.000000000","message":"delete_encryption_types  -\u003e delete_encryption_type","commit_id":"4d5d12042d9a40a9b7c70bd8bbd8e62edb1988b7"},{"author":{"_account_id":8205,"name":"Mh Raies","email":"raiesmh08@gmail.com","username":"raiesmh08"},"change_message_id":"d9336cd90dbb359db591a0a3fd2c59b39f769ae3","unresolved":false,"context_lines":[{"line_number":160,"context_line":"            encryption_types.append(encryption_type)"},{"line_number":161,"context_line":"        return resp, encryption_types"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    def delete_encryption_types(self, vol_type_id):"},{"line_number":164,"context_line":"        \"\"\"Delete the encryption type for the specified volume-type.\"\"\""},{"line_number":165,"context_line":"        return self.delete(\"/types/%s/encryption/provider\" % str(vol_type_id))"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXH%2F%2FzC8%3D","line":163,"in_reply_to":"AAAAXH%2F%2F0Us%3D","updated":"2014-04-17 11:41:00.000000000","message":"change it to \"delete_encryption_types\"","commit_id":"4d5d12042d9a40a9b7c70bd8bbd8e62edb1988b7"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"747525977ae3f36b88a893b6daad4684c3225921","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        # self.resource \u003d \u0027volume-type\u0027 / \u0027encryption-type\u0027"},{"line_number":39,"context_line":"        self.resource \u003d None"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def is_resource_deleted(self, resource_id):"},{"line_number":42,"context_line":"        # to use this method self.resource must be defined to respective value"},{"line_number":43,"context_line":"        try:"},{"line_number":44,"context_line":"            if self.resource \u003d\u003d \"volume-type\":"}],"source_content_type":"text/x-python","patch_set":4,"id":"9ad9bd40_5a9c750f","line":41,"updated":"2014-05-06 17:46:52.000000000","message":"It is not a good idea to have a method that requires callers to set some value in the class of the method that is being called before making the method call. It would be better to make the \"resource_id\", which is opaque to wait_for_resource_deletion, be a dict containing the id and the \"resource value\".\n\nAnother alternative is to \"override\" wait_for_resource_deletion and give it an extra argument. That is what the network client does for a similar reason.","commit_id":"582a382b2f73078ecc268489ac03d2a182d325cf"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"ee7f1c234402e1cbbd9b9df95f3efe2b4b21a6e6","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        # self.resource \u003d \u0027volume-type\u0027 / \u0027encryption-type\u0027"},{"line_number":39,"context_line":"        self.resource \u003d None"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def is_resource_deleted(self, resource_id):"},{"line_number":42,"context_line":"        # to use this method self.resource must be defined to respective value"},{"line_number":43,"context_line":"        try:"},{"line_number":44,"context_line":"            if self.resource \u003d\u003d \"volume-type\":"}],"source_content_type":"text/x-python","patch_set":4,"id":"7adec928_bf4b2158","line":41,"in_reply_to":"9ad9bd40_5a9c750f","updated":"2014-05-09 04:40:13.000000000","message":"Done","commit_id":"582a382b2f73078ecc268489ac03d2a182d325cf"}]}
