)]}'
{"swiftclient/exceptions.py":[{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"ed2853195762ba086347c0805997da75bb230e6f","unresolved":false,"context_lines":[{"line_number":72,"context_line":"    pass"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"class SkipTest(Exception):"},{"line_number":76,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2FMi8%3D","line":75,"updated":"2014-04-23 12:19:36.000000000","message":"usually folks would put exception that specifics to unittest not in the main exceptions file but in the test specific one (or fixture file)","commit_id":"e1eaab3e6d3f499b1e1878d4955a6c7fef35ff05"}],"test-requirements.txt":[{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"a9ce6181dff9fcd8476cee7b1d5305adb6871b8b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"discover"},{"line_number":5,"context_line":"mock\u003e\u003d1.0"},{"line_number":6,"context_line":"python-keystoneclient\u003e\u003d0.7.0"},{"line_number":7,"context_line":"nose"},{"line_number":8,"context_line":"sphinx\u003e\u003d1.1.2,\u003c1.2"},{"line_number":9,"context_line":"testrepository\u003e\u003d0.0.18"},{"line_number":10,"context_line":"testtools\u003e\u003d0.9.34"}],"source_content_type":"text/plain","patch_set":12,"id":"AAAAW3%2F%2FSgU%3D","line":7,"updated":"2014-04-15 15:05:04.000000000","message":"nose is useful for sure but is it needed here?","commit_id":"4cf9ad7f3cc8dcd250fa201f3abc7bdfb093d9f5"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"1d918518e176611627d3bbbe7fa023e7c593f444","unresolved":false,"context_lines":[{"line_number":4,"context_line":"discover"},{"line_number":5,"context_line":"mock\u003e\u003d1.0"},{"line_number":6,"context_line":"python-keystoneclient\u003e\u003d0.7.0"},{"line_number":7,"context_line":"nose"},{"line_number":8,"context_line":"sphinx\u003e\u003d1.1.2,\u003c1.2"},{"line_number":9,"context_line":"testrepository\u003e\u003d0.0.18"},{"line_number":10,"context_line":"testtools\u003e\u003d0.9.34"}],"source_content_type":"text/plain","patch_set":12,"id":"AAAAW3%2F%2FR9k%3D","line":7,"in_reply_to":"AAAAW3%2F%2FSgU%3D","updated":"2014-04-15 15:42:13.000000000","message":"No, surely not needed - I\u0027ll remove it","commit_id":"4cf9ad7f3cc8dcd250fa201f3abc7bdfb093d9f5"}],"tests/functional/test_swiftclient.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"e0261a691667e722c9974fff2c85d04e72cb2936","unresolved":false,"context_lines":[{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        # Test marker"},{"line_number":138,"context_line":"        headers, containers \u003d self.conn.get_account(marker\u003dself.containername)"},{"line_number":139,"context_line":"        self.assertEqual(1, len(containers))"},{"line_number":140,"context_line":"        self.assertEqual(self.containername_2, containers[0].get(\u0027name\u0027))"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    def _check_container_headers(self, headers):"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAWH%2F%2BnFM%3D","line":139,"updated":"2014-03-25 17:32:38.000000000","message":"this test failed on my SAIO because I already had a container in the test account. Is it possible to perform the check and be tolerant of existing containers?","commit_id":"108e8a0d04e8692d653a9797a6d7e2e0f8f331f6"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"e0261a691667e722c9974fff2c85d04e72cb2936","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        self.assertEqual(self.objectname_2, objects[0].get(\u0027name\u0027))"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    def test_create_container(self):"},{"line_number":185,"context_line":"        self.conn.put_container(self.containername_2)"},{"line_number":186,"context_line":"        self.assertTrue(self.conn.head_container(self.containername_2))"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def test_delete(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAWH%2F%2BmBo%3D","line":185,"updated":"2014-03-25 17:32:38.000000000","message":"this has already been done in setUp() so can\u0027t fail? maybe use a unique name for this explicit test vs implicit test of setUp() not failing?","commit_id":"108e8a0d04e8692d653a9797a6d7e2e0f8f331f6"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"e0261a691667e722c9974fff2c85d04e72cb2936","unresolved":false,"context_lines":[{"line_number":191,"context_line":"        self.conn.delete_container(self.containername)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"        # Container HEAD will raise an exception if container doesn\u0027t exist"},{"line_number":194,"context_line":"        # which is only possible of previous requests succeeded"},{"line_number":195,"context_line":"        self.assertRaises("},{"line_number":196,"context_line":"            swiftclient.ClientException,"},{"line_number":197,"context_line":"            self.conn.head_container,"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAWH%2F%2BmBM%3D","line":194,"updated":"2014-03-25 17:32:38.000000000","message":"/of/if","commit_id":"108e8a0d04e8692d653a9797a6d7e2e0f8f331f6"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"98d3c87e2f1a1b7f5e6c1a797f7d7d1dcb2c8f8b","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        # Test marker"},{"line_number":139,"context_line":"        headers, containers \u003d self.conn.get_account(marker\u003dself.containername)"},{"line_number":140,"context_line":"        self.assertTrue(len(containers) \u003e 1)"},{"line_number":141,"context_line":"        self.assertEqual(self.containername_2, containers[0].get(\u0027name\u0027))"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    def _check_container_headers(self, headers):"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAWH%2F%2BfJk%3D","line":140,"updated":"2014-03-26 13:35:21.000000000","message":"I think that needs to be \u003e\u003d 1 . Test now fails if I do not have a pre-existing container in test account","commit_id":"6e3a7831cc43b30ba9f9f202a4dfcd0b70de42fd"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"cdc024b4f63620fc54a22a8783023d030ae52bc3","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        # Test marker"},{"line_number":139,"context_line":"        headers, containers \u003d self.conn.get_account(marker\u003dself.containername)"},{"line_number":140,"context_line":"        self.assertTrue(len(containers) \u003e 1)"},{"line_number":141,"context_line":"        self.assertEqual(self.containername_2, containers[0].get(\u0027name\u0027))"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    def _check_container_headers(self, headers):"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAWH%2F%2BfEc%3D","line":140,"in_reply_to":"AAAAWH%2F%2BfJk%3D","updated":"2014-03-26 13:47:41.000000000","message":"Ah yes, sorry for keeping you busy. Fixed. Thanks a lot for your work!","commit_id":"6e3a7831cc43b30ba9f9f202a4dfcd0b70de42fd"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"a9ce6181dff9fcd8476cee7b1d5305adb6871b8b","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        config \u003d ConfigParser.SafeConfigParser({\u0027auth_version\u0027: \u00271\u0027})"},{"line_number":48,"context_line":"        config.read(config_file)"},{"line_number":49,"context_line":"        if config.has_section(\u0027func_test\u0027):"},{"line_number":50,"context_line":"            auth_host \u003d config.get(\u0027func_test\u0027, \u0027auth_host\u0027)"},{"line_number":51,"context_line":"            auth_port \u003d config.getint(\u0027func_test\u0027, \u0027auth_port\u0027)"},{"line_number":52,"context_line":"            auth_ssl \u003d config.getboolean(\u0027func_test\u0027, \u0027auth_ssl\u0027)"},{"line_number":53,"context_line":"            auth_prefix \u003d config.get(\u0027func_test\u0027, \u0027auth_prefix\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FSeg%3D","line":50,"updated":"2014-04-15 15:05:04.000000000","message":"what do you think about having instead a :\n\nauth_uri \u003d \u0027https://blah:port/url/\u0027\n\nand have urlparse taking care of it than to have all those auth_host/auth_port/auth_ssl etc...","commit_id":"4cf9ad7f3cc8dcd250fa201f3abc7bdfb093d9f5"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"1d918518e176611627d3bbbe7fa023e7c593f444","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        config \u003d ConfigParser.SafeConfigParser({\u0027auth_version\u0027: \u00271\u0027})"},{"line_number":48,"context_line":"        config.read(config_file)"},{"line_number":49,"context_line":"        if config.has_section(\u0027func_test\u0027):"},{"line_number":50,"context_line":"            auth_host \u003d config.get(\u0027func_test\u0027, \u0027auth_host\u0027)"},{"line_number":51,"context_line":"            auth_port \u003d config.getint(\u0027func_test\u0027, \u0027auth_port\u0027)"},{"line_number":52,"context_line":"            auth_ssl \u003d config.getboolean(\u0027func_test\u0027, \u0027auth_ssl\u0027)"},{"line_number":53,"context_line":"            auth_prefix \u003d config.get(\u0027func_test\u0027, \u0027auth_prefix\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FR84%3D","line":50,"in_reply_to":"AAAAW3%2F%2FSeg%3D","updated":"2014-04-15 15:42:13.000000000","message":"The reason for the multiple .get() is that I wanted to use the same configuration file like in swift/test/sample.conf and to keep the syntax that is already used there. Thus we can reuse that config file","commit_id":"4cf9ad7f3cc8dcd250fa201f3abc7bdfb093d9f5"}]}
