Ejemplo n.º 1
0
    def testMain(self):
        # add some background
        day = datetime.date.today() + datetime.timedelta(days=1)
        game = addGame(self, day=day.strftime("%Y-%m-%d"), time="22:40")
        team_model = Team.query.get(game['home_team_id'])
        team = team_model.json()
        player = self.add_player("Test Kik Bot Captain", "*****@*****.**",
                                 "m")
        self.add_player_to_team(team, player, captain=True)
        route = Routes['kikupcominggames']

        # non-subscribed player
        data = {'name': 'DoesNotExist'}
        expect = {
            'details': 'DoesNotExist',
            'message': PlayerDoesNotExist.message
        }
        rv = self.app.post(route, data=data, headers=KIK_HEADER)
        self.output(loads(rv.data))
        self.output(expect)
        m = route + " POST: Player DNE for upcoming games"
        self.assertEqual(rv.status_code, PlayerDoesNotExist.status_code, m)
        self.assertEqual(expect, loads(rv.data), m)

        # subscribed player upcoming games
        data = {'name': player['player_name']}
        rv = self.app.post(route, data=data, headers=KIK_HEADER)
        self.output(loads(rv.data))
        self.output(expect)
        m = route + " POST: Subscribed player for upcoming games"
        self.assertEqual(rv.status_code, SUCCESSFUL_GET_CODE, m)
        self.assertTrue(len(loads(rv.data)) > 0, m)
        self.assertEqual(game['game_id'], loads(rv.data)[0]['game_id'], m)
    def testGameDelete(self):

        # delete invalid game id
        rv = self.app.delete(Routes['game'] + "/" + str(INVALID_ID),
                             headers=headers)
        expect = {'details': INVALID_ID, 'message': GameDoesNotExist.message}
        self.output(loads(rv.data))
        self.output(expect)
        self.assertEqual(loads(rv.data), expect,
                         Routes['game'] + " DELETE: on invalid game id")
        self.assertEqual(rv.status_code, GameDoesNotExist.status_code,
                         Routes['game'] + " DELETE: on invalid game id")

        # add a game
        game = addGame(self)

        # delete valid game id
        rv = self.app.delete(Routes['game'] + "/" + str(game['game_id']),
                             headers=headers)
        expect = None
        self.output(loads(rv.data))
        self.output(expect)
        self.assertEqual(loads(rv.data), expect,
                         Routes['game'] + " DELETE: on valid game id")
        self.assertEqual(rv.status_code, 200,
                         Routes['game'] + " DELETE: on valid game id")
Ejemplo n.º 3
0
    def testMain(self):

        # add some background
        game = addGame(self)
        team_model = Team.query.get(game['home_team_id'])
        team = team_model.json()
        player = self.add_player("Test Bot Captain", "*****@*****.**", "m")
        self.add_player_to_team(team, player, captain=True)
        route = Routes['botcaptaingames']

        # valid request
        data = {'player_id': player['player_id'],
                'team': team['team_id']}
        rv = self.app.post(route, json=data, headers=headers)
        self.output(loads(rv.data))
        self.output(game)
        error = Routes['botcaptaingames'] + " POST: Valid Captain's games"
        self.assertTrue(len(loads(rv.data)) > 0, error)
        self.assertEqual(rv.status_code, SUCCESSFUL_GET_CODE, error)
        self.assertGameModelEqual(game, loads(rv.data)[0], error)

        # submit score
        self.submit_a_score(player, game, 1, hr=[player['player_id']])

        # second valid request
        data = {'player_id': player['player_id'],
                'team': team['team_id']}
        expect = []
        rv = self.app.post(route, json=data, headers=headers)
        self.output(loads(rv.data))
        self.output(expect)
        error = Routes['botcaptaingames'] + " POST: Invalid Captain's games"
        self.assertEqual(rv.status_code, SUCCESSFUL_GET_CODE, error)
        self.assertEqual(expect, loads(rv.data), error)
