Exemplo n.º 1
0
        internal void SetupTokenTab(Client specification, ClientDetailsEditPage editClientPage)
        {
            // TokenTab
            // Toggles
            editClientPage.TokenTab.IdentityTokenLifetime.EnterText($"{specification.IdentityTokenLifetime}");
            editClientPage.TokenTab.AccessTokenLifetime.EnterText($"{specification.AccessTokenLifetime}");
            editClientPage.TokenTab.AuthorizationCodeLifetime.EnterText($"{specification.AuthorizationCodeLifetime}");
            editClientPage.TokenTab.AbsoluteRefreshTokenLifetime.EnterText($"{specification.AbsoluteRefreshTokenLifetime}");
            editClientPage.TokenTab.SlidingRefreshTokenLifetime.EnterText($"{specification.SlidingRefreshTokenLifetime}");

            // Select
            editClientPage.TokenTab.AccessTokenType.SelectByValue($"{specification.AccessTokenType}");
            editClientPage.TokenTab.RefreshTokenExpiration.SelectByValue($"{specification.RefreshTokenExpiration}");
            editClientPage.TokenTab.RefreshTokenUsage.SelectByValue($"{specification.RefreshTokenUsage}");

            // Tags
            editClientPage.TokenTab.AllowedCorsOrigins.ClearSelectedItems();
            editClientPage.TokenTab.AllowedCorsOrigins.AddItems(specification.AllowedCorsOrigins?.ToArray() ?? new string[] { });

            // Toggles
            editClientPage.TokenTab.UpdateAccessTokenClaimsOnRefresh.Checked = specification.UpdateAccessTokenClaimsOnRefresh;
            editClientPage.TokenTab.IncludeJwtId.Checked = specification.IncludeJwtId;
            editClientPage.TokenTab.AlwaysIncludeUserClaimsInIdToken.Checked = specification.AlwaysIncludeUserClaimsInIdToken;
            editClientPage.TokenTab.AlwaysSendClientClaims.Checked           = specification.AlwaysSendClientClaims;

            // Input
            editClientPage.TokenTab.ClientClaimsPrefix.EnterText(specification.ClientClaimsPrefix ?? "");
            editClientPage.TokenTab.PairWiseSubjectSalt.EnterText(specification.PairWiseSubjectSalt ?? "");
        }
        internal void AddSecret(List <ClientSecret> clientSecrets, ClientDetailsEditPage editClientPage, int totalSecretsLimit)
        {
            Assert.AreEqual("_blank", editClientPage.BasicsTab.ManageSecrets.GetAttribute("target"));
            editClientPage.BasicsTab.ManageSecrets.SetAttribute(Driver, "target", "_self");
            Assert.AreEqual("_self", editClientPage.BasicsTab.ManageSecrets.GetAttribute("target"));

            editClientPage.BasicsTab.ManageSecrets.Click();

            ClientSecretsPage secretsPage = new ClientSecretsPage(Driver);

            if (clientSecrets?.Count > 0)
            {
                for (var i = 0; i < clientSecrets.Count; i++)
                {
                    if (secretsPage.GetItems().Count >= totalSecretsLimit)
                    {
                        break;
                    }

                    var secret = clientSecrets[i];
                    secretsPage.Value.EnterText(secret.Value);
                    secretsPage.Type.SelectByValue(secret.Type);
                    secretsPage.HashType.SelectByValue(
                        $"{((int)Ids4Enums.HashType.Sha512).ToString()}"); // 512 by default
                    secretsPage.AddSecret.Click();
                }
            }

            secretsPage.BackToClient.Click();
        }
Exemplo n.º 3
0
        public void ResetSecretsForClientsByGrantType(string[] clients, string secret, string grantType)
        {
            var homePage = GoToHomePage();

            homePage.ClientLink.Click();
            ClientsListPage clientListPage = new ClientsListPage(Driver);

            foreach (var clientId in clients)
            {
                clientListPage.Navigate();
                var isClientExists = clientListPage.OpenItemForEditIfExists(clientId);

                if (!isClientExists)
                {
                    continue;
                }

                ClientDetailsEditPage editClientPage = new ClientDetailsEditPage(Driver);

                if (!editClientPage.BasicsTab.AllowedGrantTypes.SelectedTagsValues.Any(x => x == grantType /* "client_credentials"*/))
                {
                    continue;
                }

                _registrationSteps.ManageSecrets(new List <ClientSecret>()
                {
                    new ClientSecret(secret)
                }, editClientPage);

                editClientPage.SaveClientBtn.Click();
            }
        }
