)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"bb50f1a014dff439b36b0cd2ca3e338a9dd19b28","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add keystone oidc tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This adds tests to test getting a token (scoped and unscoped) when keystone"},{"line_number":10,"context_line":"is configured to use oidc for authentication.  The oidc provider is keycloak."},{"line_number":11,"context_line":"This is based in very large part on Kristi\u0027s work in [1] and [2]."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"818278c7_3a1db56b","line":9,"updated":"2023-02-06 19:52:33.000000000","message":"The lines in the commit message should be 72 chars.","commit_id":"b4aaefc6580dca3c78751c1c1bb1b6e42a88ab3d"},{"author":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"change_message_id":"b1877737ebfb96d0eaff02917beb6a47af13d3f7","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add keystone oidc tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This adds tests to test getting a token (scoped and unscoped) when keystone"},{"line_number":10,"context_line":"is configured to use oidc for authentication.  The oidc provider is keycloak."},{"line_number":11,"context_line":"This is based in very large part on Kristi\u0027s work in [1] and [2]."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"95071f4c_781cdc5e","line":9,"in_reply_to":"818278c7_3a1db56b","updated":"2023-02-21 20:49:39.000000000","message":"Done","commit_id":"b4aaefc6580dca3c78751c1c1bb1b6e42a88ab3d"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"cae896f05c62f15d0c5c2e2a49d2df984413b06c","unresolved":true,"context_lines":[{"line_number":10,"context_line":"is configured to use oidc for authentication.  The oidc provider is keycloak."},{"line_number":11,"context_line":"This is based in very large part on Kristi\u0027s work in [1] and [2]."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This is not quite working yet, but is close enough that we can start the"},{"line_number":14,"context_line":"review process.  This is related to and requires changes in the dependent"},{"line_number":15,"context_line":"keystone patch to set up the gate and keycloak server."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"9586a006_a0d86995","line":13,"updated":"2023-02-06 19:49:28.000000000","message":"Looks like it\u0027s working :)","commit_id":"b4aaefc6580dca3c78751c1c1bb1b6e42a88ab3d"},{"author":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"change_message_id":"b1877737ebfb96d0eaff02917beb6a47af13d3f7","unresolved":false,"context_lines":[{"line_number":10,"context_line":"is configured to use oidc for authentication.  The oidc provider is keycloak."},{"line_number":11,"context_line":"This is based in very large part on Kristi\u0027s work in [1] and [2]."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This is not quite working yet, but is close enough that we can start the"},{"line_number":14,"context_line":"review process.  This is related to and requires changes in the dependent"},{"line_number":15,"context_line":"keystone patch to set up the gate and keycloak server."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"0c84cf7b_c3b6b3a4","line":13,"in_reply_to":"9586a006_a0d86995","updated":"2023-02-21 20:49:39.000000000","message":"Done","commit_id":"b4aaefc6580dca3c78751c1c1bb1b6e42a88ab3d"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"7e41e783f78d89decfb2c0cc4a70b7778192c5e7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"275962b3_2ab2c58a","updated":"2023-01-16 10:57:16.000000000","message":"recheck","commit_id":"638222ece1d2d0924eb4b90fcc461afe6a446927"},{"author":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"change_message_id":"fad34172da45dbc09a1ff6ce3cc89f15c9d3dcc3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"019442bd_76befd4c","updated":"2023-01-31 18:58:38.000000000","message":"recheck transient","commit_id":"b4aaefc6580dca3c78751c1c1bb1b6e42a88ab3d"},{"author":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"change_message_id":"7728a8701d97b9fb6d4b33833080198de32cb52d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"2dc9df38_e8bc19e0","updated":"2023-03-01 13:11:56.000000000","message":"recheck - workflow","commit_id":"47a5e98ae94529eb2a95ffe2dd40f42a9da7d138"}],"keystone_tempest_plugin/tests/scenario/test_oidc_federated_authentication.py":[{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"cae896f05c62f15d0c5c2e2a49d2df984413b06c","unresolved":true,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def _setup_user(self, email\u003dNone):"},{"line_number":102,"context_line":"        email \u003d email if email else f\u0027test-{uuid.uuid4().hex}@example.com\u0027"},{"line_number":103,"context_line":"        self.keycloak.create_user(email, \u0027Test\u0027, \u0027User\u0027)"},{"line_number":104,"context_line":"        return email"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def _request_unscoped_token(self, user):"}],"source_content_type":"text/x-python","patch_set":10,"id":"17d9e973_8acee0a9","line":103,"updated":"2023-02-06 19:49:28.000000000","message":"There should be a cleanup after the tests are run, deleting this user.","commit_id":"b4aaefc6580dca3c78751c1c1bb1b6e42a88ab3d"},{"author":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"change_message_id":"b1877737ebfb96d0eaff02917beb6a47af13d3f7","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def _setup_user(self, email\u003dNone):"},{"line_number":102,"context_line":"        email \u003d email if email else f\u0027test-{uuid.uuid4().hex}@example.com\u0027"},{"line_number":103,"context_line":"        self.keycloak.create_user(email, \u0027Test\u0027, \u0027User\u0027)"},{"line_number":104,"context_line":"        return email"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def _request_unscoped_token(self, user):"}],"source_content_type":"text/x-python","patch_set":10,"id":"26457b7b_7c769e22","line":103,"in_reply_to":"17d9e973_8acee0a9","updated":"2023-02-21 20:49:39.000000000","message":"Done","commit_id":"b4aaefc6580dca3c78751c1c1bb1b6e42a88ab3d"},{"author":{"_account_id":7973,"name":"Douglas Mendizábal","email":"dmendiza@redhat.com","username":"dougmendizabal"},"change_message_id":"59467f56847cdcb6cb94c3935c6366f4e2bc1331","unresolved":true,"context_lines":[{"line_number":139,"context_line":"        self.keycloak.delete_user(user)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"class TestOidcFederatedExternalAuthentication("},{"line_number":143,"context_line":"    TestOidcFederatedAuthentication):"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    @testtools.skipUnless(CONF.identity_feature_enabled.federation,"},{"line_number":146,"context_line":"                          \"Federated Identity feature not enabled\")"},{"line_number":147,"context_line":"    @testtools.skipUnless(CONF.identity_feature_enabled.external_idp,"},{"line_number":148,"context_line":"                          \"External identity provider is not available\")"},{"line_number":149,"context_line":"    @testtools.skipUnless(CONF.fed_scenario.protocol_id \u003d\u003d \u0027openid\u0027,"},{"line_number":150,"context_line":"                          \"Protocol not openid\")"},{"line_number":151,"context_line":"    def test_request_unscoped_token(self):"},{"line_number":152,"context_line":"        self._test_request_unscoped_token()"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    @testtools.skipUnless(CONF.identity_feature_enabled.federation,"},{"line_number":155,"context_line":"                          \"Federated Identity feature not enabled\")"},{"line_number":156,"context_line":"    @testtools.skipUnless(CONF.identity_feature_enabled.external_idp,"},{"line_number":157,"context_line":"                          \"External identity provider is not available\")"},{"line_number":158,"context_line":"    @testtools.skipUnless(CONF.fed_scenario.protocol_id \u003d\u003d \u0027openid\u0027,"},{"line_number":159,"context_line":"                          \"Protocol not openid\")"},{"line_number":160,"context_line":"    def test_request_scoped_token(self):"},{"line_number":161,"context_line":"        self._test_request_scoped_token()"}],"source_content_type":"text/x-python","patch_set":12,"id":"0058c535_108049e8","line":161,"range":{"start_line":142,"start_character":0,"end_line":161,"end_character":41},"updated":"2023-02-23 19:46:43.000000000","message":"Seems weird to me to add a new class just to call the private functions in the base class.  Why didn\u0027t you just define these in the base class?","commit_id":"324b810cb63a32d93c251398d6a6029e7987f733"},{"author":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"change_message_id":"9bd7b4ce3917e23b2da3a91124f5611e6c12d318","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        self.keycloak.delete_user(user)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"class TestOidcFederatedExternalAuthentication("},{"line_number":143,"context_line":"    TestOidcFederatedAuthentication):"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    @testtools.skipUnless(CONF.identity_feature_enabled.federation,"},{"line_number":146,"context_line":"                          \"Federated Identity feature not enabled\")"},{"line_number":147,"context_line":"    @testtools.skipUnless(CONF.identity_feature_enabled.external_idp,"},{"line_number":148,"context_line":"                          \"External identity provider is not available\")"},{"line_number":149,"context_line":"    @testtools.skipUnless(CONF.fed_scenario.protocol_id \u003d\u003d \u0027openid\u0027,"},{"line_number":150,"context_line":"                          \"Protocol not openid\")"},{"line_number":151,"context_line":"    def test_request_unscoped_token(self):"},{"line_number":152,"context_line":"        self._test_request_unscoped_token()"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    @testtools.skipUnless(CONF.identity_feature_enabled.federation,"},{"line_number":155,"context_line":"                          \"Federated Identity feature not enabled\")"},{"line_number":156,"context_line":"    @testtools.skipUnless(CONF.identity_feature_enabled.external_idp,"},{"line_number":157,"context_line":"                          \"External identity provider is not available\")"},{"line_number":158,"context_line":"    @testtools.skipUnless(CONF.fed_scenario.protocol_id \u003d\u003d \u0027openid\u0027,"},{"line_number":159,"context_line":"                          \"Protocol not openid\")"},{"line_number":160,"context_line":"    def test_request_scoped_token(self):"},{"line_number":161,"context_line":"        self._test_request_scoped_token()"}],"source_content_type":"text/x-python","patch_set":12,"id":"e0a072cf_3f51f960","line":161,"range":{"start_line":142,"start_character":0,"end_line":161,"end_character":41},"in_reply_to":"0058c535_108049e8","updated":"2023-02-24 14:50:11.000000000","message":"I\u0027m not sure, but this follows the convention of the already existing SAML federation tests in tests/scenario/test_federated_authentication.py.","commit_id":"324b810cb63a32d93c251398d6a6029e7987f733"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"f1e2e68a2fb4c49fc1e28d8de6b768e7719c7fe4","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        self.keycloak.delete_user(user)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"class TestOidcFederatedExternalAuthentication("},{"line_number":143,"context_line":"    TestOidcFederatedAuthentication):"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    @testtools.skipUnless(CONF.identity_feature_enabled.federation,"},{"line_number":146,"context_line":"                          \"Federated Identity feature not enabled\")"},{"line_number":147,"context_line":"    @testtools.skipUnless(CONF.identity_feature_enabled.external_idp,"},{"line_number":148,"context_line":"                          \"External identity provider is not available\")"},{"line_number":149,"context_line":"    @testtools.skipUnless(CONF.fed_scenario.protocol_id \u003d\u003d \u0027openid\u0027,"},{"line_number":150,"context_line":"                          \"Protocol not openid\")"},{"line_number":151,"context_line":"    def test_request_unscoped_token(self):"},{"line_number":152,"context_line":"        self._test_request_unscoped_token()"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    @testtools.skipUnless(CONF.identity_feature_enabled.federation,"},{"line_number":155,"context_line":"                          \"Federated Identity feature not enabled\")"},{"line_number":156,"context_line":"    @testtools.skipUnless(CONF.identity_feature_enabled.external_idp,"},{"line_number":157,"context_line":"                          \"External identity provider is not available\")"},{"line_number":158,"context_line":"    @testtools.skipUnless(CONF.fed_scenario.protocol_id \u003d\u003d \u0027openid\u0027,"},{"line_number":159,"context_line":"                          \"Protocol not openid\")"},{"line_number":160,"context_line":"    def test_request_scoped_token(self):"},{"line_number":161,"context_line":"        self._test_request_scoped_token()"}],"source_content_type":"text/x-python","patch_set":12,"id":"262550a8_7b061ebf","line":161,"range":{"start_line":142,"start_character":0,"end_line":161,"end_character":41},"in_reply_to":"29a06f88_8672c31e","updated":"2023-03-01 10:19:25.000000000","message":"meh.  not sure I totally agree with that, but I\u0027m not going to be ham-fisted about it.  Fixed in next patch.","commit_id":"324b810cb63a32d93c251398d6a6029e7987f733"},{"author":{"_account_id":7973,"name":"Douglas Mendizábal","email":"dmendiza@redhat.com","username":"dougmendizabal"},"change_message_id":"035fddc80a95bc9129361ac6893c521a5da37732","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        self.keycloak.delete_user(user)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"class TestOidcFederatedExternalAuthentication("},{"line_number":143,"context_line":"    TestOidcFederatedAuthentication):"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    @testtools.skipUnless(CONF.identity_feature_enabled.federation,"},{"line_number":146,"context_line":"                          \"Federated Identity feature not enabled\")"},{"line_number":147,"context_line":"    @testtools.skipUnless(CONF.identity_feature_enabled.external_idp,"},{"line_number":148,"context_line":"                          \"External identity provider is not available\")"},{"line_number":149,"context_line":"    @testtools.skipUnless(CONF.fed_scenario.protocol_id \u003d\u003d \u0027openid\u0027,"},{"line_number":150,"context_line":"                          \"Protocol not openid\")"},{"line_number":151,"context_line":"    def test_request_unscoped_token(self):"},{"line_number":152,"context_line":"        self._test_request_unscoped_token()"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    @testtools.skipUnless(CONF.identity_feature_enabled.federation,"},{"line_number":155,"context_line":"                          \"Federated Identity feature not enabled\")"},{"line_number":156,"context_line":"    @testtools.skipUnless(CONF.identity_feature_enabled.external_idp,"},{"line_number":157,"context_line":"                          \"External identity provider is not available\")"},{"line_number":158,"context_line":"    @testtools.skipUnless(CONF.fed_scenario.protocol_id \u003d\u003d \u0027openid\u0027,"},{"line_number":159,"context_line":"                          \"Protocol not openid\")"},{"line_number":160,"context_line":"    def test_request_scoped_token(self):"},{"line_number":161,"context_line":"        self._test_request_scoped_token()"}],"source_content_type":"text/x-python","patch_set":12,"id":"29a06f88_8672c31e","line":161,"range":{"start_line":142,"start_character":0,"end_line":161,"end_character":41},"in_reply_to":"6fa1eccf_e51948ab","updated":"2023-02-27 20:36:20.000000000","message":"This sounds an awful lot like the \"cutting off the ends of the ham\" story. :-P  Seems to me like this base class is not necessary for this patch.  If we decide to add more tests that require a base class in a future patch, then that would be the time to make the abstraction.","commit_id":"324b810cb63a32d93c251398d6a6029e7987f733"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"6507ed512f8ef7bbd07a8c6c6b9265770f172fa4","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        self.keycloak.delete_user(user)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"class TestOidcFederatedExternalAuthentication("},{"line_number":143,"context_line":"    TestOidcFederatedAuthentication):"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    @testtools.skipUnless(CONF.identity_feature_enabled.federation,"},{"line_number":146,"context_line":"                          \"Federated Identity feature not enabled\")"},{"line_number":147,"context_line":"    @testtools.skipUnless(CONF.identity_feature_enabled.external_idp,"},{"line_number":148,"context_line":"                          \"External identity provider is not available\")"},{"line_number":149,"context_line":"    @testtools.skipUnless(CONF.fed_scenario.protocol_id \u003d\u003d \u0027openid\u0027,"},{"line_number":150,"context_line":"                          \"Protocol not openid\")"},{"line_number":151,"context_line":"    def test_request_unscoped_token(self):"},{"line_number":152,"context_line":"        self._test_request_unscoped_token()"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    @testtools.skipUnless(CONF.identity_feature_enabled.federation,"},{"line_number":155,"context_line":"                          \"Federated Identity feature not enabled\")"},{"line_number":156,"context_line":"    @testtools.skipUnless(CONF.identity_feature_enabled.external_idp,"},{"line_number":157,"context_line":"                          \"External identity provider is not available\")"},{"line_number":158,"context_line":"    @testtools.skipUnless(CONF.fed_scenario.protocol_id \u003d\u003d \u0027openid\u0027,"},{"line_number":159,"context_line":"                          \"Protocol not openid\")"},{"line_number":160,"context_line":"    def test_request_scoped_token(self):"},{"line_number":161,"context_line":"        self._test_request_scoped_token()"}],"source_content_type":"text/x-python","patch_set":12,"id":"6fa1eccf_e51948ab","line":161,"range":{"start_line":142,"start_character":0,"end_line":161,"end_character":41},"in_reply_to":"e0a072cf_3f51f960","updated":"2023-02-27 09:43:53.000000000","message":"In the existing federation tests (saml based), there is another test for K2K federation, which extends a base class like this.  At some point, we\u0027re probably going to want to add a K2K federation case based on OIDC.","commit_id":"324b810cb63a32d93c251398d6a6029e7987f733"}]}
