)]}'
{"patrole_tempest_plugin/rbac_rule_validation.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"16e4bc24843769a3314060184235be2186bc8e50","unresolved":false,"context_lines":[{"line_number":33,"context_line":"            if \u0027cls\u0027 or \u0027self\u0027 in func_specs.args:"},{"line_number":34,"context_line":"                caller_ref \u003d args[0]"},{"line_number":35,"context_line":"            else:"},{"line_number":36,"context_line":"                return"},{"line_number":37,"context_line":"            try:"},{"line_number":38,"context_line":"                tenant_id \u003d caller_ref.auth_provider.credentials.tenant_id"},{"line_number":39,"context_line":"                user_id \u003d caller_ref.auth_provider.credentials.user_id"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a1ff146_93628615","line":36,"range":{"start_line":36,"start_character":16,"end_line":36,"end_character":22},"updated":"2017-03-14 15:47:19.000000000","message":"else:\n    caller_ref \u003d None\n\nIf caller_ref is None, an AttributeError will be thrown in the try/except block below.\n\nWe want to allow the test to fail in a controlled fashion. This basically forces the test to be skipped without offering a reason.","commit_id":"6005d978ae6f58e530a1cf9a7e81489ea7ef87d8"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"16e4bc24843769a3314060184235be2186bc8e50","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            try:"},{"line_number":38,"context_line":"                tenant_id \u003d caller_ref.auth_provider.credentials.tenant_id"},{"line_number":39,"context_line":"                user_id \u003d caller_ref.auth_provider.credentials.user_id"},{"line_number":40,"context_line":"            except (IndexError, AttributeError) as e:"},{"line_number":41,"context_line":"                msg \u003d (\"{0}: tenant_id/user_id not found in \""},{"line_number":42,"context_line":"                       \"cls.auth_provider.credentials\".format(e))"},{"line_number":43,"context_line":"                LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a1ff146_f371fae1","line":40,"range":{"start_line":40,"start_character":19,"end_line":40,"end_character":47},"updated":"2017-03-14 15:47:19.000000000","message":"AttributeError\n\nIndexError can no longer be thrown.","commit_id":"6005d978ae6f58e530a1cf9a7e81489ea7ef87d8"}]}