Exemplo n.º 4
0
        private void ValidateAuthenticationLogoutTab(Client specification, ClientDetailsEditPage editClientPage)
        {
            // AuthenticationLogoutTab

            Assert.AreEqual(specification.FrontChannelLogoutSessionRequired, editClientPage.AuthenticationLogoutTab.FrontChannelLogoutSessionRequired.Checked);
            Assert.AreEqual(specification.BackChannelLogoutSessionRequired, editClientPage.AuthenticationLogoutTab.BackChannelLogoutSessionRequired.Checked);
            Assert.AreEqual(specification.EnableLocalLogin, editClientPage.AuthenticationLogoutTab.EnableLocalLogin.Checked);


            Assert.AreEqual(specification.FrontChannelLogoutUri ?? "", editClientPage.AuthenticationLogoutTab.FrontChannelLogoutUri.Value);
            Assert.AreEqual(specification.BackChannelLogoutUri ?? "", editClientPage.AuthenticationLogoutTab.BackChannelLogoutUri.Value);
            Assert.AreEqual(specification.FrontChannelLogoutSessionRequired, editClientPage.AuthenticationLogoutTab.FrontChannelLogoutSessionRequired.Checked);

            var logoutRedirectUris = editClientPage.AuthenticationLogoutTab.PostLogoutRedirectUris.SelectedTagsValues;

            if (specification.PostLogoutRedirectUris != null)
            {
                foreach (var uri in specification.PostLogoutRedirectUris)
                {
                    Assert.AreEqual(uri, logoutRedirectUris.FirstOrDefault(x => x == uri));
                }
            }

            var restrictions = editClientPage.AuthenticationLogoutTab.IdentityProviderRestrictions.SelectedTagsValues;

            if (specification.IdentityProviderRestrictions != null)
            {
                foreach (var restriction in specification.IdentityProviderRestrictions)
                {
                    Assert.AreEqual(restriction, restrictions.FirstOrDefault(x => x == restriction));
                }
            }
        }
Exemplo n.º 5
0
        internal void SetupBasicsTab(Client specification, ClientDetailsEditPage editClientPage)
        {
            // BasicsTab
            editClientPage.BasicsTab.Description.EnterText(specification.Description ?? specification.ClientName);
            editClientPage.BasicsTab.ProtocolType.SelectByValue(specification.ProtocolType);

            // Test switch
            //editClientPage.BasicsTab.RequireClientSecret.Switch();
            //editClientPage.BasicsTab.RequireClientSecret.On();
            //editClientPage.BasicsTab.RequireClientSecret.Off();

            // BasicsTab.Toggles
            editClientPage.BasicsTab.RequireClientSecret.Checked         = specification.RequireClientSecret;
            editClientPage.BasicsTab.RequirePkce.Checked                 = specification.RequirePkce;
            editClientPage.BasicsTab.AllowPlainTextPkce.Checked          = specification.AllowPlainTextPkce;
            editClientPage.BasicsTab.AllowAccessTokensViaBrowser.Checked = specification.AllowAccessTokensViaBrowser;
            editClientPage.BasicsTab.AllowOfflineAccess.Checked          = specification.AllowOfflineAccess;


            // BasicsTab.Tags
            editClientPage.BasicsTab.AllowedScopes.ClearSelectedItems();
            editClientPage.BasicsTab.AllowedScopes.AddItems(specification.AllowedScopes.ToArray());

            editClientPage.BasicsTab.RedirectUris.ClearSelectedItems();
            editClientPage.BasicsTab.RedirectUris.AddItems(specification.RedirectUris.ToArray());

            editClientPage.BasicsTab.AllowedGrantTypes.ClearSelectedItems();
            editClientPage.BasicsTab.AllowedGrantTypes.AddItems(specification.AllowedGrantTypes.ToArray());
        }
        public void PrepareMigratedClientForAuthTest(string clientId)
        {
            var homePage = GoToHomePage();

            homePage.ClientLink.Click();
            ClientsListPage clientListPage = new ClientsListPage(Driver);
            var             isClientExists = clientListPage.OpenItemForEditIfExists(clientId);

            if (!isClientExists)
            {
                Assert.Fail($"not migrated client: {clientId}");
            }

            // Edit new client
            ClientDetailsEditPage editClientPage = new ClientDetailsEditPage(Driver);

            if (!editClientPage.BasicsTab.RedirectUris.SelectedTagsValues.Any(x => x == TestClientUrl.PostResultUri))
            {
                editClientPage.BasicsTab.RedirectUris.AddItem(TestClientUrl.PostResultUri);
            }

            //editClientPage.ConsentScreenTab.RequireConsent.Checked = specification.RequireConsent;
            _registrationSteps.SaveClient(editClientPage);

            AddSecret(new List <ClientSecret>()
            {
                new ClientSecret("secret")
            }, editClientPage, 2);
        }