Ejemplo n.º 4
0
    def testMain(self):
        # add some background
        game = addGame(self)
        team_model = Team.query.get(game['home_team_id'])
        team = team_model.json()
        player = self.add_player("Test Bot Captain", "*****@*****.**", "m")
        self.add_player_to_team(team, player, captain=True)
        route = Routes['botsubmitscore']

        # invalid captain
        data = {'player_id': INVALID_ID,
                'game_id': game['game_id'],
                'score': 1,
                'hr': [player['player_id']],
                'ss': []}
        expect = {'details': INVALID_ID,
                  'message': PlayerNotSubscribed.message}
        rv = self.app.post(route, json=data, headers=headers)
        self.output(loads(rv.data))
        self.output(expect)
        error = Routes['botsubmitscore'] + " POST: invalid bot user name"
        code = PlayerNotSubscribed.status_code
        self.assertEqual(rv.status_code, code, error)
        self.assertEqual(expect, loads(rv.data), error)

        # invalid game
        data = {'player_id': player['player_id'],
                'game_id': INVALID_ID,
                'score': 1,
                'hr': [player['player_id']],
                'ss': []}
        expect = {'details': INVALID_ID, 'message': GameDoesNotExist.message}
        rv = self.app.post(route, json=data, headers=headers)
        self.output(loads(rv.data))
        self.output(expect)
        error = Routes['botsubmitscore'] + " POST: invalid game id"
        self.assertEqual(rv.status_code, GameDoesNotExist.status_code, error)
        self.assertEqual(expect, loads(rv.data), error)

        # more hr than runs scored
        data = {'player_id': player['player_id'],
                'game_id': game['game_id'],
                'score': 1,
                'hr': [player['player_id'], player['player_id']],
                'ss': []}
        expect = {'details': 'More hr than score',
                  'message': InvalidField.message}
        rv = self.app.post(route, json=data, headers=headers)
        self.output(loads(rv.data))
        self.output(expect)
        error = Routes['botsubmitscore'] + " POST: more hr than runs"
        self.assertEqual(rv.status_code, InvalidField.status_code, error)
        self.assertEqual(expect, loads(rv.data), error)

        # normal request
        self.submit_a_score(player, game, 1, hr=[player['player_id']])
Ejemplo n.º 5
0
    def testMain(self):
        # add some background
        day = datetime.date.today() - datetime.timedelta(days=1)
        game = addGame(self, day=day.strftime("%Y-%m-%d"), time="22:40")
        team_model = Team.query.get(game['home_team_id'])
        team = team_model.json()
        player = self.add_player("Test Kik Bot Captain", "*****@*****.**",
                                 "m")
        self.add_player_to_team(team, player, captain=True)
        kik = "testKikCaptain"
        route = Routes['kikcaptaingames']

        # invalid captian request
        data = {'kik': kik, "team": team['team_id']}
        expect = {'details': None, 'message': NotTeamCaptain.message}
        rv = self.app.post(route, data=data, headers=KIK_HEADER)
        self.output(loads(rv.data))
        self.output(expect)
        m = route + " POST: Invalid Captain's games"
        self.assertEqual(rv.status_code, NotTeamCaptain.status_code, m)
        self.assertEqual(expect, loads(rv.data), m)

        # add the kik name to the captain
        player = self.add_kik_to_player(player, kik)

        # valid request
        data = {'kik': kik, "team": team['team_id']}
        rv = self.app.post(route, data=data, headers=KIK_HEADER)
        self.output(loads(rv.data))
        self.output(expect)
        m = route + " POST: Valid Captain's games"
        self.assertEqual(rv.status_code, SUCCESSFUL_GET_CODE, m)
        self.assertTrue(len(loads(rv.data)) > 0, m)
        self.assertEqual(game['game_id'], loads(rv.data)[0]['game_id'], m)

        # submit score
        self.submit_a_score_by_kik(kik, game, 1, hr=[player['player_id']])

        # second valid request
        data = {'kik': kik, "team": team['team_id']}
        expect = []
        rv = self.app.post(route, data=data, headers=KIK_HEADER)
        self.output(loads(rv.data))
        self.output(expect)
        m = Routes['kikcaptaingames'] + " POST: Invalid Captain's games"
        self.assertEqual(rv.status_code, SUCCESSFUL_GET_CODE, m)
        self.assertEqual(expect, loads(rv.data), m)
    def testGameGet(self):
        # add a game
        game = addGame(self)

        # invalid Game id
        expect = {'details': INVALID_ID, "message": GameDoesNotExist.message}
        self.getTest(Routes['game'] + "/" + str(INVALID_ID),
                     GameDoesNotExist.status_code,
                     self.assertEqual,
                     expect,
                     error_message=Routes['game'] + " Get: Invalid Game")

        # valid Game id
        self.getTest(Routes['game'] + "/" + str(game['game_id']),
                     SUCCESSFUL_GET_CODE,
                     self.assertGameModelEqual,
                     game,
                     error_message=Routes['game'] + " Get: valid Game")
