Example #1
0
 def test_update_errors_without_auth(self):
     update_url = '/players/{}'.format(self.player.get_id())
     username = get_incremental_username(self.player.get_id())
     player_data = {
         'username': username
     }
     response = self.put(update_url, data=player_data)
     self.assertEqual(422, response.status_code)
     errors = json.loads(response.data)
     self.assertIsNotNone(errors.get('errors'))
     self.assertIsNotNone(errors.get('errors').get('UnauthorizedAccess'))
     self.assertIsNone(errors.get('inputs'))
Example #2
0
 def test_update_errors_for_nonexistent_player(self):
     player_id = self.NUM_PLAYERS + 1
     update_url = '/players/{}'.format(player_id)
     username = get_incremental_username(player_id)
     player_data = {
         'username': username
     }
     response = self.put(update_url, data=player_data)
     self.assertEqual(422, response.status_code)
     errors = json.loads(response.data)
     self.assertIsNotNone(errors.get('errors'))
     self.assertIsNotNone(errors.get('errors').get('PlayerNotFound'))
     self.assertIsNotNone(errors.get('inputs'))
     self.assertEqual(player_id, errors.get('inputs').get('id'))
Example #3
0
 def test_update_returns_error_from_username_not_unique(self):
     player_id = self.player.get_id()
     player_number = 1 if player_id == 2 else 2
     update_url = '/players/{}'.format(player_id)
     username = get_incremental_username(player_number)
     player_data = {
         'username': username,
     }
     response = self.put(update_url, data=player_data)
     self.assertEqual(422, response.status_code)
     errors = json.loads(response.data)
     self.assertIsNotNone(errors.get('errors'))
     self.assertIsNotNone(errors.get('errors').get('IntegrityError'))
     self.assertIsNotNone(errors.get('inputs'))
     self.assertEqual(player_id, errors.get('inputs').get('id'))
     self.assertEqual(username, errors.get('inputs').get('username'))
     self.assertIsNone(errors.get('inputs').get('password'))
     self.assertEqual('', errors.get('inputs').get('email'))
     self.assertEqual('', errors.get('inputs').get('avatar_url'))
Example #4
0
 def test_create_returns_error_from_missing_email(self):
     player_id = self.NUM_PLAYERS + 1
     create_url = '/players'
     username = get_incremental_username(player_id)
     player_data = {
         'username': username,
         'password': self.PLAYER_PASSWORD,
         'confirm': self.PLAYER_PASSWORD
     }
     response = self.post(create_url, data=player_data)
     self.assertEqual(422, response.status_code)
     errors = json.loads(response.data)
     self.assertIsNotNone(errors.get('errors'))
     self.assertIsNotNone(errors.get('errors').get('email'))
     self.assertIsNotNone(errors.get('inputs'))
     self.assertEqual(username, errors.get('inputs').get('username'))
     self.assertIsNone(errors.get('inputs').get('password'))
     self.assertIsNone(errors.get('inputs').get('confirm'))
     self.assertEqual('', errors.get('inputs').get('email'))
     self.assertEqual('', errors.get('inputs').get('avatar_url'))
Example #5
0
 def test_create_returns_error_from_email_not_unique(self):
     player_id = self.NUM_PLAYERS + 1
     player_number = 1 if self.player.get_id() == 2 else 2
     create_url = '/players'
     username = get_incremental_username(player_id)
     email = get_incremental_email(player_number)
     player_data = {
         'username': username,
         'password': self.PLAYER_PASSWORD,
         'confirm': self.PLAYER_PASSWORD,
         'email': email
     }
     response = self.post(create_url, data=player_data)
     self.assertEqual(422, response.status_code)
     errors = json.loads(response.data)
     self.assertIsNotNone(errors.get('errors'))
     self.assertIsNotNone(errors.get('errors').get('IntegrityError'))
     self.assertIsNotNone(errors.get('inputs'))
     self.assertEqual(username, errors.get('inputs').get('username'))
     self.assertIsNone(errors.get('inputs').get('password'))
     self.assertIsNone(errors.get('inputs').get('confirm'))
     self.assertEqual(email, errors.get('inputs').get('email'))
     self.assertEqual('', errors.get('inputs').get('avatar_url'))
