)]}'
{"tempest/test.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"69b2f0cfa6fed3cf3dc4d39fe1f2952b04005bea","unresolved":false,"context_lines":[{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        Subclasses verify in here all conditions that might prevent the"},{"line_number":232,"context_line":"        execution of the entire test class. Skipping here prevents any other"},{"line_number":233,"context_line":"        class fixture from being executed i.e. no credentials or other"},{"line_number":234,"context_line":"        resource allocation will happen."},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"        Tests defined in the test class will not longer appear in test results."}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_b03c94bf","line":233,"range":{"start_line":233,"start_character":33,"end_line":233,"end_character":41},"updated":"2017-08-25 01:41:48.000000000","message":"here missing a comma?","commit_id":"e66b86bfea427bdaca4413258af9e276712edf28"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"0f5fbdeab59a57faf8efe8f4004f28314c226083","unresolved":false,"context_lines":[{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        Subclasses verify in here all conditions that might prevent the"},{"line_number":232,"context_line":"        execution of the entire test class. Skipping here prevents any other"},{"line_number":233,"context_line":"        class fixture from being executed i.e. no credentials or other"},{"line_number":234,"context_line":"        resource allocation will happen."},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"        Tests defined in the test class will not longer appear in test results."}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_fb99d46d","line":233,"range":{"start_line":233,"start_character":33,"end_line":233,"end_character":41},"in_reply_to":"7f287b81_b03c94bf","updated":"2017-08-25 12:05:52.000000000","message":"it looks ok to me","commit_id":"e66b86bfea427bdaca4413258af9e276712edf28"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"69b2f0cfa6fed3cf3dc4d39fe1f2952b04005bea","unresolved":false,"context_lines":[{"line_number":233,"context_line":"        class fixture from being executed i.e. no credentials or other"},{"line_number":234,"context_line":"        resource allocation will happen."},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"        Tests defined in the test class will not longer appear in test results."},{"line_number":237,"context_line":"        The `setUpClass` for the entire test class will be marked as SKIPPED"},{"line_number":238,"context_line":"        instead."},{"line_number":239,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_904bd857","line":236,"range":{"start_line":236,"start_character":45,"end_line":236,"end_character":55},"updated":"2017-08-25 01:41:48.000000000","message":"no longer","commit_id":"e66b86bfea427bdaca4413258af9e276712edf28"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"0f5fbdeab59a57faf8efe8f4004f28314c226083","unresolved":false,"context_lines":[{"line_number":233,"context_line":"        class fixture from being executed i.e. no credentials or other"},{"line_number":234,"context_line":"        resource allocation will happen."},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"        Tests defined in the test class will not longer appear in test results."},{"line_number":237,"context_line":"        The `setUpClass` for the entire test class will be marked as SKIPPED"},{"line_number":238,"context_line":"        instead."},{"line_number":239,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_db9cd85e","line":236,"range":{"start_line":236,"start_character":45,"end_line":236,"end_character":55},"in_reply_to":"7f287b81_904bd857","updated":"2017-08-25 12:05:52.000000000","message":"Done","commit_id":"e66b86bfea427bdaca4413258af9e276712edf28"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"69b2f0cfa6fed3cf3dc4d39fe1f2952b04005bea","unresolved":false,"context_lines":[{"line_number":256,"context_line":"            def skip_checks(cls):"},{"line_number":257,"context_line":"                super(Example, cls).skip_checks()"},{"line_number":258,"context_line":"                if not CONF.service_available.my_service:"},{"line_number":259,"context_line":"                skip_msg \u003d (\"%s skipped as my_service is not available\")"},{"line_number":260,"context_line":"            raise cls.skipException(skip_msg % cls.__name__)"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"        \"\"\""},{"line_number":263,"context_line":"        cls.__skip_checks_called \u003d True"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_8dfe2135","line":260,"range":{"start_line":259,"start_character":0,"end_line":260,"end_character":60},"updated":"2017-08-25 01:41:48.000000000","message":"the indentation is not correct:)","commit_id":"e66b86bfea427bdaca4413258af9e276712edf28"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"0f5fbdeab59a57faf8efe8f4004f28314c226083","unresolved":false,"context_lines":[{"line_number":256,"context_line":"            def skip_checks(cls):"},{"line_number":257,"context_line":"                super(Example, cls).skip_checks()"},{"line_number":258,"context_line":"                if not CONF.service_available.my_service:"},{"line_number":259,"context_line":"                skip_msg \u003d (\"%s skipped as my_service is not available\")"},{"line_number":260,"context_line":"            raise cls.skipException(skip_msg % cls.__name__)"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"        \"\"\""},{"line_number":263,"context_line":"        cls.__skip_checks_called \u003d True"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_5ba8e875","line":260,"range":{"start_line":259,"start_character":0,"end_line":260,"end_character":60},"in_reply_to":"7f287b81_8dfe2135","updated":"2017-08-25 12:05:52.000000000","message":"Done","commit_id":"e66b86bfea427bdaca4413258af9e276712edf28"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"69b2f0cfa6fed3cf3dc4d39fe1f2952b04005bea","unresolved":false,"context_lines":[{"line_number":261,"context_line":""},{"line_number":262,"context_line":"        \"\"\""},{"line_number":263,"context_line":"        cls.__skip_checks_called \u003d True"},{"line_number":264,"context_line":"        identity_version \u003d cls.get_identity_version()"},{"line_number":265,"context_line":"        if \u0027admin\u0027 in cls.credentials and not credentials.is_admin_available("},{"line_number":266,"context_line":"                identity_version\u003didentity_version):"},{"line_number":267,"context_line":"            msg \u003d \"Missing Identity Admin API credentials in configuration.\""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_b0c13483","line":264,"range":{"start_line":264,"start_character":8,"end_line":264,"end_character":53},"updated":"2017-08-25 01:41:48.000000000","message":"here we don\u0027t check whether identity_version is enabled in CONF.identity_feature_enabled?","commit_id":"e66b86bfea427bdaca4413258af9e276712edf28"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"0f5fbdeab59a57faf8efe8f4004f28314c226083","unresolved":false,"context_lines":[{"line_number":261,"context_line":""},{"line_number":262,"context_line":"        \"\"\""},{"line_number":263,"context_line":"        cls.__skip_checks_called \u003d True"},{"line_number":264,"context_line":"        identity_version \u003d cls.get_identity_version()"},{"line_number":265,"context_line":"        if \u0027admin\u0027 in cls.credentials and not credentials.is_admin_available("},{"line_number":266,"context_line":"                identity_version\u003didentity_version):"},{"line_number":267,"context_line":"            msg \u003d \"Missing Identity Admin API credentials in configuration.\""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_5be0e896","line":264,"range":{"start_line":264,"start_character":8,"end_line":264,"end_character":53},"in_reply_to":"7f287b81_b0c13483","updated":"2017-08-25 12:05:52.000000000","message":"We can add more checks, but doing so won\u0027t change the interface.\nMy aim here was to make the minimum required changes to make the interface stable and reasonable.\n\nThere are several things we don\u0027t check for in this helper:\n- The version in CONF.identity.auth_version is marked as enabled. If that is not the case rather thank skipping 95% of the tests I would raise an InvalidConfiguration exception\n- The version in CONF.identity.auth_version and in cls.identity_version is valid \u0027v2\u0027 or \u0027v3\u0027. Again we might raise an exception if that is not the case. \n- The credentials other than admin or alt are available. If they are not we fail which is a different behaviour from the skip in case of admin/alt\n\nI think we can handle these as follow-up patches.","commit_id":"e66b86bfea427bdaca4413258af9e276712edf28"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"56efa1988891451bd09052967d123c5990d59133","unresolved":false,"context_lines":[{"line_number":262,"context_line":"        \"\"\""},{"line_number":263,"context_line":"        cls.__skip_checks_called \u003d True"},{"line_number":264,"context_line":"        identity_version \u003d cls.get_identity_version()"},{"line_number":265,"context_line":"        if \u0027admin\u0027 in cls.credentials and not credentials.is_admin_available("},{"line_number":266,"context_line":"                identity_version\u003didentity_version):"},{"line_number":267,"context_line":"            msg \u003d \"Missing Identity Admin API credentials in configuration.\""},{"line_number":268,"context_line":"            raise cls.skipException(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_1385b208","line":265,"range":{"start_line":265,"start_character":58,"end_line":265,"end_character":76},"updated":"2017-08-25 02:35:55.000000000","message":"this check is weak, e.g., if CONF.auth.test_accounts_file then is_admin will be always deemd as true.\nif we want to make this stable, shall we enforce this?","commit_id":"e66b86bfea427bdaca4413258af9e276712edf28"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"0f5fbdeab59a57faf8efe8f4004f28314c226083","unresolved":false,"context_lines":[{"line_number":262,"context_line":"        \"\"\""},{"line_number":263,"context_line":"        cls.__skip_checks_called \u003d True"},{"line_number":264,"context_line":"        identity_version \u003d cls.get_identity_version()"},{"line_number":265,"context_line":"        if \u0027admin\u0027 in cls.credentials and not credentials.is_admin_available("},{"line_number":266,"context_line":"                identity_version\u003didentity_version):"},{"line_number":267,"context_line":"            msg \u003d \"Missing Identity Admin API credentials in configuration.\""},{"line_number":268,"context_line":"            raise cls.skipException(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_5bf9084b","line":265,"range":{"start_line":265,"start_character":58,"end_line":265,"end_character":76},"in_reply_to":"7f287b81_1385b208","updated":"2017-08-25 12:05:52.000000000","message":"I don\u0027t follow - is_admin_available returns True is dynamic credentials is enabled.\nIf not it will look for the accounts file. If available it will try to get admin credentials from not. If not available it falls back to admin credentials from tempest.conf.","commit_id":"e66b86bfea427bdaca4413258af9e276712edf28"}]}