Ejemplo n.º 7
0
    def testMain(self):
        # non-subscribed player
        day = datetime.date.today() + datetime.timedelta(days=1)
        game = addGame(self, day=day.strftime("%Y-%m-%d"), time="22:40")
        team_model = Team.query.get(game['home_team_id'])
        team = team_model.json()
        player = self.add_player("Test Bot Captain", "*****@*****.**", "m")
        self.add_player_to_team(team, player, captain=True)
        route = Routes['botupcominggames']

        # invalid player id
        data = {'player_id': INVALID_ID}
        expect = {'details': INVALID_ID, 'message': PlayerDoesNotExist.message}
        rv = self.app.post(route, json=data, headers=headers)
        self.output(loads(rv.data))
        self.output(expect)
        error = route + " POST: Player DNE for upcoming games"
        self.assertEqual(rv.status_code, PlayerDoesNotExist.status_code, error)
        self.assertEqual(expect, loads(rv.data), error)

        # subscribed player upcoming games
        data = {'player_id': player['player_id']}
        expect = [{
            'away_team': game['away_team'],
            'away_team_id': game['away_team_id'],
            'date': game['date'],
            'field': game['field'],
            'game_id': game['game_id'],
            'home_team': game['home_team'],
            'home_team_id': game['home_team_id'],
            'league_id': game['league_id'],
            'division_id': game['division_id'],
            'status': game['status'],
            'time': game['time']
        }]
        rv = self.app.post(Routes['botupcominggames'],
                           json=data,
                           headers=headers)
        self.output(loads(rv.data))
        self.output(expect)
        error = route + " POST: Subscribed player for upcoming games"
        self.assertEqual(rv.status_code, SUCCESSFUL_GET_CODE, error)
        self.assertEqual(expect, loads(rv.data), error)
Ejemplo n.º 8
0
    def testMain(self):
        # this api was not used so testing is not complete

        # add some background
        sponsor = self.add_sponsor("Test Kik Sposnor")
        game = addGame(self)
        team_model = Team.query.get(game['home_team_id'])
        team = team_model.json()
        player = self.add_player("Test Kik Bot Captain", "*****@*****.**",
                                 "m")
        self.add_player_to_team(team, player, captain=True)
        kik = "testKikCaptain"
        route = Routes['kiktransaction']

        # player not subscribed
        data = {'kik': kik, "sponsor": sponsor['sponsor_name'], "amount": 1}
        expect = {'details': kik, 'message': PlayerNotSubscribed.message}
        rv = self.app.post(route, data=data, headers=KIK_HEADER)
        self.output(loads(rv.data))
        self.output(expect)
        m = route + " Post: transaction for player not subscribed"
        self.assertEqual(rv.status_code, PlayerNotSubscribed.status_code, m)
        self.assertEqual(expect, loads(rv.data), m)

        # subscribe the player
        player = self.add_kik_to_player(player, kik)

        # sponsor does not exist
        data = {'kik': kik, "sponsor": "FUCKINGDOESNOTEXIST", "amount": 1}
        expect = {
            'details': 'FUCKINGDOESNOTEXIST',
            'message': SponsorDoesNotExist.message
        }
        rv = self.app.post(route, data=data, headers=KIK_HEADER)
        self.output(loads(rv.data))
        self.output(expect)
        m = route + " Post: sponsor does not exist"
        self.assertEqual(rv.status_code, SponsorDoesNotExist.status_code, m)
        self.assertEqual(expect, loads(rv.data), m)