Exemplo n.º 7
0
        internal void ManageSecrets(List <ClientSecret> clientSecrets, ClientDetailsEditPage editClientPage)
        {
            Assert.AreEqual("_blank", editClientPage.BasicsTab.ManageSecrets.GetAttribute("target"));
            editClientPage.BasicsTab.ManageSecrets.SetAttribute(Driver, "target", "_self");
            Assert.AreEqual("_self", editClientPage.BasicsTab.ManageSecrets.GetAttribute("target"));

            editClientPage.BasicsTab.ManageSecrets.Click();

            ClientSecretsPage secretsPage = new ClientSecretsPage(Driver);

            if (clientSecrets?.Count > 0)
            {
                for (var i = 0; i < clientSecrets.Count; i++)
                {
                    var secret = clientSecrets[i];
                    secretsPage.Value.EnterText(secret.Value);
                    secretsPage.Type.SelectByValue(secret.Type);
                    secretsPage.HashType.SelectByValue(
                        $"{((int)Ids4Enums.HashType.Sha512).ToString()}"); // 512 by default
                    secretsPage.AddSecret.Click();

                    var topItem = secretsPage.GetItem(1);
                    Assert.AreEqual(secret.Type, topItem.Type.Text);
                    Assert.AreEqual(88, topItem.Value.Text.Length); // 256 => 44, 512 => 88,
                }
            }
            // Delete latest in the list, first added item - test (OK)
            //secretsPage.DeleteItem(specification.ClientSecrets.Count);

            secretsPage.BackToClient.Click();
        }
Exemplo n.º 8
0
        private void ManageClaims(List <ClientClaim> claims, ClientDetailsEditPage editClientPage)
        {
            //if (specification.Claims == null) return;

            Assert.AreEqual("_blank", editClientPage.TokenTab.ManageClientClaims.GetAttribute("target"));
            editClientPage.TokenTab.ManageClientClaims.SetAttribute(Driver, "target", "_self");
            Assert.AreEqual("_self", editClientPage.TokenTab.ManageClientClaims.GetAttribute("target"));

            editClientPage.TokenTab.ManageClientClaims.Click();
            ClientClaimsPage clientClaimsPage = new ClientClaimsPage(Driver);

            if (claims != null)
            {
                for (var i = 0; i < claims.Count; i++)
                {
                    var claim = claims[i];
                    clientClaimsPage.ClaimType.AddItem(claim.Type);
                    clientClaimsPage.ClaimValue.EnterText(claim.Value);
                    clientClaimsPage.AddClientClaim.Click();

                    var topItem = clientClaimsPage.GetItem(1);
                    Assert.AreEqual(claim.Type, topItem.Type.Text);
                    Assert.AreEqual(claim.Value, topItem.Value.Text);
                }

                // Delete latest in the list, first added item - test (OK)
                //clientClaimsPage.DeleteItem(specification.Claims.Count);
            }

            clientClaimsPage.BackToClient.Click();
        }
