Example #1
0
        public void CheckThatLoginUsingTokenFromApiInBrowserIsPossible()
        {
            var leadRegistrationData = new ClientSignUpModel
            {
                Email       = USER_EMAIL + DateTime.Now.ToString("ddmmyyyyhhmmss"),
                Password    = PASSWORD,
                FirstName   = "sdfsadfsf",
                LastName    = "asdadasdsad",
                PhoneNumber = "1231231231"
            };

            var authRequests = new AuthRequests();
            var leadRegistrationResponseData = authRequests.SendRequestSignUpPost(leadRegistrationData);

            Context.Token = leadRegistrationResponseData.TokenData.Token;

            var driver             = new ChromeDriver();
            IJavaScriptExecutor js = driver;

            driver.Navigate().GoToUrl("https://newbookmodels.com/auth/signin");
            js.ExecuteScript($"localStorage.setItem('access_token','{Context.Token}');");
            driver.Navigate().GoToUrl("https://newbookmodels.com/account-settings/account-info/edit");
            //Thread.Sleep(3000);
            //var result = driver.FindElement(By.CssSelector("div[class^='Avatar'] > div[class^='AvatarClient']")).Displayed;



            //driver.Quit();
            //Assert.IsTrue(result);
        }
        private void buttLogin_Click(object sender, EventArgs e)
        {
            if (tbEmail.Text == "")
            {
                MessageBox.Show("Email is required");
                return;
            }

            if (tbPassword.Text == "")
            {
                MessageBox.Show("Username is required");
                return;
            }

            MessageResponse result = AuthRequests.postLogin(tbEmail.Text, tbPassword.Text);

            if (result.message == "Login successful!")
            {
                lblError.Text = "";
                GlobalVariables.bIsLoggedIn = true;
                GlobalVariables.userPanel = new Forms.UserForm();
                GlobalVariables.userPanel.Show();
                if (GlobalVariables.user.public_key != "")
                {
                    Functions.RSA.setPrivateKey(RegistryData.getRegistryPrivateKey());
                }
                this.Hide();
            }
            else
            {
                lblError.Text = result.message;
            }
        }
        public async Task Start()
        {
            Console.Clear();

            while (true)
            {
                Console.WriteLine();
                Console.WriteLine("Start menu");
                Console.WriteLine("1.\tRegistration");
                Console.WriteLine("2.\tLogin");
                Console.WriteLine("3.\tStatistics");
                Console.WriteLine("4.\tExit");

                Console.Write("Enter the number: ");
                if (!int.TryParse(Console.ReadLine(), out var num))
                {
                    Console.WriteLine("The only numbers can be entered. Try again");
                    continue;
                }

                if (_stopwatch.ElapsedMilliseconds > 30000)
                {
                    _currentSession.CountLoginFailed = 0;
                    _stopwatch.Stop();
                }

                switch (num)
                {
                case 1:
                    await AuthRequests.Register(_client, _currentSession);

                    break;

                case 2:
                    if (_currentSession.CountLoginFailed < 3)
                    {
                        await AuthRequests.Login(_client, _currentSession, _stopwatch);
                    }
                    else
                    {
                        Console.WriteLine("You were temporarily blocked due to incorrect authorization!");
                    }
                    break;

                case 3:
                    await StatRequests.GetGeneralStat(_client);

                    break;

                case 4:
                    Console.WriteLine("Goodbye!");
                    return;

                default:
                    Console.WriteLine("Incorrect number. Try again");
                    break;
                }
            }
        }
        public void ChangeUserEmailWithInvalidEmailApiTest()
        {
            var expectedEmail = $"Jonson{DateTime.Now:ddyyyymmHHmmssffff}@gmail";

            Thread.Sleep(100);
            var user        = new UserConstructor();
            var createdUser = AuthRequests.SendRequestClientSignUpPost(user.User);

            var response = ClientRequests.SendRequestChangeClientEmailWithInvalidDataPost(
                "QWE123qwe!@#", expectedEmail, createdUser.TokenData.Token);

            Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
        }
Example #5
0
            public void GivenClientIsCreated()
            {
                var createUser = AuthRequests.SendRequestClientSignUpPost(new Dictionary <string, string>
                {
                    { "email", $"asda2sd2asd{DateTime.Now:ddyyyymmHHmmssffff}@asdasd.ert" },
                    { "first_name", "asdasdasd" },
                    { "last_name", "asdasdasd" },
                    { "password", Constants.Password },
                    { "phone_number", "3453453454" }
                });

                _scenarioContext.Add(Context.User, createUser);
            }
