)]}'
{"keystoneclient/tests/functional/base.py":[{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"5d02cba3990c0f3f2e713f8a52c4ea3b93a40b8d","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class ClientTestCase(testtools.TestCase):"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"    def setUp(self, version\u003d\u0027v3\u0027):"},{"line_number":21,"context_line":"        super(BaseTestCase, self).setUp()"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"        self.client \u003d self.get_client(version)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a740942_210f6238","line":20,"updated":"2015-12-07 18:28:05.000000000","message":"This should be \u00273\u0027","commit_id":"39f42ac056c5bfcb84baea6a065ec7724279e392"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"1eb4300c3d11a8974625be47ee58a5a2f8c44b64","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class ClientTestCase(testtools.TestCase):"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"    def setUp(self, version\u003d\u0027v3\u0027):"},{"line_number":21,"context_line":"        super(BaseTestCase, self).setUp()"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"        self.client \u003d self.get_client(version)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a740942_f3da914b","line":20,"in_reply_to":"7a740942_210f6238","updated":"2015-12-07 19:18:23.000000000","message":"Done","commit_id":"39f42ac056c5bfcb84baea6a065ec7724279e392"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"5d02cba3990c0f3f2e713f8a52c4ea3b93a40b8d","unresolved":false,"context_lines":[{"line_number":41,"context_line":"            try:"},{"line_number":42,"context_line":"                return os_client_config.make_client(IDENTITY_CLIENT,"},{"line_number":43,"context_line":"                                                    cloud\u003dcloud,"},{"line_number":44,"context_line":"                                                    version\u003dversion)"},{"line_number":45,"context_line":"            except os_client_config.exceptions.OpenStackConfigException:"},{"line_number":46,"context_line":"                pass"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a740942_c11f7e6a","line":44,"updated":"2015-12-07 18:28:05.000000000","message":"this shold be \"identity_api_version\" - not version","commit_id":"39f42ac056c5bfcb84baea6a065ec7724279e392"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"1eb4300c3d11a8974625be47ee58a5a2f8c44b64","unresolved":false,"context_lines":[{"line_number":41,"context_line":"            try:"},{"line_number":42,"context_line":"                return os_client_config.make_client(IDENTITY_CLIENT,"},{"line_number":43,"context_line":"                                                    cloud\u003dcloud,"},{"line_number":44,"context_line":"                                                    version\u003dversion)"},{"line_number":45,"context_line":"            except os_client_config.exceptions.OpenStackConfigException:"},{"line_number":46,"context_line":"                pass"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a740942_13f07dc8","line":44,"in_reply_to":"7a740942_c11f7e6a","updated":"2015-12-07 19:18:23.000000000","message":"Done","commit_id":"39f42ac056c5bfcb84baea6a065ec7724279e392"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"5d02cba3990c0f3f2e713f8a52c4ea3b93a40b8d","unresolved":false,"context_lines":[{"line_number":56,"context_line":"class V2ClientTestCase(ClientTestCase):"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def setUp(self):"},{"line_number":59,"context_line":"        super(V2ClientTestCase, self).setUp(version\u003d\u0027v2.0\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a740942_f306111c","line":59,"updated":"2015-12-07 18:28:05.000000000","message":"this should be 2.0","commit_id":"39f42ac056c5bfcb84baea6a065ec7724279e392"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"1eb4300c3d11a8974625be47ee58a5a2f8c44b64","unresolved":false,"context_lines":[{"line_number":56,"context_line":"class V2ClientTestCase(ClientTestCase):"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def setUp(self):"},{"line_number":59,"context_line":"        super(V2ClientTestCase, self).setUp(version\u003d\u0027v2.0\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a740942_53d12522","line":59,"in_reply_to":"7a740942_f306111c","updated":"2015-12-07 19:18:23.000000000","message":"Done","commit_id":"39f42ac056c5bfcb84baea6a065ec7724279e392"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"195a85a05fcfadc11a0087dffea1f8e85af1adff","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class ClientTestCase(testtools.TestCase):"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    def setUp(self, version\u003d\u00273\u0027):"},{"line_number":22,"context_line":"        super(ClientTestCase, self).setUp()"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"        self.client \u003d self.get_client(version)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa69d971_0054ba50","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":33},"updated":"2016-01-04 22:45:29.000000000","message":"prefer you didn\u0027t default something in the base class that is only useful in one of subclasses.\n\nIf you don\u0027t want to override setUp in all the subclasses then you can make it a class variable.","commit_id":"39b317ab604e0db2a19dfb319c68a75c941466cf"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"702b980dd09724adc6051e7822b0e183ceac0b84","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class ClientTestCase(testtools.TestCase):"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    def setUp(self, version\u003d\u00273\u0027):"},{"line_number":22,"context_line":"        super(ClientTestCase, self).setUp()"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"        self.client \u003d self.get_client(version)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa69d971_000cba3f","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":33},"in_reply_to":"fa69d971_0054ba50","updated":"2016-01-04 22:53:29.000000000","message":"Sure, will change it","commit_id":"39b317ab604e0db2a19dfb319c68a75c941466cf"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"195a85a05fcfadc11a0087dffea1f8e85af1adff","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        \"\"\""},{"line_number":38,"context_line":"        IDENTITY_CLIENT \u003d \u0027identity\u0027"},{"line_number":39,"context_line":"        OPENSTACK_CLOUDS \u003d (\u0027functional_admin\u0027, \u0027devstack-admin\u0027, \u0027envvars\u0027)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        for cloud in OPENSTACK_CLOUDS:"},{"line_number":42,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa69d971_20e69eb0","line":39,"range":{"start_line":39,"start_character":8,"end_line":39,"end_character":24},"updated":"2016-01-04 22:45:29.000000000","message":"in future it\u0027d be good if we passed this in via env or something - but if this works for now I\u0027m ok.","commit_id":"39b317ab604e0db2a19dfb319c68a75c941466cf"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"702b980dd09724adc6051e7822b0e183ceac0b84","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        \"\"\""},{"line_number":38,"context_line":"        IDENTITY_CLIENT \u003d \u0027identity\u0027"},{"line_number":39,"context_line":"        OPENSTACK_CLOUDS \u003d (\u0027functional_admin\u0027, \u0027devstack-admin\u0027, \u0027envvars\u0027)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        for cloud in OPENSTACK_CLOUDS:"},{"line_number":42,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa69d971_801f4a6b","line":39,"range":{"start_line":39,"start_character":8,"end_line":39,"end_character":24},"in_reply_to":"fa69d971_20e69eb0","updated":"2016-01-04 22:53:29.000000000","message":"Yes, this is how others are doing too for now.\n\ne.g novaclient https://github.com/openstack/python-novaclient/blob/master/novaclient/tests/functional/base.py#L127","commit_id":"39b317ab604e0db2a19dfb319c68a75c941466cf"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"caaef1621c0787133a5c77cdfcec763c298e4c85","unresolved":false,"context_lines":[{"line_number":13,"context_line":"import testtools"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from keystoneclient import client"},{"line_number":16,"context_line":"import os_client_config"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class ClientTestCase(testtools.TestCase):"}],"source_content_type":"text/x-python","patch_set":10,"id":"fa69d971_7570cfdc","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":23},"updated":"2016-01-05 05:23:55.000000000","message":"this is a third party import and should be separated from keystoneclient","commit_id":"f5bcd87e238de8fdccb4da8e97373352fad474c6"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"8618e9b43c22bd9ac06b951906ef46d751fae8c6","unresolved":false,"context_lines":[{"line_number":13,"context_line":"import testtools"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from keystoneclient import client"},{"line_number":16,"context_line":"import os_client_config"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class ClientTestCase(testtools.TestCase):"}],"source_content_type":"text/x-python","patch_set":10,"id":"fa69d971_44384def","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":23},"in_reply_to":"fa69d971_7570cfdc","updated":"2016-01-06 01:12:19.000000000","message":"In this case of functional tests, we will be using keystoneclient installed in the environment. So it\u0027s also a third party import, as os_client_config is, right ? (blackbox test)","commit_id":"f5bcd87e238de8fdccb4da8e97373352fad474c6"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"caaef1621c0787133a5c77cdfcec763c298e4c85","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        \"\"\""},{"line_number":38,"context_line":"        IDENTITY_CLIENT \u003d \u0027identity\u0027"},{"line_number":39,"context_line":"        OPENSTACK_CLOUDS \u003d (\u0027functional_admin\u0027, \u0027devstack-admin\u0027, \u0027envvars\u0027)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        for cloud in OPENSTACK_CLOUDS:"},{"line_number":42,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":10,"id":"fa69d971_3577b7d4","line":39,"range":{"start_line":39,"start_character":29,"end_line":39,"end_character":45},"updated":"2016-01-05 05:23:55.000000000","message":"is functional_admin something we plan on creating? if so, use - instead of _, so it matches devstack-admin\n\nnevermind, i just read the novaclient stuff, this is fine.","commit_id":"f5bcd87e238de8fdccb4da8e97373352fad474c6"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"8618e9b43c22bd9ac06b951906ef46d751fae8c6","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        \"\"\""},{"line_number":38,"context_line":"        IDENTITY_CLIENT \u003d \u0027identity\u0027"},{"line_number":39,"context_line":"        OPENSTACK_CLOUDS \u003d (\u0027functional_admin\u0027, \u0027devstack-admin\u0027, \u0027envvars\u0027)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        for cloud in OPENSTACK_CLOUDS:"},{"line_number":42,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":10,"id":"fa69d971_e43861f0","line":39,"range":{"start_line":39,"start_character":29,"end_line":39,"end_character":45},"in_reply_to":"fa69d971_3577b7d4","updated":"2016-01-06 01:12:19.000000000","message":":-)","commit_id":"f5bcd87e238de8fdccb4da8e97373352fad474c6"}]}
