Exemplo n.º 1
0
def test_thrift_user_equal_db_user():
	user = helpers.get_user_object()
	t_user = helpers.get_thrift_user()
	assert user == t_user
	
	t_user.name = 'bad name'
	assert user != t_user
def test_create_game(set_up):
	handler = set_up
	# Have to register a user before we can create a game.
	thrift_user = helpers.get_thrift_user()
	handler.registerUser(thrift_user)
	game = handler.startGame(thrift_user)

	db_game = handler.game_query.first()
	assert db_game == game
Exemplo n.º 3
0
def test_thrift_game_equal_db_game():
	user = helpers.get_user_object()
	game = helpers.get_game_object(user)

	t_user = helpers.get_thrift_user()
	t_game = helpers.get_thrift_game(t_user)

	assert game == t_game
	t_game.game_id = 2
	assert game != t_game
def test_create_user(set_up):
	handler = set_up
	thrift_user = helpers.get_thrift_user()
	new_thrift_user = handler._create_user(thrift_user)

	# Python is pass-by-reference, meaning that the returned object
	# is the same as the one we sent in.
	assert new_thrift_user is thrift_user

	db_user = handler.user_query.filter(User.name==thrift_user.name).first()
	assert db_user == new_thrift_user
def test_register_user(set_up):
	handler = set_up
	thrift_user = helpers.get_thrift_user()
	with pytest.raises(ttypes.NameTaken):
		handler.registerUser(None)
		assert False

	generated_user = handler.registerUser(thrift_user)
	assert generated_user is thrift_user
	
	# Test that if we try to re-authenticate with correct info, we get the same
	# object back from the register method.
	assert handler.registerUser(thrift_user) == thrift_user
	
	new_thrift_user = helpers.get_thrift_user()
	with pytest.raises(ttypes.NameTaken):
		handler.registerUser(new_thrift_user)
		assert False

	db_user = handler.user_query.filter(User.name==thrift_user.name).first()
	assert db_user == thrift_user
def test_user_credentials_valid(set_up):
	handler = set_up
	assert not handler._user_information_valid(None)
	thrift_user = helpers.get_thrift_user()
	assert not handler._user_information_valid(thrift_user)
	
	db_user = helpers.get_user_object()
	handler.session.add(db_user)
	assert handler._user_information_valid(thrift_user)
	
	thrift_user.server_id = None
	assert not handler._user_information_valid(thrift_user)
Exemplo n.º 7
0
def test_thrift_guess_equal_db_guess():
	user = helpers.get_user_object()
	game = helpers.get_game_object(user)
	guess = helpers.get_guess_object(game)

	t_user = helpers.get_thrift_user()
	t_game = helpers.get_thrift_game(t_user)
	t_guess = helpers.get_thrift_guess(t_game)

	assert guess == t_guess
	t_guess.number = 1000000
	assert guess != t_guess
def test_making_guess(set_up):
	handler = set_up

	thrift_user = helpers.get_thrift_user()
	handler.registerUser(thrift_user)
	game = handler.startGame(thrift_user)

	minimum_val = game.min
	maximum_val = game.max

	guess_num = random.randint(minimum_val, maximum_val)

	guess = ttypes.Guess(
		number=guess_num, game=game
	)
	result = handler.guess(guess)
	assert isinstance(result, ttypes.GuessResult)
	
	if result.correct:
		assert result.game_over
	else:
		assert not result.game_over