Ejemplo n.º 9
0
    def testBateInvalidPost(self):
        # Note Valid Requests are tested in BaseTest method add_bat
        # missing parameters
        game = addGame(self)
        player = self.add_player("Test Player",
                                 "*****@*****.**",
                                 gender="M")
        params = {}
        expect = {
                  'message': {
                              'game_id': MISSING_PARAMETER,
                              'hit': MISSING_PARAMETER,
                              'player_id': MISSING_PARAMETER,
                              'team_id': MISSING_PARAMETER
                              }
                  }
        error_message = (Routes['bat'] +
                         " POST: request with missing parameter")
        self.postInvalidTest(Routes['bat'],
                             params,
                             InvalidField.status_code,
                             self.assertEqual,
                             expect,
                             error_message=error_message)

        # testing invalid player
        params = {
                  'game_id': game['game_id'],
                  'player_id': INVALID_ID,
                  'team_id': game['home_team_id'],
                  'rbi': 2,
                  'hit': "hr",
                  'inning': 1
                              }
        expect = {'details': INVALID_ID, 'message': PlayerDoesNotExist.message}
        error_message = (Routes['bat'] +
                         " POST: request with invalid player id")
        self.postInvalidTest(Routes['bat'],
                             params,
                             PlayerDoesNotExist.status_code,
                             self.assertEqual,
                             expect,
                             error_message=error_message)

        # testing invalid game
        params = {
                  'game_id': INVALID_ID,
                  'player_id': player['player_id'],
                  'team_id': game['home_team_id'],
                  'rbi': 2,
                  'hit': "hr",
                  'inning': 1
                              }
        expect = {'details': INVALID_ID, 'message': GameDoesNotExist.message}
        error_message = (Routes['bat'] +
                         " POST: request with invalid game id")
        self.postInvalidTest(Routes['bat'],
                             params,
                             GameDoesNotExist.status_code,
                             self.assertEqual,
                             expect,
                             error_message=error_message)

        # testing invalid team
        params = {
                  'game_id': game['game_id'],
                  'player_id': player['player_id'],
                  'team_id': INVALID_ID,
                  'rbi': 2,
                  'hit': "hr",
                  'inning': 1
                              }
        expect = {'details': str(INVALID_ID),
                  'message': TeamDoesNotExist.message}
        error_message = (Routes['bat'] +
                         " POST: request with invalid team id")
        self.postInvalidTest(Routes['bat'],
                             params,
                             TeamDoesNotExist.status_code,
                             self.assertEqual,
                             expect,
                             error_message=error_message)

        # testing invalid rbi
        params = {
                  'game_id': INVALID_ID,
                  'player_id': player['player_id'],
                  'team_id': game['home_team_id'],
                  'rbi': 100,
                  'hit': "hr",
                  'inning': 1
                              }
        expect = {'details': 'Bat - rbi', 'message': InvalidField.message}
        error_message = (Routes['bat'] +
                         " POST: request with invalid rbi")
        self.postInvalidTest(Routes['bat'],
                             params,
                             InvalidField.status_code,
                             self.assertEqual,
                             expect,
                             error_message=error_message)

        # testing invalid inning
        params = {
                  'game_id': INVALID_ID,
                  'player_id': player['player_id'],
                  'team_id': game['home_team_id'],
                  'rbi': 1,
                  'hit': "hr",
                  'inning': -1
                              }
        expect = {'details': 'Bat - inning', 'message': InvalidField.message}
        error_message = (Routes['bat'] +
                         " POST: request with invalid inning")
        self.postInvalidTest(Routes['bat'],
                             params,
                             InvalidField.status_code,
                             self.assertEqual,
                             expect,
                             error_message=error_message)

        # testing invalid hit
        params = {
                  'game_id': INVALID_ID,
                  'player_id': player['player_id'],
                  'team_id': game['home_team_id'],
                  'rbi': 1,
                  'hit': "xx",
                  'inning': 1
                              }
        expect = {'details': 'Bat - hit', 'message': InvalidField.message}
        error_message = (Routes['bat'] +
                         " POST: request with invalid hit")
        self.postInvalidTest(Routes['bat'],
                             params,
                             InvalidField.status_code,
                             self.assertEqual,
                             expect,
                             error_message=error_message)