Exemplo n.º 9
0
        private void ValidateBasicsTab(Client specification, ClientDetailsEditPage editClientPage)
        {
            Assert.AreEqual(specification.ClientName, editClientPage.BasicsTab.Description.Value);
            Assert.AreEqual(specification.ProtocolType, editClientPage.BasicsTab.ProtocolType.Value);

            // BasicsTab.Toggles
            Assert.AreEqual(specification.RequireClientSecret, editClientPage.BasicsTab.RequireClientSecret.Checked);
            Assert.AreEqual(specification.RequirePkce, editClientPage.BasicsTab.RequirePkce.Checked);
            Assert.AreEqual(specification.AllowPlainTextPkce, editClientPage.BasicsTab.AllowPlainTextPkce.Checked);
            Assert.AreEqual(specification.AllowAccessTokensViaBrowser,
                            editClientPage.BasicsTab.AllowAccessTokensViaBrowser.Checked);
            Assert.AreEqual(specification.AllowOfflineAccess, editClientPage.BasicsTab.AllowOfflineAccess.Checked);


            var scopes = editClientPage.BasicsTab.AllowedScopes.SelectedTagsValues;

            foreach (var scope in specification.AllowedScopes)
            {
                Assert.AreEqual(scope, scopes.FirstOrDefault(x => x == scope));
            }

            var redirectUris = editClientPage.BasicsTab.RedirectUris.SelectedTagsValues;

            foreach (var uri in specification.RedirectUris)
            {
                Assert.AreEqual(uri, redirectUris.FirstOrDefault(x => x == uri));
            }

            var grantTypes = editClientPage.BasicsTab.AllowedGrantTypes.SelectedTagsValues;

            foreach (var gType in specification.AllowedGrantTypes)
            {
                Assert.AreEqual(gType, grantTypes.FirstOrDefault(x => x == gType));
            }
        }
Exemplo n.º 10
0
        public void ValidateIfClientMatchToSpecification(Client specification)
        {
            ClientsListPage clientListPage = new ClientsListPage(Driver);
            var             isClientExists = clientListPage.OpenItemForEditIfExists(specification.ClientId);

            if (!isClientExists)
            {
                Assert.Fail($"Client {specification.ClientId} not exists");
            }

            ClientDetailsEditPage editClientPage = new ClientDetailsEditPage(Driver);

            Assert.AreEqual(specification.ClientId, editClientPage.NameTab.ClientId.Value);
            Assert.AreEqual(specification.ClientName, editClientPage.NameTab.ClientName.Value);


            ValidateBasicsTab(specification, editClientPage);
            ValidateAuthenticationLogoutTab(specification, editClientPage);
            ValidateTokenTab(specification, editClientPage);
            ValidateConsentTab(specification, editClientPage);

            ValidateClaims(specification, editClientPage);
            ValidateSecrets(specification, editClientPage);
            ValidateProperties(specification, editClientPage);
        }
Exemplo n.º 11
0
        private void SetupConsentTab(Client specification, ClientDetailsEditPage editClientPage)
        {
            editClientPage.ConsentScreenTab.RequireConsent.Checked       = specification.RequireConsent;
            editClientPage.ConsentScreenTab.AllowRememberConsent.Checked = specification.AllowRememberConsent;

            editClientPage.ConsentScreenTab.ClientUri.EnterText(specification.ClientUri ?? "");
            editClientPage.ConsentScreenTab.LogoUri.EnterText(specification.LogoUri ?? "");
        }
Exemplo n.º 12
0
        private void ValidateConsentTab(Client specification, ClientDetailsEditPage editClientPage)
        {
            Assert.AreEqual($"{specification.ClientUri ?? ""}", editClientPage.ConsentScreenTab.ClientUri.Value);
            Assert.AreEqual($"{specification.LogoUri ?? ""}", editClientPage.ConsentScreenTab.LogoUri.Value);

            Assert.AreEqual(specification.RequireConsent, editClientPage.ConsentScreenTab.RequireConsent.Checked);
            Assert.AreEqual(specification.AllowRememberConsent, editClientPage.ConsentScreenTab.AllowRememberConsent.Checked);
        }
Exemplo n.º 13
0
        private void DeleteClient(Client specification)
        {
            ClientDetailsEditPage editClientPage = new ClientDetailsEditPage(Driver);

            Assert.AreEqual(specification.ClientId, editClientPage.NameTab.ClientId.Value);

            editClientPage.DeleteClientBtn.Click();
            ClientDeletePage deletePage = new ClientDeletePage(Driver);

            Assert.AreEqual(specification.ClientId, deletePage.ClientId.Value);
            Assert.AreEqual(specification.ClientName, deletePage.ClientName.Value);
            deletePage.DeleteClient.Click();
        }
Exemplo n.º 14
0
        private void ValidateProperties(Client specification, ClientDetailsEditPage editClientPage)
        {
            editClientPage.BasicsTab.ManageClientProperties.SetAttribute(Driver, "target", "_self");
            editClientPage.BasicsTab.ManageClientProperties.Click();
            ClientPropertiesPage propertiesPage = new ClientPropertiesPage(Driver);

            if (specification.Properties != null)
            {
                var items = propertiesPage.GetItems();
                foreach (var property in specification.Properties)
                {
                    Assert.AreEqual(property.Value, items.FirstOrDefault(x => x.Key.Text == property.Key && x.Value.Text == property.Value)?.Value.Text);
                }
            }
            propertiesPage.BackToClient.Click();
        }
