Best Python code snippet using slash
goals_aggregator_test.py
Source:goals_aggregator_test.py  
1import pytest2import pandas as pd3from datetime import datetime4from mock import MagicMock, Mock5from compiler.preprocessing.goals_aggregator import GoalsAggregator6from compiler.grpc.proto.fixture_pb2 import Fixture7from compiler.grpc.proto import result_pb28from compiler.grpc.fixture_client import FixtureClient9from compiler.grpc.ratings_client import RatingsClient10from compiler.grpc.result_client import ResultClient11from compiler.grpc.team_stats_client import TeamStatsClient12from compiler.grpc.proto import ratings_pb2, team_stats_pb213from google.protobuf.timestamp_pb2 import Timestamp14def test_for_season_data_frame_columns(match_goals):15    value = match_goals.result_client.get_results_for_season.return_value16    value.__iter__.return_value = iter([])17    df = match_goals.for_season(5, datetime.fromisoformat('2019-04-23T18:15:38+00:00'))18    match_goals.result_client.get_results_for_season.assert_called_with(19        season_id=5,20        date_before='2019-04-23T18:15:38+00:00'21    )22    columns = [23        'fixture_id',24        'season_id',25        'round',26        'date',27        'home_team',28        'home_goals',29        'home_xg',30        'home_shots_on_goal',31        'home_attack_points',32        'home_defence_points',33        'away_team',34        'away_goals',35        'away_xg',36        'away_shots_on_goal',37        'away_attack_points',38        'away_defence_points',39    ]40    assert (df.columns == columns).all()41def test_for_season_converts_result_object_into_data_frame_row(match_goals, rating_response, result, team_stats_response):42    value = match_goals.result_client.get_results_for_season.return_value43    value.__iter__.return_value = iter([result])44    match_goals.ratings_client.get_fixture_ratings.return_value = rating_response45    match_goals.team_stats_client.get_team_stats_for_fixture.return_value = team_stats_response46    df = match_goals.for_season(5, datetime.fromisoformat('2019-04-23T18:15:38+00:00'))47    match_goals.result_client.get_results_for_season.assert_called_with(48        season_id=5,49        date_before='2019-04-23T18:15:38+00:00'50    )51    match_goals.ratings_client.get_fixture_ratings.assert_called_with(fixture_id=66)52    expected = [53        66,54        39910,55        '4',56        pd.to_datetime(datetime.utcfromtimestamp(1556043338), format='%Y-%m-%dT%H:%M:%S'),57        'West Ham United',58        2,59        1.25,60        12,61        6.20,62        1.11,63        'Tottenham Hotspur',64        2,65        1,66        15,67        10,68        1.1169    ]70    assert df.iloc[0, :].values.tolist() == expected71def test_for_season_populates_multiple_rows_of_data_for_multiple_results(72    match_goals,73    rating_response,74    result,75    team_stats_response76):77    value = match_goals.result_client.get_results_for_season.return_value78    value.__iter__.return_value = iter([result, result, result])79    match_goals.ratings_client.get_fixture_ratings.return_value = rating_response80    match_goals.team_stats_client.get_team_stats_for_fixture.return_value = team_stats_response81    df = match_goals.for_season(5, datetime.fromisoformat('2019-04-23T18:15:38+00:00'))82    match_goals.result_client.get_results_for_season.assert_called_with(83        season_id=5,84        date_before='2019-04-23T18:15:38+00:00'85    )86    match_goals.ratings_client.get_fixture_ratings.assert_called_with(fixture_id=66)87    assert df.shape == (3, 16)88def test_for_season_raises_an_exception_if_an_issue_with_parsing_team_ratings(match_goals, result, team_stats_response):89    with pytest.raises(Exception):90        value = match_goals.result_client.get_results_for_season.return_value91        value.__iter__.return_value = iter([result])92        match_goals.ratings_client.get_fixture_ratings.return_value = rating_response93        match_goals.team_stats_client.get_team_stats_for_fixture.return_value = ratings_pb2.RatingResponse(94            ratings=[95                ratings_pb2.TeamRating(96                    team_id=7901,97                    fixture_id=5,98                    season_id=18378,99                    attack=ratings_pb2.Points(100                        points=13.87,101                        difference=6.20,102                    ),103                    defence=ratings_pb2.Points(104                        points=2.08,105                        difference=1.11,106                    ),107                    fixture_date=Timestamp(seconds=1660228999),108                    timestamp=Timestamp(seconds=1660228999),109                ),110            ]111        )112        match_goals.for_season(5, datetime.fromisoformat('2019-04-23T18:15:38+00:00'))113def test_for_fixture_data_frame_columns(match_goals, fixture):114    match_goals.fixture_client.get_fixture_by_id.return_value = fixture115    fixture, df = match_goals.for_fixture(fixture_id=66)116    match_goals.fixture_client.get_fixture_by_id.assert_called_with(fixture_id=66)117    columns = [118        'fixture_id',119        'season_id',120        'round',121        'date',122        'home_team',123        'home_goals',124        'home_xg',125        'home_shots_on_goal',126        'home_attack_points',127        'home_defence_points',128        'away_team',129        'away_goals',130        'away_xg',131        'away_shots_on_goal',132        'away_attack_points',133        'away_defence_points',134    ]135    assert (columns == df.columns).all()136    assert df.shape == (1, 16)137def test_for_fixture_returns_data_frame_of_collated_fixture_data(match_goals, fixture):138    match_goals.fixture_client.get_fixture_by_id.return_value = fixture139    fixture, df = match_goals.for_fixture(fixture_id=66)140    match_goals.fixture_client.get_fixture_by_id.assert_called_with(fixture_id=66)141    row = df.iloc[0, :]142    assert row['fixture_id'] == 66143    assert row['season_id'] == 39910144    assert row['round'] == '4'145    assert row['date'] == pd.to_datetime(datetime.utcfromtimestamp(1556043338), format='%Y-%m-%dT%H:%M:%S')146    assert row['home_team'] == 'West Ham United'147    assert row['away_team'] == 'Tottenham Hotspur'148def test_for_fixture_raises_exception_if_unable_to_retrieve_fixture(match_goals):149    match_goals.fixture_client.get_fixture_by_id.side_effect = Exception()150    with pytest.raises(Exception):151        match_goals.for_fixture(fixture_id=66)152def test_for_fixture_returns_fixture_and_data_frame(match_goals, fixture):153    match_goals.fixture_client.get_fixture_by_id.return_value = fixture154    fixture, df = match_goals.for_fixture(fixture_id=66)155    match_goals.fixture_client.get_fixture_by_id.assert_called_with(fixture_id=66)156    assert fixture.id == 66157    assert fixture.season.name == '2018/19'158    assert fixture.round.name == '4'159    assert fixture.season.id == 39910160    assert fixture.season.is_current.value == True161    assert fixture.date_time.utc == 1556043338162    assert fixture.home_team.name == 'West Ham United'163    assert fixture.away_team.name == 'Tottenham Hotspur'164@pytest.fixture()165def match_goals():166    fixture_client = MagicMock(spec=FixtureClient)167    ratings_client = MagicMock(spec=RatingsClient)168    result_client = MagicMock(spec=ResultClient)169    team_stats_client = Mock(spec=TeamStatsClient)170    aggregator = GoalsAggregator(171        fixture_client=fixture_client,172        ratings_client=ratings_client,173        result_client=result_client,174        team_stats_client=team_stats_client175    )176    return aggregator177@pytest.fixture()178def result():179    result = result_pb2.Result()180    result.id = 66181    result.season.name = '2018/19'182    result.round.name = '4'183    result.season.id = 39910184    result.season.is_current.value = True185    result.date_time.utc = 1556043338186    result.home_team.id = 7901187    result.home_team.name = 'West Ham United'188    result.away_team.id = 496189    result.away_team.name = 'Tottenham Hotspur'190    result.stats.home_formation.value = '4-4-2'191    result.stats.away_formation.value = '5-3-1-1'192    result.stats.home_score.value = 2193    result.stats.away_score.value = 2194    return result195@pytest.fixture()196def home_past_result():197    result = result_pb2.Result()198    result.date_time.utc = 1555761600199    result.home_team.id = 7901200    result.home_team.name = 'West Ham United'201    result.away_team.id = 496202    result.away_team.name = 'Tottenham Hotspur'203    result.stats.home_score.value = 5204    result.stats.away_score.value = 2205    return result206@pytest.fixture()207def away_past_result():208    result = result_pb2.Result()209    result.date_time.utc = 1555549200210    result.home_team.id = 496211    result.home_team.name = 'Manchester City'212    result.way_team.id = 7901213    result.away_team.name = 'Liverpool'214    result.stats.home_score.value = 1215    result.stats.away_score.value = 3216    return result217@pytest.fixture218def team_stats_response():219    response = team_stats_pb2.TeamStatsResponse()220    response.home_team.shots_total.value = 34221    response.home_team.shots_on_goal.value = 12222    response.away_team.shots_total.value = 26223    response.away_team.shots_on_goal.value = 15224    response.team_xg.home.value = 1.25225    response.team_xg.away.value = 1226    return response227@pytest.fixture()228def fixture():229    fixture = Fixture()230    fixture.id = 66231    fixture.season.name = '2018/19'232    fixture.round.name = '4'233    fixture.season.id = 39910234    fixture.season.is_current.value = True235    fixture.date_time.utc = 1556043338236    fixture.home_team.id = 7901237    fixture.home_team.name = 'West Ham United'238    fixture.away_team.id = 496239    fixture.away_team.name = 'Tottenham Hotspur'240    return fixture241@pytest.fixture()242def rating_response():243    return ratings_pb2.RatingResponse(244        ratings=[245            ratings_pb2.TeamRating(246                team_id=7901,247                fixture_id=5,248                season_id=18378,249                attack=ratings_pb2.Points(250                    points=13.87,251                    difference=6.20,252                ),253                defence=ratings_pb2.Points(254                    points=2.08,255                    difference=1.11,256                ),257                fixture_date=Timestamp(seconds=1660228999),258                timestamp=Timestamp(seconds=1660228999),259            ),260            ratings_pb2.TeamRating(261                team_id=496,262                fixture_id=5,263                season_id=18378,264                attack=ratings_pb2.Points(265                    points=32.18,266                    difference=10,267                ),268                defence=ratings_pb2.Points(269                    points=2.08,270                    difference=1.11,271                ),272                fixture_date=Timestamp(seconds=1660228999),273                timestamp=Timestamp(seconds=1660228999),274            )275        ]...test_ota_fixtures.py
Source:test_ota_fixtures.py  
...80    def test_basic_fixture_generation(self):81        fixture_xml = generator.get_fixtures(self.restore_user)82        self._check_fixture(fixture_xml, item_lists=[SA_PROVINCES, FR_PROVINCES])83    def test_fixtures_by_id(self):84        fixture_xml = generator.get_fixture_by_id('user-groups', self.restore_user)85        self._check_fixture([fixture_xml])86        fixture_xml = generator.get_fixture_by_id('item-list:sa_provinces', self.restore_user)87        self._check_fixture([fixture_xml], has_groups=False, item_lists=[SA_PROVINCES])88        fixture_xml = generator.get_fixture_by_id('item-list:fr_provinces', self.restore_user)89        self._check_fixture([fixture_xml], has_groups=False, item_lists=[FR_PROVINCES])90        fixture_xml = generator.get_fixture_by_id('user-locations', self.restore_user)91        self.assertIsNone(fixture_xml)92        fixture_xml = generator.get_fixture_by_id('bad ID', self.restore_user)93        self.assertIsNone(fixture_xml)94@use_sql_backend95class OtaFixtureTestSQL(OtaFixtureTest):96    pass97def _get_group_fixture(user_id, groups):98    groups = sorted(groups, key=lambda g: g.get_id)99    group_blocks = ["""100    <group id="{id}">101        <name>{name}</name>102    </group>103    """.format(id=group.get_id, name=group.name) for group in groups]104    groups_xml = """105    <groups>106        {}...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