Ejemplo n.º 10
0
    def testBatPut(self):
        # add a bat
        bat = addBat(self, "S")
        invalid_route = Routes['bat'] + "/" + str(INVALID_ID)
        valid_route = Routes['bat'] + "/" + str(bat['bat_id'])
        # invalid bat ID
        params = {
                  'game_id': bat['game_id'],
                  'player_id': bat['player_id'],
                  'team_id': bat['team_id'],
                  'rbi': 4,
                  'hit': "HR",
                  'inning': 1}
        expect = {'details': INVALID_ID, 'message': BatDoesNotExist.message}
        error_message = Routes['bat'] + " PUT: invalid Bat id"
        self.putTest(invalid_route,
                     params,
                     BatDoesNotExist.status_code,
                     self.assertEqual,
                     expect,
                     error_message=error_message)

        # test invalid game_id
        params = {
                  'game_id': INVALID_ID,
                  'player_id': bat['player_id'],
                  'team_id': bat['team_id'],
                  'rbi': 4,
                  'hit': "HR",
                  'inning': 1}
        expect = {'details': INVALID_ID, 'message': GameDoesNotExist.message}
        error_message = Routes['bat'] + " PUT: invalid game"
        self.putTest(valid_route,
                     params,
                     GameDoesNotExist.status_code,
                     self.assertEqual,
                     expect,
                     error_message=error_message)

        # test invalid player_id
        params = {
                  'game_id': bat['game_id'],
                  'player_id': INVALID_ID,
                  'team_id': bat['team_id'],
                  'rbi': 4,
                  'hit': "HR",
                  'inning': 1}
        expect = {'details': INVALID_ID, 'message': PlayerDoesNotExist.message}
        error_message = Routes['bat'] + " PUT: invalid player"
        self.putTest(valid_route,
                     params,
                     PlayerDoesNotExist.status_code,
                     self.assertEqual,
                     expect,
                     error_message=error_message)

        # test invalid team_id
        params = {
                  'game_id': bat['game_id'],
                  'player_id': bat['player_id'],
                  'team_id': INVALID_ID,
                  'rbi': 4,
                  'hit': "HR",
                  'inning': 1}
        expect = {'details': str(INVALID_ID),
                  'message': TeamDoesNotExist.message}
        error_message = Routes['bat'] + " PUT: invalid team"
        self.putTest(valid_route,
                     params,
                     TeamDoesNotExist.status_code,
                     self.assertEqual,
                     expect,
                     error_message=error_message)

        # test invalid rbi
        params = {
                  'game_id': bat['game_id'],
                  'player_id': bat['player_id'],
                  'team_id': bat['team_id'],
                  'rbi': 10,
                  'hit': "HR",
                  'inning': 1}
        expect = {'details': 'Bat - rbi', 'message': InvalidField.message}
        error_message = Routes['bat'] + " PUT: invalid rbi"
        self.putTest(valid_route,
                     params,
                     InvalidField.status_code,
                     self.assertEqual,
                     expect,
                     error_message=error_message)

        # test invalid hit
        params = {
                  'game_id': bat['game_id'],
                  'player_id': bat['player_id'],
                  'team_id': bat['team_id'],
                  'rbi': 1,
                  'hit': "XX",
                  'inning': 1}
        expect = {'details': 'Bat - hit', 'message': InvalidField.message}
        error_message = Routes['bat'] + " PUT: invalid hit"
        self.putTest(valid_route,
                     params,
                     InvalidField.status_code,
                     self.assertEqual,
                     expect,
                     error_message=error_message)

        # test invalid inning
        params = {
                  'game_id': bat['game_id'],
                  'player_id': bat['player_id'],
                  'team_id': bat['team_id'],
                  'rbi': 4,
                  'hit': "HR",
                  'inning': -1}
        expect = {'details': 'Bat - inning', 'message': InvalidField.message}
        error_message = Routes['bat'] + " PUT: invalid inning"
        self.putTest(valid_route,
                     params,
                     InvalidField.status_code,
                     self.assertEqual,
                     expect,
                     error_message=error_message)

        # valid update
        second_game = addGame(self)
        sponsor = self.add_sponsor("Second Sponsor")
        league = self.add_league("Second League")
        second_team = self.add_team("test team two",
                                    sponsor=sponsor,
                                    league=league)
        second_player = self.add_player("test player two",
                                        "*****@*****.**",
                                        "M")
        params = {
                  'game_id': second_game['game_id'],
                  'player_id': second_player['player_id'],
                  'team_id': second_team['team_id'],
                  'rbi': 4,
                  'hit': "HR",
                  'inning': 1
                              }
        bat['game_id'] = params['game_id']
        bat['player_id'] = params['player_id']
        bat['team_id'] = params['team_id']
        bat['rbi'] = params['rbi']
        bat['hit'] = params['hit']
        bat['inning'] = params['inning']
        expect = None
        error_message = Routes['bat'] + " PUT: valid parameters"
        self.putTest(valid_route,
                     params,
                     SUCCESSFUL_PUT_CODE,
                     self.assertEqual,
                     expect,
                     error_message=error_message)

        # test a get to make sure it was updated
        error_message = Routes['bat'] + " GET: updated bat"
        self.getTest(valid_route,
                     SUCCESSFUL_GET_CODE,
                     self.assertBatModelEqual,
                     bat,
                     error_message=error_message)
    def testGamePut(self):
        # add a game
        game = addGame(self)
        invalid_route = Routes['game'] + "/" + str(INVALID_ID)
        valid_route = Routes['game'] + "/" + str(game['game_id'])

        # invalid game id
        params = {
            'home_team_id': game['home_team_id'],
            'away_team_id': game['away_team_id'],
            'date': "2014-08-22",
            'time': "11:37",
            'league_id': game['league_id'],
            'status': "Championship",
            'field': "WP1"
        }
        expect = {'details': INVALID_ID, 'message': GameDoesNotExist.message}
        error_message = Routes['game'] + " PUT: invalid game id"
        self.putTest(invalid_route,
                     params,
                     GameDoesNotExist.status_code,
                     self.assertEqual,
                     expect,
                     error_message=error_message)

        # invalid home team
        params = {
            'home_team_id': INVALID_ID,
            'away_team_id': game['away_team_id'],
            'date': "2014-08-22",
            'time': "11:37",
            'league_id': game['league_id'],
            'status': "Championship",
            'field': "WP1"
        }
        expect = {'details': INVALID_ID, 'message': TeamDoesNotExist.message}
        error_message = Routes['game'] + " PUT: invalid home team"
        self.putTest(valid_route,
                     params,
                     TeamDoesNotExist.status_code,
                     self.assertEqual,
                     expect,
                     error_message=error_message)

        # invalid away team
        params = {
            'home_team_id': game['home_team_id'],
            'away_team_id': INVALID_ID,
            'date': "2014-08-22",
            'time': "11:37",
            'league_id': game['league_id'],
            'status': "Championship",
            'field': "WP1"
        }
        expect = {'details': INVALID_ID, 'message': TeamDoesNotExist.message}
        error_message = Routes['game'] + " PUT: invalid away team"
        self.putTest(valid_route,
                     params,
                     TeamDoesNotExist.status_code,
                     self.assertEqual,
                     expect,
                     error_message=error_message)

        # invalid league
        params = {
            'home_team_id': game['home_team_id'],
            'away_team_id': game['away_team_id'],
            'date': "2014-08-22",
            'time': "11:37",
            'league_id': INVALID_ID,
            'status': "Championship",
            'field': "WP1"
        }
        expect = {'details': INVALID_ID, 'message': LeagueDoesNotExist.message}
        error_message = Routes['game'] + " PUT: invalid league"
        self.putTest(valid_route,
                     params,
                     LeagueDoesNotExist.status_code,
                     self.assertEqual,
                     expect,
                     error_message=error_message)

        # invalid date
        params = {
            'home_team_id': game['home_team_id'],
            'away_team_id': game['away_team_id'],
            'date': "xx-08-22",
            'time': "11:37",
            'league_id': game['league_id'],
            'status': "Championship",
            'field': "WP1"
        }
        expect = {'details': 'Game - date', 'message': InvalidField.message}
        error_message = Routes['game'] + " PUT: invalid date"
        self.putTest(valid_route,
                     params,
                     InvalidField.status_code,
                     self.assertEqual,
                     expect,
                     error_message=error_message)

        # invalid time
        params = {
            'home_team_id': game['home_team_id'],
            'away_team_id': game['away_team_id'],
            'date': "2014-08-22",
            'time': "XX:37",
            'league_id': game['league_id'],
            'status': "Championship",
            'field': "WP1"
        }
        expect = {'details': 'Game - time', 'message': InvalidField.message}
        error_message = Routes['game'] + " PUT: invalid time"
        self.putTest(valid_route,
                     params,
                     InvalidField.status_code,
                     self.assertEqual,
                     expect,
                     error_message=error_message)

        # invalid status
        params = {
            'home_team_id': game['home_team_id'],
            'away_team_id': game['away_team_id'],
            'date': "2014-08-22",
            'time': "11:37",
            'league_id': game['league_id'],
            'status': 1,
            'field': "WP1"
        }
        expect = {'details': 'Game - status', 'message': InvalidField.message}
        error_message = Routes['game'] + " PUT: invalid status"
        self.putTest(valid_route,
                     params,
                     InvalidField.status_code,
                     self.assertEqual,
                     expect,
                     error_message=error_message)

        # invalid field
        params = {
            'home_team_id': game['home_team_id'],
            'away_team_id': game['away_team_id'],
            'date': "2014-08-22",
            'time': "11:37",
            'league_id': game['league_id'],
            'status': "Championship",
            'field': 1
        }
        expect = {'details': 'Game - field', 'message': InvalidField.message}
        error_message = Routes['game'] + " PUT: invalid field"
        self.putTest(valid_route,
                     params,
                     InvalidField.status_code,
                     self.assertEqual,
                     expect,
                     error_message=error_message)

        # valid update parameters
        params = {
            'home_team_id': game['home_team_id'],
            'away_team_id': game['away_team_id'],
            'date': "2014-08-22",
            'time': "11:37",
            'league_id': game['league_id'],
            'status': "Championship",
            'field': "WP1"
        }
        game['home_team_id'] = params['home_team_id']
        game['away_team_id'] = params['away_team_id']
        game['date'] = params['date']
        game['time'] = params['time']
        game['league_id'] = params['league_id']
        game['status'] = params['status']
        game['field'] = params['field']
        expect = None
        error_message = Routes['game'] + " PUT: valid update"
        self.putTest(valid_route,
                     params,
                     SUCCESSFUL_PUT_CODE,
                     self.assertEqual,
                     expect,
                     error_message=error_message)

        # test a valid get
        error_message = Routes['game'] + " GET: just updated game"
        self.getTest(valid_route,
                     SUCCESSFUL_GET_CODE,
                     self.assertGameModelEqual,
                     game,
                     error_message=error_message)