Exemplo n.º 15
0
        private ClientDetailsEditPage SetupExistingClient(Client specification)
        {
            // Edit new client
            ClientDetailsEditPage editClientPage = new ClientDetailsEditPage(Driver);

            // NameTab
            editClientPage.NameTab.ClientId.EnterText(specification.ClientId);
            editClientPage.NameTab.ClientName.EnterText(specification.ClientName);

            // BasicsTab
            SetupBasicsTab(specification, editClientPage);

            // AuthenticationLogoutTab
            SetupAuthenticationLogoutTab(specification, editClientPage);

            // TokenTab
            SetupTokenTab(specification, editClientPage);

            // Consent
            SetupConsentTab(specification, editClientPage);

            SaveClient(editClientPage);

            // Claims
            ManageClaims(specification.Claims, editClientPage);

            // Secrets
            ManageSecrets(specification.ClientSecrets, editClientPage);

            // Properties - PoC
            var properties = new List <(string, string)>
            {
                ("owner", "Idm team / integration test"),
                ("test executed on", $"{DateTime.Now:yyyy-MM-dd HH:mm:ss}"),
                ("example", "example to be deleted")
            };

            if (specification.Properties != null)
            {
                properties.AddRange(specification.Properties.Select(x => (x.Key, x.Value)).ToArray());
            }

            ManageProperties(properties.ToArray(), editClientPage);
            return(editClientPage);
        }
Exemplo n.º 16
0
        private void ValidateClaims(Client specification, ClientDetailsEditPage editClientPage)
        {
            editClientPage.TokenTab.ManageClientClaims.SetAttribute(Driver, "target", "_self");

            editClientPage.TokenTab.ManageClientClaims.Click();
            ClientClaimsPage clientClaimsPage = new ClientClaimsPage(Driver);

            if (specification.Claims != null)
            {
                var items = clientClaimsPage.GetItems();

                foreach (var claim in specification.Claims)
                {
                    Assert.AreEqual(claim.Value, items.FirstOrDefault(x => x.Type.Text == claim.Type && x.Value.Text == claim.Value)?.Value.Text);
                }
            }

            clientClaimsPage.BackToClient.Click();
        }
Exemplo n.º 17
0
        private void SetupAuthenticationLogoutTab(Client specification, ClientDetailsEditPage editClientPage)
        {
            // AuthenticationLogoutTab
            editClientPage.AuthenticationLogoutTab.FrontChannelLogoutSessionRequired.Checked =
                specification.FrontChannelLogoutSessionRequired;
            editClientPage.AuthenticationLogoutTab.BackChannelLogoutSessionRequired.Checked =
                specification.BackChannelLogoutSessionRequired;
            editClientPage.AuthenticationLogoutTab.EnableLocalLogin.Checked = specification.EnableLocalLogin;

            editClientPage.AuthenticationLogoutTab.FrontChannelLogoutUri.EnterText(specification.FrontChannelLogoutUri ?? "");
            editClientPage.AuthenticationLogoutTab.BackChannelLogoutUri.EnterText(specification.BackChannelLogoutUri ?? "");


            editClientPage.AuthenticationLogoutTab.PostLogoutRedirectUris.ClearSelectedItems();
            editClientPage.AuthenticationLogoutTab.PostLogoutRedirectUris.AddItems(specification.PostLogoutRedirectUris?.ToArray() ?? new string[] { });

            editClientPage.AuthenticationLogoutTab.IdentityProviderRestrictions.ClearSelectedItems();
            editClientPage.AuthenticationLogoutTab.IdentityProviderRestrictions.AddItems(specification.IdentityProviderRestrictions?.ToArray() ?? new string[] { });
        }
