def test_validate_user_without_total(self, mock_mongo): """ Test that a user without total returns False and a correct message """ user = generate_random_users(1)[0] del user["total"] valid, message = user_helpers.validate_user(user) self.assertFalse(valid) self.assertEqual(message, TOTAL_NOT_AVAILABLE)
def test_validate_user_already_exists(self, mock_mongo): """ Test that a user that already exists returns False and a correct message """ user = generate_random_users(1)[0] mock_mongo.db.users.find_one.return_value = user valid, message = user_helpers.validate_user(user) self.assertFalse(valid) self.assertEqual(message, USER_ALREADY_EXISTS)
def test_validate_valid_user(self, mock_mongo): """ Test that a valid user returns True and Successful """ user = generate_random_users(1)[0] mock_mongo.db.users.find_one.return_value = None valid, message = user_helpers.validate_user(user) self.assertTrue(valid) self.assertEqual(message, SUCCESSFUL_VALIDATION_MESSAGE)
def test_validate_user_without_username(self, mock_mongo): """ Test that a user without username returns False and a correct message """ user = generate_random_users(1)[0] del user["username"] valid, message = user_helpers.validate_user(user) self.assertFalse(valid) self.assertEqual(message, USERNAME_NOT_AVAILABLE)
def test_get_users_correct(self): """ Test that a GET to the users endpoint returns the correct values """ random_users = generate_random_users(random.randint(1, 10)) with patch.object(server, "get_user_list", return_value=random_users): response = self.app.get(URL_BASE + "users/", follow_redirects=True) response_dict = ujson.loads(response.data.decode("utf-8")) self.assertIn("status", response_dict) self.assertEqual(response_dict["status"], "ok") self.assertIn("data", response_dict) self.assertEqual(response_dict["data"], random_users)
def test_get_users_correct(self): """ Test that a GET to the users endpoint returns the correct values """ random_users = generate_random_users(random.randint(1,10)) with patch.object(server, "get_user_list", return_value=random_users): response = self.app.get(URL_BASE + "users/", follow_redirects=True) response_dict = ujson.loads(response.data.decode("utf-8")) self.assertIn("status", response_dict) self.assertEqual(response_dict["status"], "ok") self.assertIn("data", response_dict) self.assertEqual(response_dict["data"], random_users)
def test_get_user_list(self, mock_mongo): """ Test that getting a user list works as expected """ random_users = generate_random_users(random.randint(1, 10)) mock_mongo.db.users.find.return_value = random_users response_users = user_helpers.get_user_list() # We assert that it returns the expected number of users self.assertEqual(len(random_users), len(response_users)) # And we assert that the users are the same for user in response_users: self.assertIn(user, random_users)