def test_return_404_if_game_doesnt_exist(self): http_authorization = build_http_auth_header(self.username, self.password) response = self.client.delete( reverse('game_config:game_info', kwargs={'uuid':'1234'}), HTTP_AUTHORIZATION = http_authorization ) self.assertEqual(response.status_code, 404)
def test_return_401_with_incorrect_login(self): http_authorization = build_http_auth_header(self.username, 'wrong') response = self.client.delete( reverse('game_config:game_info', kwargs={'uuid':self.game.uuid}), HTTP_AUTHORIZATION = http_authorization ) self.assertEqual(response.status_code, 401)
def test_return_unauthorized_with_wrong_credentials(self): http_authorization = build_http_auth_header(self.username, 'wrong') response = self.client.post( reverse('game_config:root'), {'game_name':'name'}, content_type='application/json', HTTP_AUTHORIZATION = http_authorization ) self.assertEqual(response.status_code, 401)
def test_return_unauthorized_with_wrong_credentials(self): http_authorization = build_http_auth_header(self.user.username, 'wrong') response = self.client.get( reverse('projects:get_project', kwargs={'game_uuid':self.game.uuid}), HTTP_AUTHORIZATION = http_authorization ) self.assertEqual(response.status_code, 401)
def test_return_404_if_user_has_no_player(self): new_user, password = self.create_django_user(username='******') http_authorization = build_http_auth_header(new_user.username, password) response = self.client.get( reverse('projects:get_project', kwargs={'game_uuid':self.game.uuid}), HTTP_AUTHORIZATION = http_authorization ) self.assertEqual(response.status_code, 404)
def test_return_404_if_user_doesnt_belong_to_the_game(self): new_user, password = self.create_django_user(username='******') game, player = self.create_game_and_player(new_user, game_name='new_game') http_authorization = build_http_auth_header(new_user.username, password) response = self.client.get( reverse('projects:calc_pontuation', kwargs={'game_uuid':self.game.uuid}), HTTP_AUTHORIZATION = http_authorization ) self.assertEqual(response.status_code, 404)
def test_returns_404_if_game_doesnt_exist(self): http_authorization = build_http_auth_header(self.username, self.password) response = self.client.post( reverse('game_config:game_info', kwargs={'uuid':'not_exists'}), {}, content_type='application/json', HTTP_AUTHORIZATION = http_authorization ) self.assertEqual(response.status_code, 404)
def test_delete_game_if_it_exist_and_is_creator_login(self): self.assertTrue(Game.objects.all()) http_authorization = build_http_auth_header(self.username, self.password) response = self.client.delete( reverse('game_config:game_info', kwargs={'uuid':self.game.uuid}), HTTP_AUTHORIZATION = http_authorization ) self.assertEqual(response.status_code, 200) self.assertFalse(Game.objects.all())
def test_bad_request_with_corret_credentials_and_without_game_info(self): http_authorization = build_http_auth_header(self.username, self.password) response = self.client.post( reverse('game_config:root'), {}, content_type='application/json', HTTP_AUTHORIZATION = http_authorization ) self.assertEqual(response.status_code, 400)
def test_return_unauthorized_with_wrong_credentials(self): http_auth = build_http_auth_header(self.username, 'wrong') request = HttpRequest() request.META['HTTP_AUTHORIZATION'] = http_auth @user_auth def some_view(request): return HttpResponse('OK') response = some_view(request) self.assertEqual(response.status_code, 401)
def test_return_unauthorized_with_wrong_credentials(self): http_authorization = build_http_auth_header(self.user.username, 'wrong') response = self.client.post( reverse('teams:single_team', kwargs={'team_uuid':self.team.uuid}), {'game_uuid':self.game.uuid}, content_type='application/json', HTTP_AUTHORIZATION = http_authorization, ) self.assertEqual(response.status_code, 401)
def test_auth_with_correct_credentials(self): http_auth = build_http_auth_header(self.username, self.password) request = HttpRequest() request.META['HTTP_AUTHORIZATION'] = http_auth @user_auth def some_view(request): return HttpResponse('OK') response = some_view(request) self.assertEqual(response.status_code, 200) self.assertTrue(request.user)
def test_return_404_if_user_has_no_player(self): new_user, password = self.create_django_user(username='******') http_authorization = build_http_auth_header(new_user.username, password) response = self.client.post( reverse('teams:single_team', kwargs={'team_uuid':self.team.uuid}), {'game_uuid':self.game.uuid}, content_type='application/json', HTTP_AUTHORIZATION = http_authorization, ) self.assertEqual(response.status_code, 404)
def test_returns_forbidden_in_case_user_is_already_in_a_game(self): player = Player.objects.create(user=self.user, current_game=self.game) http_authorization = build_http_auth_header(self.username, self.password) response = self.client.post( reverse('game_config:game_info', kwargs={'uuid':self.game.uuid}), {}, content_type='application/json', HTTP_AUTHORIZATION = http_authorization ) self.assertEqual(response.status_code, 403)
def test_return_forbiden_in_case_user_is_already_in_a_game(self): game, player = self.create_game_and_player(self.user) http_authorization = build_http_auth_header(self.username, self.password) response = self.client.post( reverse('game_config:root'), {"game_name":"name"}, content_type='application/json', HTTP_AUTHORIZATION = http_authorization ) self.assertEqual(response.status_code, 403) self.assertEqual(Game.objects.count(), 1) self.assertEqual(Player.objects.count(), 1)
def test_succefull_response_returns_correct_content(self): http_authorization = build_http_auth_header(self.username, self.password) response = self.client.post( reverse('game_config:root'), {"game_name":"name"}, content_type='application/json', HTTP_AUTHORIZATION = http_authorization ) content = json.loads(response.content) self.assertTrue(content['game']) self.assertTrue(content['delete_game_uri']) self.assertTrue(content['game_info_uri']) self.assertTrue(content['get_project_uri'])
def test_leave_game_if_it_exist_and_player_login(self): user, password = self.create_django_user(username='******') player = Player.objects.create(user=user, current_game=self.game) self.assertTrue(Game.objects.all()) self.assertTrue(Player.objects.all()) http_authorization = build_http_auth_header(user.username, password) response = self.client.delete( reverse('game_config:game_info', kwargs={'uuid':self.game.uuid}), HTTP_AUTHORIZATION = http_authorization ) self.assertEqual(response.status_code, 200) self.assertTrue(Game.objects.all()) self.assertFalse(Player.objects.all())
def test_404_player_does_not_belong_to_the_game(self): user, password = self.create_django_user(username='******') game, player = self.create_game_and_player(user, game_name='new_game') self.assertTrue(Game.objects.all()) self.assertTrue(Player.objects.all()) http_authorization = build_http_auth_header(user.username, password) response = self.client.delete( reverse('game_config:game_info', kwargs={'uuid':self.game.uuid}), HTTP_AUTHORIZATION = http_authorization ) self.assertEqual(response.status_code, 404) self.assertTrue(Game.objects.all()) self.assertTrue(Player.objects.all())
def test_creates_new_game_with_corret_credentials_and_game_info(self): self.assertFalse(Game.objects.all()) self.assertFalse(Player.objects.all()) http_authorization = build_http_auth_header(self.username, self.password) response = self.client.post( reverse('game_config:root'), {"game_name":"name"}, content_type='application/json', HTTP_AUTHORIZATION = http_authorization ) self.assertEqual(response.status_code, 200) self.assertTrue(Game.objects.all()) self.assertTrue(Player.objects.all()) game = Game.objects.all()[0] self.assertTrue(game.creator, self.user)
def test_join_game_with_correct_credentials(self): self.assertFalse(Player.objects.all()) http_authorization = build_http_auth_header(self.username, self.password) response = self.client.post( reverse('game_config:game_info', kwargs={'uuid':self.game.uuid}), {}, content_type='application/json', HTTP_AUTHORIZATION = http_authorization ) content = json.loads(response.content) self.assertEqual(response.status_code, 200) self.assertTrue(Player.objects.all()) self.assertTrue(content['game']) self.assertTrue(content['leave_game_uri']) self.assertTrue(content['game_info_uri']) self.assertTrue(content['get_project_uri'])
def setUp(self): self.user, password = self.create_django_user() self.game, self.player = self.create_game_and_player(self.user) self.http_authorization = build_http_auth_header(self.user.username, password)
def setUp(self): self.user, password = self.create_django_user() self.http_authorization = build_http_auth_header(self.user.username, password) self.game, self.player = self.create_game_and_player(self.user) self.game_team = GameTeam.objects.create(team=Team.objects.all()[0], player=self.player)