Example #6
0
        public void GivenClientIsCreated()
        {
            var response = new AuthRequests().SendRequestSignUpPost(new ClientSignUpModel
            {
                Email       = "qweasd" + DateTime.Now.ToString("hhmmss") + "*****@*****.**",
                Password    = "******",
                FirstName   = "sdfsadfsf",
                LastName    = "asdadasdsad",
                PhoneNumber = "1231231231"
            });

            ScenarioContext.Current["client"] = response;
            ScenarioContext.Current["token"]  = response.TokenData.Token;
        }
Example #7
0
        public void ChangeUserPhoneWithInvalidCurrentPasswordApiTest()
        {
            var expectedPhone = $"5556664452";
            var user          = new UserConstructor();
            var createdUser   = AuthRequests.SendRequestClientSignUpPost(user.User);

            var responseModel = ClientRequests.SendRequestChangeClientPhoneNumberPost(
                "QWE123qwe!@#221", expectedPhone, createdUser.TokenData.Token);

            Assert.Multiple(() =>
            {
                Assert.IsNull(responseModel.Model.PhoneNumber);
                Assert.AreEqual(HttpStatusCode.BadRequest, responseModel.Response.StatusCode);
            });
        }
        public void ChangeUserIndustryApiTest()
        {
            var expectedIndustry = "fashion";
            var user             = new UserConstructor();
            var createdUser      = AuthRequests.SendRequestClientSignUpPost(user.User);

            var responseModel = ClientRequests.SendRequestChangeClientProfileInfoPatch(
                expectedIndustry, createdUser.User.ClientProfile.LocationName, createdUser.User.ClientProfile.LocationTimezone, createdUser.TokenData.Token);

            Assert.Multiple(() =>
            {
                Assert.AreEqual(expectedIndustry, responseModel.Model.Industry);
                Assert.AreEqual(HttpStatusCode.OK, responseModel.Response.StatusCode);
            });
        }
Example #9
0
        public void ChangeUserLastNameApiTest()
        {
            var expectedLastName = "Smith";
            var user             = new UserConstructor();
            var createdUser      = AuthRequests.SendRequestClientSignUpPost(user.User);

            var responseModel = ClientRequests.SendRequestChangeClientSelfInfoPatch(
                createdUser.User.FirstName, expectedLastName, createdUser.TokenData.Token);

            Assert.Multiple(() =>
            {
                Assert.AreEqual(expectedLastName, responseModel.Model.LastName);
                Assert.AreEqual(HttpStatusCode.OK, responseModel.Response.StatusCode);
            });
        }
Example #10
0
        public void GivenClientIsLogIn()
        {
            var leadRegistrationData = new ClientSignUpModel
            {
                Email       = USER_EMAIL + DateTime.Now.ToString("ddmmyyyyhhmmss"),
                Password    = PASSWORD,
                FirstName   = "sdfsadfsf",
                LastName    = "asdadasdsad",
                PhoneNumber = "1231231231"
            };

            var authRequests = new AuthRequests();
            var leadRegistrationResponseData = authRequests.SendRequestSignUpPost(leadRegistrationData);
            //  Context.Token = leadRegistrationResponseData.TokenData.Token;
        }
        public void ChangeUserCompanyNameApiTest()
        {
            var expectedCompanyName = "Danny Fois";
            var user        = new UserConstructor();
            var createdUser = AuthRequests.SendRequestClientSignUpPost(user.User);
            var userWithProfileCompanyInfo = ClientRequests.SendRequestClientProfileCompanyInfoPatch(createdUser);

            var responseModel = ClientRequests.SendRequestChangeClientProfileCompanyInfoPatch(
                userWithProfileCompanyInfo.User.ClientProfile.CompanyDescription, expectedCompanyName, "ddf.com", userWithProfileCompanyInfo.TokenData.Token);

            Assert.Multiple(() =>
            {
                Assert.AreEqual(expectedCompanyName, responseModel.Model.CompanyName);
                Assert.AreEqual(HttpStatusCode.OK, responseModel.Response.StatusCode);
            });
        }
        public void ChangeUserProfileImageApiTest()
        {
            var fileName    = "123.jpg";
            var filePath    = "C:/Users/hydra/Downloads/123.jpg";
            var user        = new UserConstructor();
            var createdUser = AuthRequests.SendRequestClientSignUpPost(user.User);

            var imageId       = ClientRequests.SendReguestUploadClientImagesPost(createdUser.TokenData.Token, fileName, filePath);
            var responseModel = ClientRequests.SendRequestUploadClientProfileImagePatch(createdUser.TokenData.Token, imageId);

            Assert.Multiple(() =>
            {
                Assert.AreEqual(imageId, responseModel.Model.Avatar.Id);
                Assert.AreEqual(HttpStatusCode.OK, responseModel.Response.StatusCode);
            });
        }
        public void ChangeUserEmailWithInvalidCurrentPasswordApiTest()
        {
            var expectedEmail = $"Jonson{DateTime.Now:ddyyyymmHHmmssffff}@gmail.com";

            Thread.Sleep(100);
            var user        = new UserConstructor();
            var createdUser = AuthRequests.SendRequestClientSignUpPost(user.User);

            var responseModel = ClientRequests.SendRequestChangeClientEmailPost(
                "QWE123qwe!@#122", expectedEmail, createdUser.TokenData.Token);

            Assert.Multiple(() =>
            {
                Assert.IsNull(responseModel.Model.Email);
                Assert.AreEqual(HttpStatusCode.BadRequest, responseModel.Response.StatusCode);
            });
        }
