)]}'
{"tempest/api/object_storage/test_object_temp_url.py":[{"author":{"_account_id":6889,"name":"Fabien Boucher","email":"fboucher@redhat.com","username":"fabien-boucher"},"change_message_id":"c112b83e6f8d370865c718d5ca4c2e38ae1d0d9b","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        cls.data.setup_test_user()"},{"line_number":36,"context_line":"        resp, body \u003d cls.token_client.auth(cls.data.test_user,"},{"line_number":37,"context_line":"                                           cls.data.test_password,"},{"line_number":38,"context_line":"                                           cls.data.test_tenant)"},{"line_number":39,"context_line":"        cls.new_token \u003d cls.token_client.get_token(cls.data.test_user,"},{"line_number":40,"context_line":"                                                   cls.data.test_password,"},{"line_number":41,"context_line":"                                                   cls.data.test_tenant)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAASn%2F%2FyoI%3D","line":38,"updated":"2013-08-29 15:11:47.000000000","message":"I don\u0027t understand why are you calling the auth. I think it\u0027s useless. Furthermore resp and body are never used.","commit_id":"5ccd207a3f6ce40e061fc39578b420a116efba51"},{"author":{"_account_id":7020,"name":"Joe Hakim Rahme","email":"jhakimra@redhat.com","username":"rahmu"},"change_message_id":"49941eeb14a1439d041b5e4b02ce1a75c7c06c5c","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        cls.data.setup_test_user()"},{"line_number":36,"context_line":"        resp, body \u003d cls.token_client.auth(cls.data.test_user,"},{"line_number":37,"context_line":"                                           cls.data.test_password,"},{"line_number":38,"context_line":"                                           cls.data.test_tenant)"},{"line_number":39,"context_line":"        cls.new_token \u003d cls.token_client.get_token(cls.data.test_user,"},{"line_number":40,"context_line":"                                                   cls.data.test_password,"},{"line_number":41,"context_line":"                                                   cls.data.test_tenant)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAASn%2F%2FykY%3D","line":38,"in_reply_to":"AAAASn%2F%2FyoI%3D","updated":"2013-08-29 15:22:02.000000000","message":"Blind copy/paste from an old piece of code. Thanks for the catch :)","commit_id":"5ccd207a3f6ce40e061fc39578b420a116efba51"},{"author":{"_account_id":6847,"name":"Martina Kollarova","email":"mkollaro@gmail.com","username":"mkollaro"},"change_message_id":"e704a220fd7155e5097bfdc607873d1fd9686334","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        self.metadata \u003d {\u0027Temp-URL-Key\u0027: self.key}"},{"line_number":48,"context_line":"        self.account_client.create_account_metadata(metadata\u003dself.metadata)"},{"line_number":49,"context_line":"        self.account_client_metadata, _ \u003d \\"},{"line_number":50,"context_line":"            self.account_client.list_account_metadata()"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def tearDown(self):"},{"line_number":53,"context_line":"        resp, _ \u003d self.account_client.delete_account_metadata("}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2FnY8%3D","line":50,"updated":"2013-09-02 13:09:10.000000000","message":"Minor nitpick: put this into setUpClass, there is no need to set it and then remove it after each test.","commit_id":"f004d753ce3368fe03f5c319ca76e643cba80e45"},{"author":{"_account_id":7020,"name":"Joe Hakim Rahme","email":"jhakimra@redhat.com","username":"rahmu"},"change_message_id":"c83bf48745b41ef2c48cfa3f91742285ca6180d4","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        self.metadata \u003d {\u0027Temp-URL-Key\u0027: self.key}"},{"line_number":48,"context_line":"        self.account_client.create_account_metadata(metadata\u003dself.metadata)"},{"line_number":49,"context_line":"        self.account_client_metadata, _ \u003d \\"},{"line_number":50,"context_line":"            self.account_client.list_account_metadata()"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def tearDown(self):"},{"line_number":53,"context_line":"        resp, _ \u003d self.account_client.delete_account_metadata("}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2FkJ0%3D","line":50,"in_reply_to":"AAAASn%2F%2FnY8%3D","updated":"2013-09-03 13:42:41.000000000","message":"Done","commit_id":"f004d753ce3368fe03f5c319ca76e643cba80e45"},{"author":{"_account_id":6847,"name":"Martina Kollarova","email":"mkollaro@gmail.com","username":"mkollaro"},"change_message_id":"e704a220fd7155e5097bfdc607873d1fd9686334","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        # make sure the metadata has been set"},{"line_number":61,"context_line":"        self.assertIn(\u0027x-account-meta-temp-url-key\u0027,"},{"line_number":62,"context_line":"                      self.account_client_metadata)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        self.assertEqual("},{"line_number":65,"context_line":"            self.account_client_metadata[\u0027x-account-meta-temp-url-key\u0027],"},{"line_number":66,"context_line":"            self.key)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2FnZY%3D","line":63,"updated":"2013-09-02 13:09:10.000000000","message":"Put this into setup, no need to repeat it in every test (it will also be easier to debug, since it will show there is a setup error and not a test failure).","commit_id":"f004d753ce3368fe03f5c319ca76e643cba80e45"},{"author":{"_account_id":7020,"name":"Joe Hakim Rahme","email":"jhakimra@redhat.com","username":"rahmu"},"change_message_id":"c83bf48745b41ef2c48cfa3f91742285ca6180d4","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        # make sure the metadata has been set"},{"line_number":61,"context_line":"        self.assertIn(\u0027x-account-meta-temp-url-key\u0027,"},{"line_number":62,"context_line":"                      self.account_client_metadata)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        self.assertEqual("},{"line_number":65,"context_line":"            self.account_client_metadata[\u0027x-account-meta-temp-url-key\u0027],"},{"line_number":66,"context_line":"            self.key)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2FkJg%3D","line":63,"in_reply_to":"AAAASn%2F%2FnZY%3D","updated":"2013-09-03 13:42:41.000000000","message":"I couldn\u0027t put it in setUpClass because I couldn\u0027t find cls.assertIn(). So I put it in setUp().","commit_id":"f004d753ce3368fe03f5c319ca76e643cba80e45"},{"author":{"_account_id":6847,"name":"Martina Kollarova","email":"mkollaro@gmail.com","username":"mkollaro"},"change_message_id":"e704a220fd7155e5097bfdc607873d1fd9686334","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                                base_text\u003dobject_name)"},{"line_number":72,"context_line":"        self.object_client.create_object(self.container_name,"},{"line_number":73,"context_line":"                                         object_name, data)"},{"line_number":74,"context_line":"        expires \u003d int(time.time() + 10)"},{"line_number":75,"context_line":"        # trying to get object using temp url within expiry time"},{"line_number":76,"context_line":"        _, body, url \u003d self.object_client.get_object_using_temp_url("},{"line_number":77,"context_line":"            self.container_name, object_name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2FnX8%3D","line":74,"updated":"2013-09-02 13:09:10.000000000","message":"Minor nitpick: how about using a constant:\n\n  EXPIRATION_TIME \u003d 10 # seconds","commit_id":"f004d753ce3368fe03f5c319ca76e643cba80e45"},{"author":{"_account_id":7020,"name":"Joe Hakim Rahme","email":"jhakimra@redhat.com","username":"rahmu"},"change_message_id":"c83bf48745b41ef2c48cfa3f91742285ca6180d4","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                                base_text\u003dobject_name)"},{"line_number":72,"context_line":"        self.object_client.create_object(self.container_name,"},{"line_number":73,"context_line":"                                         object_name, data)"},{"line_number":74,"context_line":"        expires \u003d int(time.time() + 10)"},{"line_number":75,"context_line":"        # trying to get object using temp url within expiry time"},{"line_number":76,"context_line":"        _, body, url \u003d self.object_client.get_object_using_temp_url("},{"line_number":77,"context_line":"            self.container_name, object_name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2Fj%2Fs%3D","line":74,"in_reply_to":"AAAASn%2F%2FnX8%3D","updated":"2013-09-03 13:42:41.000000000","message":"Done","commit_id":"f004d753ce3368fe03f5c319ca76e643cba80e45"},{"author":{"_account_id":6847,"name":"Martina Kollarova","email":"mkollaro@gmail.com","username":"mkollaro"},"change_message_id":"e704a220fd7155e5097bfdc607873d1fd9686334","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        new_data \u003d arbitrary_string(size\u003dlen(object_name),"},{"line_number":103,"context_line":"                                    base_text\u003drand_name(name\u003d\"random\"))"},{"line_number":104,"context_line":"        expires \u003d int(time.time() + 10)"},{"line_number":105,"context_line":"        # trying to get object using temp url within expiry time"},{"line_number":106,"context_line":"        resp, body, url \u003d self.object_client.put_object_using_temp_url("},{"line_number":107,"context_line":"            self.container_name, object_name,"},{"line_number":108,"context_line":"            expires, new_data, self.key)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2FnXk%3D","line":105,"updated":"2013-09-02 13:09:10.000000000","message":"s/get/put","commit_id":"f004d753ce3368fe03f5c319ca76e643cba80e45"},{"author":{"_account_id":7020,"name":"Joe Hakim Rahme","email":"jhakimra@redhat.com","username":"rahmu"},"change_message_id":"c83bf48745b41ef2c48cfa3f91742285ca6180d4","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        new_data \u003d arbitrary_string(size\u003dlen(object_name),"},{"line_number":103,"context_line":"                                    base_text\u003drand_name(name\u003d\"random\"))"},{"line_number":104,"context_line":"        expires \u003d int(time.time() + 10)"},{"line_number":105,"context_line":"        # trying to get object using temp url within expiry time"},{"line_number":106,"context_line":"        resp, body, url \u003d self.object_client.put_object_using_temp_url("},{"line_number":107,"context_line":"            self.container_name, object_name,"},{"line_number":108,"context_line":"            expires, new_data, self.key)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2Fj%2Fk%3D","line":105,"in_reply_to":"AAAASn%2F%2FnXk%3D","updated":"2013-09-03 13:42:41.000000000","message":"Done","commit_id":"f004d753ce3368fe03f5c319ca76e643cba80e45"},{"author":{"_account_id":6847,"name":"Martina Kollarova","email":"mkollaro@gmail.com","username":"mkollaro"},"change_message_id":"e704a220fd7155e5097bfdc607873d1fd9686334","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        self.assertEqual(body, new_data)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":123,"context_line":"    def test_get_expiry_time(self):"},{"line_number":124,"context_line":"        # make sure the metadata has been set"},{"line_number":125,"context_line":"        self.assertIn(\u0027x-account-meta-temp-url-key\u0027,"},{"line_number":126,"context_line":"                      self.account_client_metadata)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2FnXc%3D","line":123,"updated":"2013-09-02 13:09:10.000000000","message":"I\u0027d name it:\n\n  test_get_object_after_expiration_time\n\nand also add attr \u0027negative\u0027.","commit_id":"f004d753ce3368fe03f5c319ca76e643cba80e45"},{"author":{"_account_id":7020,"name":"Joe Hakim Rahme","email":"jhakimra@redhat.com","username":"rahmu"},"change_message_id":"c83bf48745b41ef2c48cfa3f91742285ca6180d4","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        self.assertEqual(body, new_data)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":123,"context_line":"    def test_get_expiry_time(self):"},{"line_number":124,"context_line":"        # make sure the metadata has been set"},{"line_number":125,"context_line":"        self.assertIn(\u0027x-account-meta-temp-url-key\u0027,"},{"line_number":126,"context_line":"                      self.account_client_metadata)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2Fj%2FU%3D","line":123,"in_reply_to":"AAAASn%2F%2FnXc%3D","updated":"2013-09-03 13:42:41.000000000","message":"Done","commit_id":"f004d753ce3368fe03f5c319ca76e643cba80e45"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"d3692b692faaac0c17d85c1969f28245022ccafc","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":71,"context_line":"    def test_get_object_using_temp_url(self):"},{"line_number":72,"context_line":"        EXPIRATION_TIME \u003d 10"},{"line_number":73,"context_line":"        expires \u003d int(time.time() + EXPIRATION_TIME)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        # get a temp URL for the created object"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAASn%2F%2Fc6Y%3D","line":72,"updated":"2013-09-04 16:05:22.000000000","message":"This test is expecting to finish before expiration time. This number should essentially be infinite. Since the ci environment is virtual this could cause a painful to debug failure if it happened to run very slowly for some reason.","commit_id":"00e8219a9f8ea80c2b20a816bdb3d4e6b2fbf096"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"ea528af4e867d448f0b627a77b4b8f0400efd8c5","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":71,"context_line":"    def test_get_object_using_temp_url(self):"},{"line_number":72,"context_line":"        EXPIRATION_TIME \u003d 10"},{"line_number":73,"context_line":"        expires \u003d int(time.time() + EXPIRATION_TIME)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        # get a temp URL for the created object"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAASn%2F%2Fc0g%3D","line":72,"in_reply_to":"AAAASn%2F%2Fc3g%3D","updated":"2013-09-04 16:17:13.000000000","message":"I think so :).","commit_id":"00e8219a9f8ea80c2b20a816bdb3d4e6b2fbf096"},{"author":{"_account_id":7020,"name":"Joe Hakim Rahme","email":"jhakimra@redhat.com","username":"rahmu"},"change_message_id":"0f157b675209874523432df69c2f2f0aadc0b56a","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":71,"context_line":"    def test_get_object_using_temp_url(self):"},{"line_number":72,"context_line":"        EXPIRATION_TIME \u003d 10"},{"line_number":73,"context_line":"        expires \u003d int(time.time() + EXPIRATION_TIME)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        # get a temp URL for the created object"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAASn%2F%2Fbz8%3D","line":72,"in_reply_to":"AAAASn%2F%2Fc6Y%3D","updated":"2013-09-04 19:39:03.000000000","message":"Done","commit_id":"00e8219a9f8ea80c2b20a816bdb3d4e6b2fbf096"},{"author":{"_account_id":7020,"name":"Joe Hakim Rahme","email":"jhakimra@redhat.com","username":"rahmu"},"change_message_id":"73c996a7a73bd5b35cd373b8b31da77b33dd92a2","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    @attr(type\u003d\u0027gate\u0027)"},{"line_number":71,"context_line":"    def test_get_object_using_temp_url(self):"},{"line_number":72,"context_line":"        EXPIRATION_TIME \u003d 10"},{"line_number":73,"context_line":"        expires \u003d int(time.time() + EXPIRATION_TIME)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        # get a temp URL for the created object"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAASn%2F%2Fc3g%3D","line":72,"in_reply_to":"AAAASn%2F%2Fc6Y%3D","updated":"2013-09-04 16:08:50.000000000","message":"Fair enough. Would an expiration time of 10000 be okay then? :o)","commit_id":"00e8219a9f8ea80c2b20a816bdb3d4e6b2fbf096"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"d3692b692faaac0c17d85c1969f28245022ccafc","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        # make sure the metadata has been set"},{"line_number":92,"context_line":"        new_data \u003d arbitrary_string(size\u003dlen(self.object_name),"},{"line_number":93,"context_line":"                                    base_text\u003drand_name(name\u003d\"random\"))"},{"line_number":94,"context_line":"        EXPIRATION_TIME \u003d 10"},{"line_number":95,"context_line":"        expires \u003d int(time.time() + EXPIRATION_TIME)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        url \u003d self.object_client.get_temp_url(self.container_name,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAASn%2F%2Fc6U%3D","line":94,"updated":"2013-09-04 16:05:22.000000000","message":"Same as above.","commit_id":"00e8219a9f8ea80c2b20a816bdb3d4e6b2fbf096"},{"author":{"_account_id":7020,"name":"Joe Hakim Rahme","email":"jhakimra@redhat.com","username":"rahmu"},"change_message_id":"0f157b675209874523432df69c2f2f0aadc0b56a","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        # make sure the metadata has been set"},{"line_number":92,"context_line":"        new_data \u003d arbitrary_string(size\u003dlen(self.object_name),"},{"line_number":93,"context_line":"                                    base_text\u003drand_name(name\u003d\"random\"))"},{"line_number":94,"context_line":"        EXPIRATION_TIME \u003d 10"},{"line_number":95,"context_line":"        expires \u003d int(time.time() + EXPIRATION_TIME)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        url \u003d self.object_client.get_temp_url(self.container_name,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAASn%2F%2Fbz0%3D","line":94,"in_reply_to":"AAAASn%2F%2Fc6U%3D","updated":"2013-09-04 19:39:03.000000000","message":"Done","commit_id":"00e8219a9f8ea80c2b20a816bdb3d4e6b2fbf096"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"d3692b692faaac0c17d85c1969f28245022ccafc","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    @attr(type\u003d[\u0027gate\u0027, \u0027negative\u0027])"},{"line_number":120,"context_line":"    def test_get_object_after_expiration_time(self):"},{"line_number":121,"context_line":"        EXPIRATION_TIME \u003d 3"},{"line_number":122,"context_line":"        expires \u003d int(time.time() + EXPIRATION_TIME)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        # get a temp URL for the created object"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAASn%2F%2Fc5c%3D","line":121,"updated":"2013-09-04 16:05:22.000000000","message":"Why not 1 second?","commit_id":"00e8219a9f8ea80c2b20a816bdb3d4e6b2fbf096"},{"author":{"_account_id":7020,"name":"Joe Hakim Rahme","email":"jhakimra@redhat.com","username":"rahmu"},"change_message_id":"0f157b675209874523432df69c2f2f0aadc0b56a","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    @attr(type\u003d[\u0027gate\u0027, \u0027negative\u0027])"},{"line_number":120,"context_line":"    def test_get_object_after_expiration_time(self):"},{"line_number":121,"context_line":"        EXPIRATION_TIME \u003d 3"},{"line_number":122,"context_line":"        expires \u003d int(time.time() + EXPIRATION_TIME)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        # get a temp URL for the created object"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAASn%2F%2Fbz4%3D","line":121,"in_reply_to":"AAAASn%2F%2Fc5c%3D","updated":"2013-09-04 19:39:03.000000000","message":"Done","commit_id":"00e8219a9f8ea80c2b20a816bdb3d4e6b2fbf096"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"698cc2aaa61859f59216cd5dbf6eed33b489bb6a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (C) 2013 eNovance SAS \u003clicensing@enovance.com\u003e"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Author: Joe H. Rahme \u003cjoe.hakim.rahme@enovance.com\u003e"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAS3%2F%2F9LA%3D","line":1,"updated":"2013-09-16 16:20:21.000000000","message":"Note: Many other files starts with the vim header.","commit_id":"4bfd447d530dd6f9e044817e41b45837846af6ef"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"eb437bcdea9e2afba4530b66c0926f9952dbe429","unresolved":false,"context_lines":[{"line_number":149,"context_line":"                                self.object_name, \"GET\","},{"line_number":150,"context_line":"                                expires, self.key)"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        # temp URL is valid for 3 seconds, let\u0027s wait 5"},{"line_number":153,"context_line":"        time.sleep(EXPIRATION_TIME + 2)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        self.assertRaises(exceptions.Unauthorized,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAS3%2F%2FfCI%3D","line":152,"updated":"2013-09-25 22:13:45.000000000","message":"it\u0027s only valid for 1 second, at least according to line 144","commit_id":"1e3cfd60377a2b582f5cf027e579277f9cc0c0f9"}],"tempest/services/object_storage/object_client.py":[{"author":{"_account_id":6847,"name":"Martina Kollarova","email":"mkollaro@gmail.com","username":"mkollaro"},"change_message_id":"e704a220fd7155e5097bfdc607873d1fd9686334","unresolved":false,"context_lines":[{"line_number":168,"context_line":"        resp, body \u003d self.put(url, data, None)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"        # We return the computed temp url in case we want to run more tests"},{"line_number":171,"context_line":"        return resp, body, url"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"class ObjectClientCustomizedHeader(RestClient):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2FnaU%3D","line":171,"updated":"2013-09-02 13:09:10.000000000","message":"I think it\u0027s not such a great idea to have (resp,body) returned in all the other methods and have these two as exceptions to that, I\u0027d rather have it consistent.\n\nHow about having a method \n\n get_temp_url(self, container, object name, expires, key)\n\nwhich would only return the url and then have \n\n  get_object_using_temp_url(self, url, data)\n  put_object_using_temp_url(self, url, data)\n\nThis would also reduce code duplication.","commit_id":"f004d753ce3368fe03f5c319ca76e643cba80e45"},{"author":{"_account_id":7020,"name":"Joe Hakim Rahme","email":"jhakimra@redhat.com","username":"rahmu"},"change_message_id":"c83bf48745b41ef2c48cfa3f91742285ca6180d4","unresolved":false,"context_lines":[{"line_number":168,"context_line":"        resp, body \u003d self.put(url, data, None)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"        # We return the computed temp url in case we want to run more tests"},{"line_number":171,"context_line":"        return resp, body, url"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"class ObjectClientCustomizedHeader(RestClient):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2Fj%2FQ%3D","line":171,"in_reply_to":"AAAASn%2F%2FnaU%3D","updated":"2013-09-03 13:42:41.000000000","message":"Done","commit_id":"f004d753ce3368fe03f5c319ca76e643cba80e45"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"20fd64b17ab5c2ca4274793096f29cb26c74de50","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        \"\"\"Put data in an object using temp URL.\"\"\""},{"line_number":140,"context_line":"        return self.put(url, data, None)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    def get_temp_url(self, container, object_name, method, expires,"},{"line_number":143,"context_line":"                     key):"},{"line_number":144,"context_line":"        \"\"\"Create the temporary URL.\"\"\""},{"line_number":145,"context_line":"        self._set_auth()"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAS3%2F%2FhI0%3D","line":142,"updated":"2013-09-25 11:17:21.000000000","message":"IMHO this function is a helper function which doesn\u0027t do any action on the client side. So I don\u0027t think that the object_client is the correct place for it. I\u0027d rather move it to the test itself or to a parent class of it.","commit_id":"e0b83340fea90fbb58945419035e41707573a1d7"}]}
