package org.keycloak.testsuite.broker; import org.keycloak.representations.idm.ClientRepresentation; import org.keycloak.representations.idm.IdentityProviderRepresentation; import org.keycloak.representations.idm.RealmRepresentation; import org.keycloak.testsuite.arquillian.SuiteContext; import java.util.List; /** * * @author hmlnarik */ public interface BrokerConfiguration { /** * @return Representation of the realm at the identity provider side. */ RealmRepresentation createProviderRealm(); /** * @return Representation of the realm at the broker side. */ RealmRepresentation createConsumerRealm(); List<ClientRepresentation> createProviderClients(SuiteContext suiteContext); List<ClientRepresentation> createConsumerClients(SuiteContext suiteContext); /** * @return Representation of the identity provider for declaration in the broker */ IdentityProviderRepresentation setUpIdentityProvider(SuiteContext suiteContext); /** * @return Name of realm containing identity provider. Must be consistent with {@link #createProviderRealm()} */ String providerRealmName(); /** * @return Realm name of the broker. Must be consistent with {@link #createConsumerRealm()} */ String consumerRealmName(); /** * @return Client ID of the identity provider as set in provider realm. */ String getIDPClientIdInProviderRealm(SuiteContext suiteContext); /** * @return User login name of the brokered user */ String getUserLogin(); /** * @return Password of the brokered user */ String getUserPassword(); /** * @return E-mail of the brokered user */ String getUserEmail(); /** * @return Alias of the identity provider as defined in the broker realm */ String getIDPAlias(); }