)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"c77923bfab49a1e0e2bee5496d8efa02cf24476d","unresolved":false,"context_lines":[{"line_number":15,"context_line":"image list according to sort_key and sort_dir parameters."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I0f43ce2c5e5223ba876d162100db37588dae2ea2"},{"line_number":18,"context_line":"Blueprint: testcases-expansion-icehouse"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"5adbc538_99e218d4","line":18,"updated":"2014-05-26 16:09:09.000000000","message":"This \"blueprint\" line is not clear. Have you implemented blueprint completely or not? In addition, \"Change-Id\" should be at the very end of the message.\n\nFor example,\n\n    Added testcase for glance\n\n    1. list image with name\t\n    2. list image with owner\t\n    3. list image with sort_key\t\n    4. list image with sort_dir\t\n\n    Added _sort_list_by_param_value_and_assert() to verify sorted \n    image list according to sort_key and sort_dir parameters.\t\n\n    Implements: blueprint testcases-expansion-icehouse\n\n    Change-Id: I0f43ce2c5e5223ba876d162100db37588dae2ea2\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages","commit_id":"194c914905479b285a0ad460fb6fc719c1f963d8"}],"tempest/api/image/v2/test_images.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"84a3917bac126e5d8fd4559923120d46ed916dbd","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        actual_list \u003d map(lambda x: x[params[\u0027sort_key\u0027]], images_list)"},{"line_number":200,"context_line":"        # By default sort_dir is set to desc in image list api,"},{"line_number":201,"context_line":"        # so reversing the list to match with sorted list"},{"line_number":202,"context_line":"        actual_list.sort(reverse\u003dTrue)"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        sorted_list \u003d map(lambda x: x[params[\u0027sort_key\u0027]], images_sorted_list)"},{"line_number":205,"context_line":"        self.assertEqual(sorted_list, actual_list)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2BiRo%3D","line":202,"updated":"2014-03-26 04:24:16.000000000","message":"How it will work for \"test_list_images_param_sort_dir\"?","commit_id":"123f5cc42d56244c1e8de1d7d3357d3ac4d86af3"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"unresolved":false,"context_lines":[{"line_number":199,"context_line":"        actual_list \u003d map(lambda x: x[params[\u0027sort_key\u0027]], images_list)"},{"line_number":200,"context_line":"        # By default sort_dir is set to desc in image list api,"},{"line_number":201,"context_line":"        # so reversing the list to match with sorted list"},{"line_number":202,"context_line":"        actual_list.sort(reverse\u003dTrue)"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        sorted_list \u003d map(lambda x: x[params[\u0027sort_key\u0027]], images_sorted_list)"},{"line_number":205,"context_line":"        self.assertEqual(sorted_list, actual_list)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2BaNI%3D","line":202,"in_reply_to":"AAAAWH%2F%2BfPc%3D","updated":"2014-03-27 00:36:28.000000000","message":"Ok, Got it. Thanks.","commit_id":"123f5cc42d56244c1e8de1d7d3357d3ac4d86af3"},{"author":{"_account_id":10300,"name":"Pranali Deore","email":"pranalideore@gmail.com","username":"PranaliDeore"},"change_message_id":"326d133db13550d93c8529af5214eb87cfd887e8","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        actual_list \u003d map(lambda x: x[params[\u0027sort_key\u0027]], images_list)"},{"line_number":200,"context_line":"        # By default sort_dir is set to desc in image list api,"},{"line_number":201,"context_line":"        # so reversing the list to match with sorted list"},{"line_number":202,"context_line":"        actual_list.sort(reverse\u003dTrue)"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        sorted_list \u003d map(lambda x: x[params[\u0027sort_key\u0027]], images_sorted_list)"},{"line_number":205,"context_line":"        self.assertEqual(sorted_list, actual_list)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2BfPc%3D","line":202,"in_reply_to":"AAAAWH%2F%2BiRo%3D","updated":"2014-03-26 13:31:42.000000000","message":"By default sort_dir is set to desc in image list api and by default the list gets sorted by name. So, it works for sort_dir","commit_id":"123f5cc42d56244c1e8de1d7d3357d3ac4d86af3"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"84a3917bac126e5d8fd4559923120d46ed916dbd","unresolved":false,"context_lines":[{"line_number":281,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":282,"context_line":"    def test_list_images_param_name(self):"},{"line_number":283,"context_line":"        # Test to get all images by name"},{"line_number":284,"context_line":"        resp, image \u003d self.client.get_image(self.created_images[1])"},{"line_number":285,"context_line":"        self.assertEqual(resp[\u0027status\u0027], \u0027200\u0027)"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"        params \u003d {\"name\": image[\u0027name\u0027]}"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2BiWo%3D","line":284,"updated":"2014-03-26 04:24:16.000000000","message":"get_image is not needed here, _list_by_param_value_and_assert will do everything for you.","commit_id":"123f5cc42d56244c1e8de1d7d3357d3ac4d86af3"},{"author":{"_account_id":10300,"name":"Pranali Deore","email":"pranalideore@gmail.com","username":"PranaliDeore"},"change_message_id":"326d133db13550d93c8529af5214eb87cfd887e8","unresolved":false,"context_lines":[{"line_number":281,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":282,"context_line":"    def test_list_images_param_name(self):"},{"line_number":283,"context_line":"        # Test to get all images by name"},{"line_number":284,"context_line":"        resp, image \u003d self.client.get_image(self.created_images[1])"},{"line_number":285,"context_line":"        self.assertEqual(resp[\u0027status\u0027], \u0027200\u0027)"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"        params \u003d {\"name\": image[\u0027name\u0027]}"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2BfMg%3D","line":284,"in_reply_to":"AAAAWH%2F%2BiWo%3D","updated":"2014-03-26 13:31:42.000000000","message":"IMO, hard-coding the image name is not a proper way, so I have created new image and passed its name as parameter to list api call.","commit_id":"123f5cc42d56244c1e8de1d7d3357d3ac4d86af3"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"unresolved":false,"context_lines":[{"line_number":282,"context_line":"    def test_list_images_param_name(self):"},{"line_number":283,"context_line":"        # Test to get all images by name"},{"line_number":284,"context_line":"        resp, image \u003d self.client.get_image(self.created_images[1])"},{"line_number":285,"context_line":"        self.assertEqual(resp[\u0027status\u0027], \u0027200\u0027)"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"        params \u003d {\"name\": image[\u0027name\u0027]}"},{"line_number":288,"context_line":"        self._list_by_param_value_and_assert(params)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2BaM8%3D","line":285,"updated":"2014-03-27 00:36:28.000000000","message":"Yes, Thats good.\n\nPlease reverse the assertEqual order.","commit_id":"123f5cc42d56244c1e8de1d7d3357d3ac4d86af3"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"84a3917bac126e5d8fd4559923120d46ed916dbd","unresolved":false,"context_lines":[{"line_number":290,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":291,"context_line":"    def test_list_images_param_owner(self):"},{"line_number":292,"context_line":"        # Test to get all images by owner"},{"line_number":293,"context_line":"        resp, image \u003d self.client.get_image(self.created_images[1])"},{"line_number":294,"context_line":"        self.assertEqual(resp[\u0027status\u0027], \u0027200\u0027)"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"        params \u003d {\"owner\": image[\u0027owner\u0027]}"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2BiWg%3D","line":293,"updated":"2014-03-26 04:24:16.000000000","message":"same as above","commit_id":"123f5cc42d56244c1e8de1d7d3357d3ac4d86af3"},{"author":{"_account_id":10300,"name":"Pranali Deore","email":"pranalideore@gmail.com","username":"PranaliDeore"},"change_message_id":"326d133db13550d93c8529af5214eb87cfd887e8","unresolved":false,"context_lines":[{"line_number":290,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":291,"context_line":"    def test_list_images_param_owner(self):"},{"line_number":292,"context_line":"        # Test to get all images by owner"},{"line_number":293,"context_line":"        resp, image \u003d self.client.get_image(self.created_images[1])"},{"line_number":294,"context_line":"        self.assertEqual(resp[\u0027status\u0027], \u0027200\u0027)"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"        params \u003d {\"owner\": image[\u0027owner\u0027]}"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2BfMQ%3D","line":293,"in_reply_to":"AAAAWH%2F%2BiWg%3D","updated":"2014-03-26 13:31:42.000000000","message":"IMO, hard-coding the image owner is not a proper way, so I have created new image and passed its owner as parameter to list api call.","commit_id":"123f5cc42d56244c1e8de1d7d3357d3ac4d86af3"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"unresolved":false,"context_lines":[{"line_number":291,"context_line":"    def test_list_images_param_owner(self):"},{"line_number":292,"context_line":"        # Test to get all images by owner"},{"line_number":293,"context_line":"        resp, image \u003d self.client.get_image(self.created_images[1])"},{"line_number":294,"context_line":"        self.assertEqual(resp[\u0027status\u0027], \u0027200\u0027)"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"        params \u003d {\"owner\": image[\u0027owner\u0027]}"},{"line_number":297,"context_line":"        self._list_by_param_value_and_assert(params)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2BaMs%3D","line":294,"updated":"2014-03-27 00:36:28.000000000","message":"ditto. \nPlease reverse the assertEqual order.","commit_id":"123f5cc42d56244c1e8de1d7d3357d3ac4d86af3"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"unresolved":false,"context_lines":[{"line_number":308,"context_line":"        self._list_by_param_value_and_assert(params)"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":311,"context_line":"    def test_list_images_param_sort_dir(self):"},{"line_number":312,"context_line":"        \"\"\""},{"line_number":313,"context_line":"           Test to get sorted image list by sort dir value"},{"line_number":314,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2BNBA%3D","line":311,"updated":"2014-03-28 13:00:06.000000000","message":"I do not believe you can use _list_by_param_value_and_assert because it sets sort_order \u003d {\u0027asc\u0027: False, \u0027desc\u0027: True}, no matter what params are given.","commit_id":"17b05a6bf0304121e2c437122b8572fac5ecd5e7"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"unresolved":false,"context_lines":[{"line_number":324,"context_line":"           Test to get sorted image list by sort key value"},{"line_number":325,"context_line":"        \"\"\""},{"line_number":326,"context_line":"        # Test to get sorted image list by sort_key \u003d name"},{"line_number":327,"context_line":"        params \u003d {\"sort_key\": \"name\"}"},{"line_number":328,"context_line":"        self._sort_list_by_param_value_and_assert(params)"},{"line_number":329,"context_line":"        # Test to get sorted image list by sort_key \u003d status"},{"line_number":330,"context_line":"        params \u003d {\"sort_key\": \"status\"}"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAXH%2F%2Fy8g%3D","line":327,"updated":"2014-04-17 12:02:29.000000000","message":"Is not it better to make this checks like this?\n\n    params \u003d [\u0027name\u0027, \u0027status\u0027, \u0027container_format\u0027, \u0027disk_format\u0027, \u0027size\u0027, \u0027created_at\u0027, \u0027updated_at\u0027]\n    for parameter in params:\n         self._sort_list_by_param_value_and_assert({\"sort_key\": parameter})","commit_id":"7f59322de4d56c9c922cf41bb8d19ac23d0ffe4b"},{"author":{"_account_id":10300,"name":"Pranali Deore","email":"pranalideore@gmail.com","username":"PranaliDeore"},"change_message_id":"326d133db13550d93c8529af5214eb87cfd887e8","unresolved":false,"context_lines":[{"line_number":324,"context_line":"           Test to get sorted image list by sort key value"},{"line_number":325,"context_line":"        \"\"\""},{"line_number":326,"context_line":"        # Test to get sorted image list by sort_key \u003d name"},{"line_number":327,"context_line":"        params \u003d {\"sort_key\": \"name\"}"},{"line_number":328,"context_line":"        self._sort_list_by_param_value_and_assert(params)"},{"line_number":329,"context_line":"        # Test to get sorted image list by sort_key \u003d status"},{"line_number":330,"context_line":"        params \u003d {\"sort_key\": \"status\"}"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAXH%2F%2FYoQ%3D","line":327,"in_reply_to":"AAAAXH%2F%2Fy8g%3D","updated":"2014-04-22 06:59:01.000000000","message":"Done","commit_id":"7f59322de4d56c9c922cf41bb8d19ac23d0ffe4b"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"34e51ee3a3fc5b58367f731501846c2b1e10c4f4","unresolved":false,"context_lines":[{"line_number":351,"context_line":"        # Test to get sorted image list by sort_key \u003d updated_at"},{"line_number":352,"context_line":"        params \u003d {\"sort_key\": \"updated_at\"}"},{"line_number":353,"context_line":"        self._sort_list_by_param_value_and_assert(params)"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":356,"context_line":"    def test_get_image_schema(self):"},{"line_number":357,"context_line":"        # Test to get image schema"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa98f980_9cf60d5c","line":354,"updated":"2014-09-11 07:20:08.000000000","message":"Hi , \nIMO you have to add tests one by one and not large single commit .\nPlease add single test first , small and once it approved we can continue.\nNot sure its a good idea to add logs here , we should be aligned to all api tests .\n\nBenny","commit_id":"194c914905479b285a0ad460fb6fc719c1f963d8"}]}