Example #14
0
        public void Test2()
        {
            var expected = $"asda2sd2asd{DateTime.Now:ddyyyymmHHmmssffff}@asdasd.ert";
            var user     = new Dictionary <string, string>
            {
                { "email", $"asda2sd2asd{DateTime.Now:ddyyyymmHHmmssffff}@asdasd.ert" },
                { "first_name", "asdasdasd" },
                { "last_name", "asdasdasd" },
                { "password", "123qwe!QWE" },
                { "phone_number", "3453453454" }
            };
            var createdUser = AuthRequests.SendRequestClientSignUpPost(user);

            var changedEmail = ClientRequests.SenRequestChangeClientEmailPost("123qwe!QWE", expected, createdUser.TokenData.Token);

            Assert.AreEqual(expected, changedEmail);
        }
        public void Test2()
        {
            var user = new Dictionary <string, string>
            {
                { "email", $"asda2sd2asd{DateTime.Now:ddyyyymmHHmmssffff}@asdasd.ert" },
                { "first_name", "asdasdasd" },
                { "last_name", "asdasdasd" },
                { "password", "123qwe!QWE" },
                { "phone_number", "3453453454" }
            };
            var createdUser = AuthRequests.SendRequestClientSignUpPost(user);

            var changedEmail = ClientRequests.SendRequestChangeGeneralInformationPost("Lilit", "Nombre", createdUser.TokenData.Token);

            Assert.AreEqual("Lilit", changedEmail.FirstName);
            Assert.AreEqual("Nombre", changedEmail.LastName);
        }
        public void ChangecsdUserPasswordWithInvalidCurrentPasswordApiTest()
        {
            var expectedNewPassword = "******";

            Thread.Sleep(100);
            var user        = new UserConstructor();
            var createdUser = AuthRequests.SendRequestClientSignUpPost(user.User);

            var responseModel = ClientRequests.SendRequestChangeClientPasswordPost(
                "QWE123qwe!@#222", expectedNewPassword, createdUser.TokenData.Token);

            Assert.Multiple(() =>
            {
                Assert.IsNull(responseModel.Model.Token);
                Assert.AreEqual(HttpStatusCode.BadRequest, responseModel.Response.StatusCode);
            });
        }
        public void ChangeUserComopanyLocationyApiTest()
        {
            var expectedLocationName     = "New York";
            var expectedLocationTimezone = "America/New_York";
            var user        = new UserConstructor();
            var createdUser = AuthRequests.SendRequestClientSignUpPost(user.User);

            var responseModel = ClientRequests.SendRequestChangeClientProfileInfoPatch(
                createdUser.User.ClientProfile.Industry, expectedLocationName, expectedLocationTimezone, createdUser.TokenData.Token);

            Assert.Multiple(() =>
            {
                Assert.AreEqual(expectedLocationName, responseModel.Model.LocationName);
                Assert.AreEqual(expectedLocationTimezone, responseModel.Model.LocationTimezone);
                Assert.AreEqual(HttpStatusCode.OK, responseModel.Response.StatusCode);
            });
        }
