Exemple #1
0
        public void GetApiToken_WrongPassword_ReturnedTokenWillBeNull()
        {
            using (var fixture = new FixtureInit("http://localhost"))
            {
                // arrange
                var userRepository = new UsersRepository(fixture.Setup.Context);
                var hashService    = new HashService();

                var service = new ApiService(userRepository, hashService);

                var email        = "*****@*****.**";
                var password     = "******";
                var passwordHash = hashService.CreateMD5Hash(password);
                var apiToken     = hashService.CreateApiToken(email, password);

                userRepository.Save(
                    new User
                {
                    Email        = email,
                    PasswordHash = passwordHash,
                    ApiToken     = apiToken,
                    Temp         = false
                }
                    );

                // act
                var result = service.GetApiToken(email, password + "xx");

                // assert
                Assert.That(result, Is.Null);
            }
        }
        public void CreateApiToken()
        {
            // arrange
            var service = new HashService();

            // act
            var hash = service.CreateApiToken("email", "passwordhash");

            // assert
            Assert.That(hash, Is.Not.Null);
            Assert.That(hash.Length, Is.EqualTo(32));
        }
Exemple #3
0
        private static void GenerateApiToken(UsersRepository usersRepository, HashService hash)
        {
            foreach (var user in usersRepository.Users.Where(u => u.Temp == false))
            {
                if (string.IsNullOrEmpty(user.ApiToken))
                {
                    var apiToken = hash.CreateApiToken(user.Email, user.PasswordHash);
                    user.ApiToken = apiToken;

                    usersRepository.Save(user);

                    Console.WriteLine(string.Format("Generated API token for {0}", user.Email));
                }
            }
        }