Exemplo n.º 18
0
        private void ValidateSecrets(Client specification, ClientDetailsEditPage editClientPage)
        {
            editClientPage.BasicsTab.ManageSecrets.SetAttribute(Driver, "target", "_self");
            editClientPage.BasicsTab.ManageSecrets.Click();

            ClientSecretsPage secretsPage = new ClientSecretsPage(Driver);

            if (specification.ClientSecrets != null)
            {
                var items = secretsPage.GetItems();
                Assert.AreEqual(specification.ClientSecrets.Count, items.Count);
                foreach (var secret in specification.ClientSecrets)
                {
                    // Value encrypted
                    //Assert.AreEqual(secret.Value, items.FirstOrDefault(x => x.Type.Text == secret.Type && x.Value.Text == secret.Value)?.Value.Text);
                    // Check if such type exists
                    Assert.AreEqual(secret.Type, items.FirstOrDefault(x => x.Type.Text == secret.Type && x.Value.Text.Length == 88)?.Type.Text);
                }
            }

            secretsPage.BackToClient.Click();
        }
Exemplo n.º 19
0
        private void ValidateTokenTab(Client specification, ClientDetailsEditPage editClientPage)
        {
            // TokenTab
            // Inputs
            Assert.AreEqual($"{specification.IdentityTokenLifetime}", editClientPage.TokenTab.IdentityTokenLifetime.Value);
            Assert.AreEqual($"{specification.AccessTokenLifetime}", editClientPage.TokenTab.AccessTokenLifetime.Value);
            Assert.AreEqual($"{specification.AuthorizationCodeLifetime}", editClientPage.TokenTab.AuthorizationCodeLifetime.Value);
            Assert.AreEqual($"{specification.AbsoluteRefreshTokenLifetime}", editClientPage.TokenTab.AbsoluteRefreshTokenLifetime.Value);
            Assert.AreEqual($"{specification.SlidingRefreshTokenLifetime}", editClientPage.TokenTab.SlidingRefreshTokenLifetime.Value);

            // Selects
            Assert.AreEqual($"{specification.AccessTokenType}", editClientPage.TokenTab.AccessTokenType.Value);
            Assert.AreEqual($"{specification.RefreshTokenExpiration}", editClientPage.TokenTab.RefreshTokenExpiration.Value);
            Assert.AreEqual($"{specification.RefreshTokenUsage}", editClientPage.TokenTab.RefreshTokenUsage.Value);

            // Toggles
            Assert.AreEqual(specification.UpdateAccessTokenClaimsOnRefresh, editClientPage.TokenTab.UpdateAccessTokenClaimsOnRefresh.Checked);
            Assert.AreEqual(specification.IncludeJwtId, editClientPage.TokenTab.IncludeJwtId.Checked);
            Assert.AreEqual(specification.AlwaysIncludeUserClaimsInIdToken, editClientPage.TokenTab.AlwaysIncludeUserClaimsInIdToken.Checked);
            Assert.AreEqual(specification.AlwaysSendClientClaims, editClientPage.TokenTab.AlwaysSendClientClaims.Checked);

            // Inputs
            Assert.AreEqual($"{specification.ClientClaimsPrefix ?? ""}", editClientPage.TokenTab.ClientClaimsPrefix.Value);
            Assert.AreEqual($"{specification.PairWiseSubjectSalt ?? ""}", editClientPage.TokenTab.PairWiseSubjectSalt.Value);

            // Tags
            var corsOrigins = editClientPage.TokenTab.AllowedCorsOrigins.SelectedTagsValues;

            if (specification.AllowedCorsOrigins != null)
            {
                foreach (var cors in specification.AllowedCorsOrigins)
                {
                    Assert.AreEqual(cors, corsOrigins.FirstOrDefault(x => x == cors));
                }
            }

            // Link: TODO
        }
        public void UpdateClientBasicsAndSecrets(Client specification)
        {
            var homePage = GoToHomePage();

            homePage.ClientLink.Click();
            ClientsListPage clientListPage = new ClientsListPage(Driver);

            var isClientExists = clientListPage.OpenItemForEditIfExists(specification.ClientId);

            if (!isClientExists)
            {
                // Create new client
                _registrationSteps.CreateNewClient(specification, clientListPage);
            }

            // Edit new client
            ClientDetailsEditPage editClientPage = new ClientDetailsEditPage(Driver);

            editClientPage.NameTab.ClientName.EnterText(specification.ClientName);
            _registrationSteps.SetupBasicsTab(specification, editClientPage);
            editClientPage.ConsentScreenTab.RequireConsent.Checked = specification.RequireConsent;
            _registrationSteps.SaveClient(editClientPage);
            AddSecret(specification.ClientSecrets, editClientPage, 2);
        }
Exemplo n.º 21
0
 internal void SaveClient(ClientDetailsEditPage editClientPage)
 {
     editClientPage.SaveClientBtn.Click();
     editClientPage.Navigate();
 }