Example #18
0
        public void CheckThatIsPossibleToCreateNewUserUsingApi()
        {
            var expectedEmail = USER_EMAIL + DateTime.Now.ToString("ddmmyyyyhhmmss");
            var client        = new AuthRequests().SendRequestSignUpPost(new ClientSignUpModel
            {
                Email       = expectedEmail,
                Password    = PASSWORD,
                FirstName   = "sdfsadfsf",
                LastName    = "asdadasdsad",
                PhoneNumber = "1231231231"
            });

            Assert.Multiple(() =>
            {
                Assert.That(client.User.Id != null && client.User.Id != string.Empty);
                Assert.IsTrue(client.User.Email == expectedEmail);
            });
        }
        public void ChangeUserProfileCompanyInfoWithValidDataApiTest()
        {
            var expectedCompanyName        = "Sunny Jonson";
            var expectedCompanyURL         = "http://sunnyJonson.com";
            var expectedCompanyDescription = "somthing";
            var user        = new UserConstructor();
            var createdUser = AuthRequests.SendRequestClientSignUpPost(user.User);
            var userWithProfileCompanyInfo = ClientRequests.SendRequestClientProfileCompanyInfoPatch(createdUser);

            var responseModel = ClientRequests.SendRequestChangeClientProfileCompanyInfoPatch(
                expectedCompanyDescription, expectedCompanyName, expectedCompanyURL, userWithProfileCompanyInfo.TokenData.Token);

            Assert.Multiple(() =>
            {
                Assert.AreEqual(expectedCompanyName, responseModel.Model.CompanyName);
                Assert.AreEqual(expectedCompanyURL, responseModel.Model.CompanyWebsite);
                Assert.AreEqual(expectedCompanyDescription, responseModel.Model.CompanyDescription);
                Assert.AreEqual(HttpStatusCode.OK, responseModel.Response.StatusCode);
            });
        }
Example #20
0
        public void GivenIsLogIn()
        {
            var leadRegistrationData = new ClientSignUpModel
            {
                Email       = USER_EMAIL + DateTime.Now.ToString("ddmmyyyyhhmmss"),
                Password    = PASSWORD,
                FirstName   = "sdfsadfsf",
                LastName    = "asdadasdsad",
                PhoneNumber = "1231231231"
            };

            var authRequests = new AuthRequests();
            var leadRegistrationResponseData = authRequests.SendRequestSignUpPost(leadRegistrationData);

            Context.Token = leadRegistrationResponseData.TokenData.Token;

            var driver             = new ChromeDriver();
            IJavaScriptExecutor js = driver;

            //  driver.Navigate().GoToUrl("https://newbookmodels.com/auth/signin");
            js.ExecuteScript($"localStorage.setItem('access_token','{Context.Token}');");
            Thread.Sleep(3000);
        }
Example #21
0
        public async Task LoginAsync(string email, string password)
        {
            try
            {
                RestClient.Authenticator = new HttpBasicAuthenticator(email, password);
                CurrentLogin             = await AuthRequests.SendAuthRequestAsync(RestClient);

                // Schedule renewing session before it expires
                var renewTime  = CurrentLogin.Expiration.AddSeconds(-(10 * 60)); // Renew auth 10 minutes before it expires
                var renewDelay = renewTime - DateTime.UtcNow;

                if (renewDelay > TimeSpan.Zero)
                {
                    Console.WriteLine($"Renewing token at {renewTime.ToLocalTime()}");

                    renewCancellation = new CancellationTokenSource();
                    renewTask         = RenewLoginAsync(renewDelay, email, password, renewCancellation.Token);
                }
            }
            finally
            {
                RestClient.Authenticator = null;
            }
        }
Example #22
0
        public void CheckThatIsPossibleToChangePasswordByApi()
        {
            var leadRegistrationData = new ClientSignUpModel
            {
                Email       = USER_EMAIL + DateTime.Now.ToString("ddmmyyyyhhmmss"),
                Password    = PASSWORD,
                FirstName   = "qweqwe",
                LastName    = "qweqweqwe",
                PhoneNumber = "1431231231"
            };

            var authRequests = new AuthRequests();
            var leadRegistrationResponseData = authRequests.SendRequestSignUpPost(leadRegistrationData);

            Context.Token = leadRegistrationResponseData.TokenData.Token;

            var response = new PasswordRequests().SendRequestChangePassword(new PasswordModel
            {
                OldPassword = PASSWORD,
                NewPassword = "******"
            });

            Assert.IsTrue(response.Contains(Context.Token));
        }
Example #23
0
        public void Test2()
        {
            var expectedEmail = $"asda2sd2asd{DateTime.Now:ddyyyymmHHmmssffff}@asdasd.ert";

            Thread.Sleep(100);
            var user = new Dictionary <string, string>
            {
                { "email", $"asda2sd2asd{DateTime.Now:ddyyyymmHHmmssffff}@asdasd.ert" },
                { "first_name", "asdasdasd" },
                { "last_name", "asdasdasd" },
                { "password", "123qweQWE" },
                { "phone_number", "3453453454" }
            };
            var createdUser = AuthRequests.SendRequestClientSignUpPost(user);

            var responseModel = ClientRequests.SendRequestChangeClientEmailPost(
                "123qweQWE", expectedEmail, createdUser.TokenData.Token);

            Assert.Multiple(() =>
            {
                Assert.AreEqual(expectedEmail, responseModel.Model.Email);
                Assert.AreEqual(HttpStatusCode.OK, responseModel.Response.StatusCode);
            });
        }