Ejemplo n.º 12
0
    def testMain(self):
        # add some background
        game = addGame(self)
        team_model = Team.query.get(game['home_team_id'])
        team = team_model.json()
        player = self.add_player("Test Kik Bot Captain", "*****@*****.**",
                                 "m")
        self.add_player_to_team(team, player, captain=True)
        kik = "testKikCaptain"
        route = Routes['kiksubmitscore']

        # invalid captain
        data = {
            'kik': kik,
            'game_id': game['game_id'],
            'score': 1,
            'hr': [player['player_id']],
            'ss': []
        }
        expect = {'details': kik, 'message': PlayerNotSubscribed.message}
        rv = self.app.post(route, data=data, headers=KIK_HEADER)
        self.output(loads(rv.data))
        self.output(expect)
        m = route + " POST: invalid kik user name"
        self.assertEqual(rv.status_code, PlayerNotSubscribed.status_code, m)
        self.assertEqual(expect, loads(rv.data), m)

        # add the kik name to the captain
        player = self.add_kik_to_player(player, kik)

        # invalid game
        data = {
            'kik': kik,
            'game_id': INVALID_ID,
            'score': 1,
            'hr': [player['player_id']],
            'ss': []
        }
        expect = {'details': INVALID_ID, 'message': GameDoesNotExist.message}
        rv = self.app.post(route, data=data, headers=KIK_HEADER)
        self.output(loads(rv.data))
        self.output(expect)
        m = route + " POST: invalid game id"
        self.assertEqual(rv.status_code, GameDoesNotExist.status_code, m)
        self.assertEqual(expect, loads(rv.data), m)

        # more hr than runs scored
        data = {
            'kik': kik,
            'game_id': game['game_id'],
            'score': 1,
            'hr': [player['player_id'], player['player_id']],
            'ss': []
        }
        expect = {
            'details': 'More hr than score',
            'message': InvalidField.message
        }
        rv = self.app.post(route, data=data, headers=KIK_HEADER)
        self.output(loads(rv.data))
        self.output(expect)
        m = route + " POST: more hr than runs"
        self.assertEqual(rv.status_code, InvalidField.status_code, m)
        self.assertEqual(expect, loads(rv.data), m)

        # normal request
        self.submit_a_score_by_kik(kik, game, 1, hr=[player['player_id']])