Example #6
0
    def test_update_updates_player(self):
        update_url = '/players/{}'.format(self.player.get_id())
        player_number = self.player.get_id() * 100
        username = get_incremental_username(player_number)
        email = get_incremental_email(player_number)
        password = 'password{}'.format(player_number)
        avatar_url = get_incremental_avatar_url(player_number)
        player_data = {
            'username': username,
            'password': password,
            'confirm': password,
            'email': email,
            'avatar_url': avatar_url,
            'is_active': False
        }
        response = self.put(update_url, data=player_data)
        self.assertEqual(200, response.status_code)
        player = json.loads(response.data)
        self.assertIsNotNone(player.get('id'))
        self.assertIsNotNone(player.get('date_created'))
        self.assertIsNotNone(player.get('date_modified'))
        self.assertEqual(username, player.get('username'))
        self.assertEqual(email, player.get('email'))
        self.assertIsNone(player.get('password'))
        self.assertEqual(avatar_url, player.get('avatar_url'))
        self.assertEqual(False, player.get('is_active'))

        # Make sure the player was actually updated in the database
        saved_player = PlayersService.get_instance().get(int(player.get('id')))
        self.assertEqual(saved_player.get_id(), player.get('id'))
        self.assertEqual(Player.dump_datetime(saved_player.get_date_created()), player.get('date_created'))
        self.assertEqual(Player.dump_datetime(saved_player.get_date_modified()), player.get('date_modified'))
        self.assertEqual(saved_player.get_username(), player.get('username'))
        self.assertEqual(saved_player.get_email(), player.get('email'))
        self.assertEqual(saved_player.get_avatar_url(), player.get('avatar_url'))
        self.assertEqual(saved_player.get_is_active(), player.get('is_active'))
Example #7
0
    def test_create_returns_created_status(self):
        player_id = self.NUM_PLAYERS + 1
        create_url = '/players'
        username = get_incremental_username(player_id)
        email = get_incremental_email(player_id)
        avatar_url = get_incremental_avatar_url(player_id)
        player_data = {
            'username': username,
            'password': self.PLAYER_PASSWORD,
            'confirm': self.PLAYER_PASSWORD,
            'email': email,
            'avatar_url': avatar_url
        }
        response = self.post(create_url, data=player_data)
        self.assertEqual(201, response.status_code)
        player = json.loads(response.data)
        self.assertIsNotNone(player.get('id'))
        self.assertIsNotNone(player.get('date_created'))
        self.assertIsNotNone(player.get('date_modified'))
        self.assertEqual(username, player.get('username'))
        self.assertEqual(email, player.get('email'))
        self.assertIsNone(player.get('password'))
        self.assertEqual(avatar_url, player.get('avatar_url'))
        self.assertEqual(True, player.get('is_active'))
        self.assertIsNotNone(player.get('auth_token'))

        # Make sure the player was actually saved to the database
        saved_player = PlayersService.get_instance().get(int(player.get('id')))
        self.assertEqual(saved_player.get_id(), player.get('id'))
        self.assertEqual(Player.dump_datetime(saved_player.get_date_created()), player.get('date_created'))
        self.assertEqual(Player.dump_datetime(saved_player.get_date_modified()), player.get('date_modified'))
        self.assertEqual(saved_player.get_username(), player.get('username'))
        self.assertEqual(saved_player.get_email(), player.get('email'))
        self.assertEqual(saved_player.get_avatar_url(), player.get('avatar_url'))
        self.assertEqual(saved_player.get_is_active(), player.get('is_active'))
        self.assertEqual(saved_player.get_auth_token(), player.get('auth_token'))