)]}'
{"tempest/api/object_storage/base.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"08327ee4711dc8d7e5102b1573a148a2195ec158","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class BaseObjectTest(tempest.test.BaseTestCase):"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    credentials \u003d [[CONF.object_storage.operator_role]]"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    @classmethod"},{"line_number":30,"context_line":"    def skip_checks(cls):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a0c5dc1_0d49ba31","line":27,"updated":"2015-05-13 08:31:12.000000000","message":"Needs to update this too along with os_roles_1","commit_id":"8fb6fabd365652a4d7f1ef59368920223d595081"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"4d593e6392f10fbb3e3f6accf7095c408d6b7bdf","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class BaseObjectTest(tempest.test.BaseTestCase):"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    credentials \u003d [[CONF.object_storage.operator_role]]"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    @classmethod"},{"line_number":30,"context_line":"    def skip_checks(cls):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a0c5dc1_f55aa882","line":27,"in_reply_to":"9a0c5dc1_0d49ba31","updated":"2015-05-13 10:29:12.000000000","message":"Done","commit_id":"8fb6fabd365652a4d7f1ef59368920223d595081"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"4d593e6392f10fbb3e3f6accf7095c408d6b7bdf","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    def setup_credentials(cls):"},{"line_number":38,"context_line":"        cls.set_network_resources()"},{"line_number":39,"context_line":"        super(BaseObjectTest, cls).setup_credentials()"},{"line_number":40,"context_line":"        cls.os \u003d cls.os_roles_1"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @classmethod"},{"line_number":43,"context_line":"    def setup_clients(cls):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a0c5dc1_b5555051","line":40,"updated":"2015-05-13 10:29:12.000000000","message":"This has to be fixed","commit_id":"8fb6fabd365652a4d7f1ef59368920223d595081"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"8d1e572952fd1273cb5d031766106fefd2a00e11","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        cls.set_network_resources()"},{"line_number":39,"context_line":"        super(BaseObjectTest, cls).setup_credentials()"},{"line_number":40,"context_line":"        # credentials may be overwritten by children classes"},{"line_number":41,"context_line":"        if hasattr(cls, \u0027os_roles_operator\u0027):"},{"line_number":42,"context_line":"            cls.os \u003d cls.os_roles_operator"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a016987_d49bc864","line":41,"updated":"2015-05-20 14:19:05.000000000","message":"os_\u003cstring\u003e if the string is not empty, otherwise os.","commit_id":"825b2d3eae360252f7d21ea34952db6111b53916"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"d8f983acd33bbb0818a6b4dbb2106588322c369c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        cls.set_network_resources()"},{"line_number":39,"context_line":"        super(BaseObjectTest, cls).setup_credentials()"},{"line_number":40,"context_line":"        # credentials may be overwritten by children classes"},{"line_number":41,"context_line":"        if hasattr(cls, \u0027os_roles_operator\u0027):"},{"line_number":42,"context_line":"            cls.os \u003d cls.os_roles_operator"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a016987_95cc276b","line":41,"in_reply_to":"7a016987_d49bc864","updated":"2015-05-20 17:49:29.000000000","message":"I\u0027m not sure I understand this. If a subclass overrides credentials, it also must define its own aliases if it needs them, or even better use the os_\u003cstring\u003e name directly.\n\nAliases are confusing and kind of dangerous anyways, so I will work on removing them in upcoming patches.","commit_id":"825b2d3eae360252f7d21ea34952db6111b53916"}],"tempest/api/object_storage/test_account_quotas.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"08327ee4711dc8d7e5102b1573a148a2195ec158","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class AccountQuotasTest(base.BaseObjectTest):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    credentials \u003d [[\u0027operator\u0027, CONF.object_storage.operator_role],"},{"line_number":27,"context_line":"                   [\u0027reseller\u0027, CONF.object_storage.reseller_admin_role]]"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a0c5dc1_6d0f16e2","line":26,"updated":"2015-05-13 08:31:12.000000000","message":"do we need \u0027operator_role\u0027 here also as it is already set in base class?\n\nSame for other files too","commit_id":"8fb6fabd365652a4d7f1ef59368920223d595081"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"4d593e6392f10fbb3e3f6accf7095c408d6b7bdf","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class AccountQuotasTest(base.BaseObjectTest):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    credentials \u003d [[\u0027operator\u0027, CONF.object_storage.operator_role],"},{"line_number":27,"context_line":"                   [\u0027reseller\u0027, CONF.object_storage.reseller_admin_role]]"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a0c5dc1_95224c00","line":26,"in_reply_to":"9a0c5dc1_6d0f16e2","updated":"2015-05-13 10:29:12.000000000","message":"Yes we do, the class level attribute overrides the parent\u0027s attribute.\nWhich I like because this way a test declares exactly the creds it needs, and it may even drop credentials set in the base class if needed.","commit_id":"8fb6fabd365652a4d7f1ef59368920223d595081"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fc2ce6ee8f5119c43d3c0e08db0aac7e8de65006","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class AccountQuotasTest(base.BaseObjectTest):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    credentials \u003d [[\u0027operator\u0027, CONF.object_storage.operator_role],"},{"line_number":27,"context_line":"                   [\u0027reseller\u0027, CONF.object_storage.reseller_admin_role]]"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a016987_b0ec7590","line":26,"in_reply_to":"9a0c5dc1_95224c00","updated":"2015-05-14 07:15:46.000000000","message":"Yea, I missed that. Thanks","commit_id":"8fb6fabd365652a4d7f1ef59368920223d595081"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"08327ee4711dc8d7e5102b1573a148a2195ec158","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    @classmethod"},{"line_number":30,"context_line":"    def setup_credentials(cls):"},{"line_number":31,"context_line":"        super(AccountQuotasTest, cls).setup_credentials()"},{"line_number":32,"context_line":"        cls.os \u003d cls.os_roles_operator"},{"line_number":33,"context_line":"        cls.os_reselleradmin \u003d cls.os_roles_reseller"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a0c5dc1_4d2b3231","line":32,"updated":"2015-05-13 08:31:12.000000000","message":"ditto","commit_id":"8fb6fabd365652a4d7f1ef59368920223d595081"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fc2ce6ee8f5119c43d3c0e08db0aac7e8de65006","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    @classmethod"},{"line_number":30,"context_line":"    def setup_credentials(cls):"},{"line_number":31,"context_line":"        super(AccountQuotasTest, cls).setup_credentials()"},{"line_number":32,"context_line":"        cls.os \u003d cls.os_roles_operator"},{"line_number":33,"context_line":"        cls.os_reselleradmin \u003d cls.os_roles_reseller"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a016987_1031090c","line":32,"in_reply_to":"9a0c5dc1_3561603a","updated":"2015-05-14 07:15:46.000000000","message":"Yes, agree. Even I would like if cls.os, cls.os_adm etc can be named more appropriately/generically in base class (test.py) and use those as it is instead each tests class having their own aliases for them.","commit_id":"8fb6fabd365652a4d7f1ef59368920223d595081"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"4d593e6392f10fbb3e3f6accf7095c408d6b7bdf","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    @classmethod"},{"line_number":30,"context_line":"    def setup_credentials(cls):"},{"line_number":31,"context_line":"        super(AccountQuotasTest, cls).setup_credentials()"},{"line_number":32,"context_line":"        cls.os \u003d cls.os_roles_operator"},{"line_number":33,"context_line":"        cls.os_reselleradmin \u003d cls.os_roles_reseller"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a0c5dc1_3561603a","line":32,"in_reply_to":"9a0c5dc1_4d2b3231","updated":"2015-05-13 10:29:12.000000000","message":"This is not strictly required indeed, but I think it\u0027s more clear if a test sets its credentials that it sets its aliases as well.\n\nEventually however I would like to drop these aliases from everywhere, they just add un-necessary complexity I think, and they are not really needed for pep8 purposes.","commit_id":"8fb6fabd365652a4d7f1ef59368920223d595081"}],"tempest/api/object_storage/test_object_services.py":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"95e8b9e16fa28f33747b72c0bf58267d837f1156","unresolved":false,"context_lines":[{"line_number":1021,"context_line":""},{"line_number":1022,"context_line":"class PublicObjectTest(base.BaseObjectTest):"},{"line_number":1023,"context_line":""},{"line_number":1024,"context_line":"    credentials \u003d [[CONF.object_storage.operator_role],"},{"line_number":1025,"context_line":"                   [CONF.object_storage.operator_role]]"},{"line_number":1026,"context_line":""},{"line_number":1027,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":5,"id":"9af37de9_4788e422","line":1024,"updated":"2015-05-11 09:31:02.000000000","message":"Using magically added numbers here is really confusing.\nos_roles_1 .. os_roles_2","commit_id":"ae2aae6671f0af34c2a9ab7ae91ac28334b547b8"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"556d17ae064652af62f026c23de1b71961c2094f","unresolved":false,"context_lines":[{"line_number":1021,"context_line":""},{"line_number":1022,"context_line":"class PublicObjectTest(base.BaseObjectTest):"},{"line_number":1023,"context_line":""},{"line_number":1024,"context_line":"    credentials \u003d [[CONF.object_storage.operator_role],"},{"line_number":1025,"context_line":"                   [CONF.object_storage.operator_role]]"},{"line_number":1026,"context_line":""},{"line_number":1027,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":5,"id":"9af37de9_76f2749c","line":1024,"in_reply_to":"9af37de9_4788e422","updated":"2015-05-11 12:17:18.000000000","message":"Yes I don\u0027t like this approach either, but I thought it would be acceptable until the access to client manager is refactored, which needs doing anyways - using os, manager, os_alt and other arbitrary names, and aliasing clients from managers to test classes is a bit confusing anyways.\n\nDo you have any alternative proposal on how to handle this?","commit_id":"ae2aae6671f0af34c2a9ab7ae91ac28334b547b8"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"f8fedafb89a999345446bd52f0385d006f50ccbb","unresolved":false,"context_lines":[{"line_number":1021,"context_line":""},{"line_number":1022,"context_line":"class PublicObjectTest(base.BaseObjectTest):"},{"line_number":1023,"context_line":""},{"line_number":1024,"context_line":"    credentials \u003d [[CONF.object_storage.operator_role],"},{"line_number":1025,"context_line":"                   [CONF.object_storage.operator_role]]"},{"line_number":1026,"context_line":""},{"line_number":1027,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a0c5dc1_2f5808fa","line":1024,"in_reply_to":"9af37de9_76f2749c","updated":"2015-05-12 19:15:05.000000000","message":"I changed this to using the first element of the list as a label.","commit_id":"ae2aae6671f0af34c2a9ab7ae91ac28334b547b8"}]}
