def startTest(self, test): """Initializes Testbed stubs based off of attributes of the executing test allow tests to register and configure stubs by setting properties like nosegae_<stub_name> and nosegae_<stub_name>_kwargs Example class MyTest(unittest.TestCase): nosegae_datastore_v3 = True nosegae_datastore_v3_kwargs = { 'datastore_file': '/tmp/nosegae.sqlite3, 'use_sqlite': True } def test_something(self): entity = MyModel(name='NoseGAE') entity.put() self.assertNotNone(entity.key.id()) Args :param test: The unittest.TestCase being run :type test: unittest.TestCase """ from google.appengine.ext import testbed self._add_missing_stubs(testbed) self.testbed = testbed.Testbed() self.testbed.activate() # Give the test access to the active testbed the_test = test.test if isinstance(the_test, FunctionTestCase): the_test = the_test.test the_test.testbed = self.testbed # Allow CUSTOM_APP_ID to change the appengine app id if hasattr(the_test, 'CUSTOM_APP_ID'): self.testbed.setup_env(overwrite=True, app_id=the_test.CUSTOM_APP_ID) for stub_name, stub_init in testbed.INIT_STUB_METHOD_NAMES.iteritems(): if not getattr(the_test, 'nosegae_%s' % stub_name, False): continue stub_kwargs = getattr(the_test, 'nosegae_%s_kwargs' % stub_name, {}) if stub_name == testbed.TASKQUEUE_SERVICE_NAME: self._init_taskqueue_stub(**stub_kwargs) elif stub_name == testbed.DATASTORE_SERVICE_NAME: if not self.testbed.get_stub(testbed.MEMCACHE_SERVICE_NAME): # ndb requires memcache so enable it as well as the datastore_v3 self.testbed.init_memcache_stub() self._init_datastore_v3_stub(**stub_kwargs) elif stub_name == testbed.USER_SERVICE_NAME: self._init_user_stub(**stub_kwargs) elif stub_name == testbed.MODULES_SERVICE_NAME: self._init_modules_stub(**stub_kwargs) else: self._init_stub(stub_init, **stub_kwargs) if self.is_doctests: self._doctest_compat(the_test) self.the_test = the_test
def setUp(self): super(TestStartConditionWithJobs, self).setUp() self.testbed = testbed.Testbed() self.testbed.activate() # Activate which service we want to stub self.testbed.init_app_identity_stub()
def setUp(self): self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.init_datastore_v3_stub()
def setUp(self): self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.init_datastore_v3_stub() self.testbed.init_memcache_stub() self.testbed.init_taskqueue_stub()
def setUp(self): if IS_APP_ENGINE_STUB: from google.appengine.ext import testbed self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.init_memcache_stub()
def setUp(self): self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.init_datastore_v3_stub() self.testbed.init_memcache_stub() ndb.get_context().clear_cache() # Prevent data from leaking between tests self.testbed.init_taskqueue_stub(root_path=".") self.eventteam_2015casj_frc254 = EventTeam( id='2015casj_frc254', event=ndb.Key(Event, '2015casj'), team=ndb.Key(Team, 'frc254'), year=2015, ) self.eventteam_2015cama_frc604 = EventTeam( id='2015cama_frc604', event=ndb.Key(Event, '2015cama'), team=ndb.Key(Team, 'frc604'), year=2015, ) self.eventteam_2010cama_frc604 = EventTeam( id='2010cama_frc604', event=ndb.Key(Event, '2010cama'), team=ndb.Key(Team, 'frc604'), year=2010, ) self.eventteam_2016necmp_frc125 = EventTeam( id='2016necmp_frc125', event=ndb.Key(Event, '2016necmp'), team=ndb.Key(Team, 'frc125'), year=2016, ) self.eventteam_2015casj_frc254.put() self.eventteam_2015cama_frc604.put() self.eventteam_2010cama_frc604.put() self.eventteam_2016necmp_frc125.put() self.districtteam_2015fim_frc254 = DistrictTeam( id='2015fim_frc254', district_key=ndb.Key(District, '2015fim'), team=ndb.Key(Team, 'frc254'), year=2015, ) self.districtteam_2015mar_frc604 = DistrictTeam( id='2015mar_frc604', district_key=ndb.Key(District, '2015mar'), team=ndb.Key(Team, 'frc604'), year=2015, ) self.districtteam_2016ne_frc604 = DistrictTeam( id='2016ne_frc604', district_key=ndb.Key(District, '2016ne'), team=ndb.Key(Team, 'frc604'), year=2016, ) self.districtteam_2015fim_frc254.put() self.districtteam_2015mar_frc604.put() self.districtteam_2016ne_frc604.put() self.district_2015ne = District( id='2015ne', year=2015, abbreviation='ne', ) self.district_2016chs = District( id='2016chs', year=2016, abbreviation='chs', ) self.district_2015ne.put() self.district_2016chs.put() self.event_2016necmp = Event( id='2016necmp', year=2016, district_key=ndb.Key(District, '2016ne'), event_short='necmp', event_type_enum=EventType.DISTRICT_CMP, ) self.event_2016necmp.put() self.event_2015casj = Event( id='2015casj', year=2015, event_short='casj', event_type_enum=EventType.REGIONAL, parent_event=ndb.Key(Event, '2015cafoo'), ) self.event_2015casj.put()
def setUpClass(cls): cls.testbed = testbed.Testbed() cls.testbed.activate() cls.testbed.init_urlfetch_stub()
def setUp(self): app = webapp2.WSGIApplication([('/(.*)', server.Site)]) self.testapp = webtest.TestApp(app) self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.init_memcache_stub()
def setUp(self): super(SummaryModuleTest, self).setUp() self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.setup_env(overwrite=True, USER_EMAIL='*****@*****.**', USER_ID='123', USER_IS_ADMIN='0', DEFAULT_VERSION_HOSTNAME='example.appspot.com') self.testbed.init_all_stubs() today = datetime.datetime.today() five_days_ago = today - datetime.timedelta(days=5) long_ago = today - datetime.timedelta( days=models.COMPUTER_ACTIVE_DAYS + 1) # computer in NYC models.Computer(active=True, hostname='host1', serial=str(uuid.uuid4()), uuid=str(uuid.uuid4()), owner='zaspire', client_version='2.3.1', os_version='10.11', site='NYC', track='stable', config_track='stable', connection_dates=[today], connections_on_corp=1, connections_off_corp=0, uptime=90000.0, root_disk_free=0, user_disk_free=10, preflight_datetime=today).put() # last active five days ago models.Computer(active=True, hostname='host10', serial=str(uuid.uuid4()), uuid=str(uuid.uuid4()), owner='zerocool', client_version='2.3.2', os_version='10.11', site='MTV', track='stable', config_track='stable', connection_dates=[five_days_ago], connections_on_corp=1, connections_off_corp=1, uptime=90000.0, root_disk_free=0, user_disk_free=10, preflight_datetime=five_days_ago).put() # inactive computer in MTV models.Computer(active=False, hostname='host2', serial=str(uuid.uuid4()), uuid=str(uuid.uuid4()), owner='zerocool', client_version='2.3.1', os_version='10.11', site='MTV', track='stable', config_track='stable', connection_dates=[long_ago], connections_on_corp=1, connections_off_corp=1, uptime=90000.0, root_disk_free=0, user_disk_free=10, preflight_datetime=long_ago).put() # track unstable models.Computer(active=True, hostname='xyz-macbook', serial=str(uuid.uuid4()), uuid=str(uuid.uuid4()), owner='zerocool', client_version='2.3.3', os_version='10.10', site='MTV', track='unstable', config_track='unstable', connection_dates=[today], connections_on_corp=0, connections_off_corp=100, uptime=90000.0, root_disk_free=0, user_disk_free=10, preflight_datetime=today).put() reports_cache = models.ReportsCache() trending = { 'success': { 'packages': [('emacs', 10, 61.1)], 'total': 100 }, 'failure': { 'packages': [('vim', 10, 61.1)], 'total': 50 }, } reports_cache.SetTrendingInstalls(1, trending) trending['failure']['packages'].append(('office', 132, 99.9)) reports_cache.SetTrendingInstalls(24, trending)
def setUp(self): self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.init_datastore_v3_stub() self.testbed.init_memcache_stub() ndb.get_context().clear_cache( ) # Prevent data from leaking between tests app = webapp2.WSGIApplication([ RedirectRoute(r'/event/<event_key>', EventDetail, 'event-detail'), RedirectRoute(r'/event/<event_key>/insights', EventInsights, 'event-insights'), RedirectRoute(r'/events/<year:[0-9]+>', EventList, 'event-list-year'), RedirectRoute(r'/events', EventList, 'event-list'), ]) self.testapp = webtest.TestApp(app) self.event1 = Event( id="2016necmp", name="New England District Championship", event_type_enum=EventType.DISTRICT_CMP, event_district_enum=DistrictType.NEW_ENGLAND, short_name="New England", event_short="necmp", year=2016, end_date=datetime(2016, 03, 27), official=True, city='Hartford', state_prov='CT', country='USA', venue="Some Venue", venue_address="Some Venue, Hartford, CT, USA", timezone_id="America/New_York", start_date=datetime(2016, 03, 24), webcast_json= "[{\"type\": \"twitch\", \"channel\": \"frcgamesense\"}]", website="http://www.firstsv.org", ) self.event1.put() # To test that /events defaults to current year this_year = datetime.now().year self.event2 = Event( id="{}necmp".format(this_year), name="New England District Championship", event_type_enum=EventType.DISTRICT_CMP, event_district_enum=DistrictType.NEW_ENGLAND, short_name="New England", event_short="necmp", year=this_year, end_date=datetime(this_year, 03, 27), official=True, city='Hartford', state_prov='CT', country='USA', venue="Some Venue", venue_address="Some Venue, Hartford, CT, USA", timezone_id="America/New_York", start_date=datetime(this_year, 03, 24), webcast_json= "[{\"type\": \"twitch\", \"channel\": \"frcgamesense\"}]", website="http://www.firstsv.org", ) self.event2.put() self.event1_details = EventDetails(id=self.event1.key.id(), predictions={ "ranking_prediction_stats": None, "match_predictions": None, "ranking_predictions": None, "match_prediction_stats": None }) self.event1_details.put() self.event2_details = EventDetails(id=self.event2.key.id(), predictions={ "ranking_prediction_stats": None, "match_predictions": None, "ranking_predictions": None, "match_prediction_stats": None }) self.event2_details.put()
def setUp(self): self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.init_datastore_v3_stub() self.testbed.init_memcache_stub() self.old_SESSION_COOKIE_SECURE = settings.SESSION_COOKIE_SECURE
def setUp(self): self.testbed = testbed.Testbed() self.testbed.activate()
def setUp(self): harness = testbed.Testbed() harness.activate() harness.init_taskqueue_stub()
def setUp(self): self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.init_datastore_v3_stub() self.testbed.init_memcache_stub() self.testbed.init_taskqueue_stub(root_path=".") self.event = Event(id="2012ct", event_short="ct", year=2012) self.old_match = Match( id="2012ct_qm1", alliances_json= """{"blue": {"score": -1, "teams": ["frc3464", "frc20", "frc1073"]}, "red": {"score": -1, "teams": ["frc69", "frc571", "frc176"]}}""", score_breakdown_json=json.dumps({ 'red': { 'auto': 20, 'assist': 40, 'truss+catch': 20, 'teleop_goal+foul': 20 }, 'blue': { 'auto': 40, 'assist': 60, 'truss+catch': 10, 'teleop_goal+foul': 40 }, }), comp_level="qm", event=self.event.key, year=2012, set_number=1, match_number=1, team_key_names=[ u'frc69', u'frc571', u'frc176', u'frc3464', u'frc20', u'frc1073' ], youtube_videos=[u'P3C2BOtL7e8', u'tst1', u'tst2', u'tst3']) self.new_match = Match( id="2012ct_qm1", alliances_json= """{"blue": {"score": 57, "teams": ["frc3464", "frc20", "frc1073"]}, "red": {"score": 74, "teams": ["frc69", "frc571", "frc176"]}}""", score_breakdown_json=json.dumps({ 'red': { 'auto': 80, 'assist': 40, 'truss+catch': 20, 'teleop_goal+foul': 20 }, 'blue': { 'auto': 40, 'assist': 60, 'truss+catch': 10, 'teleop_goal+foul': 40 }, }), comp_level="qm", event=self.event.key, year=2012, set_number=1, match_number=1, team_key_names=[ u'frc69', u'frc571', u'frc176', u'frc3464', u'frc20', u'frc1073' ], youtube_videos=[u'TqY324xLU4s', u'tst1', u'tst3', u'tst4'])
def setUp(self): self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.setup_env(app_id='testapp') self.testbed.init_datastore_v3_stub() self.testbed.init_memcache_stub()
def setUp(self): self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.init_datastore_v3_stub() self.testbed.init_taskqueue_stub(root_path=".")
def setUp(self): self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.init_urlfetch_stub()
def setUp(self): self.tb = testbed.Testbed() self.tb.activate() self.tb.init_search_stub() self.p1 = model.Person.create_original_with_record_id( 'haiti', 'haiti/0505', given_name='Iori', family_name='Minase', full_name='Iori Minase', alternate_names='Iorin', entry_date=TEST_DATETIME) self.p2 = model.Person.create_original_with_record_id( 'haiti', 'haiti/0325', given_name='Yayoi', family_name='Takatsuki', full_name='Yayoi Takatsuki', alternate_names='Yayotan', entry_date=TEST_DATETIME) self.p3 = model.Person.create_original_with_record_id( 'haiti', 'haiti/1202', given_name='Yayoi', full_name='Yayoi san', alternate_names='Nigochan', entry_date=TEST_DATETIME) self.p4 = model.Person.create_original_with_record_id( 'haiti', 'haiti/1123', given_name='Miki', family_name='Hoshii', full_name='Miki Hoshii', entry_date=TEST_DATETIME) self.p5 = model.Person.create_original_with_record_id( 'haiti', 'haiti/0522', given_name='Ami', family_name='Futami', full_name='Ami Futami', entry_date=TEST_DATETIME) self.p6 = model.Person.create_original_with_record_id( 'haiti', 'haiti/0225', given_name='Chihaya', family_name='Kisaragi', full_name='Chihaya Kisaragi', home_street='Kunaideme72', home_city='Arao', home_state='Kumamoto', home_postal_code='864-0003', home_neighborhood='Araokeibajou', home_country='Japan', entry_date=TEST_DATETIME) self.p7 = model.Person.create_original_with_record_id( 'haiti', 'haiti/1010', given_name='Hibiki', family_name='Ganaha', full_name='Hibiki Ganaha', entry_date=TEST_DATETIME) self.p8 = model.Person.create_original_with_record_id( 'haiti', 'haiti/0719', given_name=u'あずさ', family_name=u'三浦', home_city=u'横浜', entry_date=TEST_DATETIME) self.p9 = model.Person.create_original_with_record_id( 'haiti', 'haiti/0623', given_name=u'рицуко', family_name=u'акидуки', home_city=u'тоттори', entry_date=TEST_DATETIME) self.p10 = model.Person.create_original_with_record_id( 'haiti', 'haiti:0810', given_name='Rin', family_name='Shibuya', full_name='Rin Shibuya', home_city='shinjuku', entry_date=TEST_DATETIME) self.p11 = model.Person.create_original_with_record_id( 'haiti', 'haiti:0203', given_name='Rin', family_name='Tosaka', full_name='Rin Tosaka', home_city='Shibuya', entry_date=TEST_DATETIME) self.p12 = model.Person.create_original_with_record_id( 'haiti', 'haiti/1224', given_name=u'雪歩', family_name=u'萩原', entry_date=TEST_DATETIME) self.p13 = model.Person.create_original_with_record_id( 'haiti', 'haiti/0523', given_name=u'Zhen Mei', family_name=u'Shuang Hai', entry_date=TEST_DATETIME) self.p14 = model.Person.create_original_with_record_id( 'haiti', 'haiti/0829', given_name=u'真', family_name=u'菊地', entry_date=TEST_DATETIME) self.p15 = model.Person.create_original_with_record_id( 'haiti', 'haiti/1829', given_name=u'眞', family_name=u'菊地', entry_date=TEST_DATETIME) self.p16 = model.Person.create_original_with_record_id( 'haiti', 'haiti/0909', full_name=u'音無小鳥', entry_date=TEST_DATETIME) self.p17 = model.Person.create_original_with_record_id( 'haiti', 'haiti/0910', full_name=u'曾诚', family_name=u'曾', given_name=u'诚', entry_date=TEST_DATETIME) self.p18 = model.Person.create_original_with_record_id( 'haiti', 'haiti/0911', full_name=u'Shan Yu', family_name=u'Shan', given_name=u'Yu', entry_date=TEST_DATETIME)
def setUp(self): self.testbed = testbed.Testbed() self.testbed.activate() self.task_queue_stub = utils.init_testbed_queue_stub(self.testbed)
def setUp(self): self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.init_user_stub() self.testbed.init_datastore_v3_stub() self.testbed.init_memcache_stub() self.testbed.init_taskqueue_stub() model.Repo(key_name='haiti').put() logging.basicConfig(level=logging.INFO, stream=sys.stderr) self.mox = None # Setup cheerfully stolen from test_model. set_utcnow_for_test(datetime.datetime(2010, 1, 1)) self.photo = model.Photo.create('haiti', image_data='xyz') self.photo.put() self.photo_key = self.photo.key() self.p1 = model.Person.create_original( 'haiti', given_name='John', family_name='Smith', home_street='Washington St.', home_city='Los Angeles', home_state='California', home_postal_code='11111', home_neighborhood='Good Neighborhood', author_name='Alice Smith', author_phone='111-111-1111', author_email='*****@*****.**', photo_url='', photo=self.photo, source_url='https://www.source.com', source_date=datetime.datetime(2010, 1, 1), source_name='Source Name', entry_date=datetime.datetime(2010, 1, 1), expiry_date=datetime.datetime(2010, 2, 1), other='') self.p2 = model.Person.create_original( 'haiti', given_name='Tzvika', family_name='Hartman', home_street='Herzl St.', home_city='Tel Aviv', home_state='Israel', source_date=datetime.datetime(2010, 1, 1), entry_date=datetime.datetime(2010, 1, 1), expiry_date=datetime.datetime(2010, 3, 1), other='') self.key_p1 = db.put(self.p1) self.key_p2 = db.put(self.p2) self.n1_1 = model.Note.create_original( 'haiti', person_record_id=self.p1.record_id, linked_person_record_id=self.p2.record_id, status=u'believed_missing', author_made_contact=False, entry_date=get_utcnow(), source_date=datetime.datetime(2010, 1, 2)) self.note_id = self.n1_1.note_record_id db.put(self.n1_1) self.to_delete = [self.p1, self.p2, self.n1_1, self.photo]
def setUp(self): if RUN_GAE: from google.appengine.ext import testbed tb = testbed.Testbed() tb.activate() tb.init_memcache_stub()
def setUp(self): self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.init_datastore_v3_stub() self.testbed.init_memcache_stub() ndb.get_context().clear_cache( ) # Prevent data from leaking between tests app = webapp2.WSGIApplication([ RedirectRoute(r'/team/<team_number:[0-9]+>', TeamCanonical, 'team-canonical'), RedirectRoute(r'/team/<team_number:[0-9]+>/<year:[0-9]+>', TeamDetail, 'team-detail'), RedirectRoute(r'/team/<team_number:[0-9]+>/history', TeamHistory, 'team-history'), RedirectRoute(r'/teams/<page:[0-9]+>', TeamList, 'team-list-year'), RedirectRoute(r'/teams', TeamList, 'team-list'), ]) self.testapp = webtest.TestApp(app) self.team = Team( id="frc1124", name="Really Long Name", team_number=1124, rookie_year=2003, nickname="The UberBots", city="Avon", state_prov="CT", country="USA", website="www.uberbots.org", motto="This is a motto", ) self.event = Event( id="2016necmp", name="New England District Championship", event_type_enum=EventType.DISTRICT_CMP, short_name="New England", event_short="necmp", year=2016, end_date=datetime(2016, 03, 27), official=True, city='Hartford', state_prov='CT', country='USA', venue="Some Venue", venue_address="Some Venue, Hartford, CT, USA", timezone_id="America/New_York", start_date=datetime(2016, 03, 24), ) self.event_team = EventTeam(id="2016necmp_frc1124", team=self.team.key, event=self.event.key, year=2016) self.event2 = Event( id="2015necmp", name="New England District Championship", event_type_enum=EventType.DISTRICT_CMP, short_name="New England", event_short="necmp", year=2015, end_date=datetime(2015, 03, 27), official=True, city='Hartford', state_prov='CT', country='USA', venue="Some Venue", venue_address="Some Venue, Hartford, CT, USA", timezone_id="America/New_York", start_date=datetime(2015, 03, 24), ) self.event_team2 = EventTeam(id="2015necmp_frc1124", team=self.team.key, event=self.event2.key, year=2015) self.event_team.put() self.team.put() self.event.put() self.event_team.put() self.event2.put() self.event_team2.put()
def setUp(self): app = webapp2.WSGIApplication([ webapp2.Route( r'/<year:>', ApiDistrictListController, methods=['GET']) ], debug=True) self.testapp = webtest.TestApp(app) self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.init_datastore_v3_stub() self.testbed.init_urlfetch_stub() self.testbed.init_memcache_stub() self.testbed.init_taskqueue_stub(root_path=".") self.event = Event( id="2010sc", name="Palmetto Regional", event_type_enum=EventType.DISTRICT_CMP, event_district_enum=DistrictType.NEW_ENGLAND, short_name="Palmetto", event_short="sc", year=2010, end_date=datetime(2010, 03, 27), official=True, city="Clemson", state_prov="SC", country="USA", venue="Long Beach Arena", venue_address= "Long Beach Arena\r\n300 East Ocean Blvd\r\nLong Beach, CA 90802\r\nUSA", start_date=datetime(2010, 03, 24), webcast_json= "[{\"type\": \"twitch\", \"channel\": \"frcgamesense\"}]", website="http://www.firstsv.org", ) self.event.put() self.event_details = EventDetails( id=self.event.key.id(), alliance_selections=[{ "declines": [], "picks": ["frc971", "frc254", "frc1662"] }, { "declines": [], "picks": ["frc1678", "frc368", "frc4171"] }, { "declines": [], "picks": ["frc2035", "frc192", "frc4990"] }, { "declines": [], "picks": ["frc1323", "frc846", "frc2135"] }, { "declines": [], "picks": ["frc2144", "frc1388", "frc668"] }, { "declines": [], "picks": ["frc1280", "frc604", "frc100"] }, { "declines": [], "picks": ["frc114", "frc852", "frc841"] }, { "declines": [], "picks": ["frc2473", "frc3256", "frc1868"] }]) self.event_details.put()
def setUp(self): self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.init_datastore_v3_stub() self.testbed.init_memcache_stub() ndb.get_context().clear_cache() # Prevent data from leaking between tests
def setUp(self): super(TestJobDestroy, self).setUp() self.testbed = testbed.Testbed() self.testbed.activate() # Activate which service we want to stub self.testbed.init_app_identity_stub()
def setUp(self): self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.init_datastore_v3_stub() self.testbed.init_memcache_stub() ndb.get_context().clear_cache()
def setUp(self): self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.init_memcache_stub()
def setUp(self): self.tb = testbed.Testbed() self.tb.setup_env() self.tb.activate() self.tb.init_datastore_v3_stub()
def setUp(self): self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.init_user_stub()
def setUp(self): self.testbed = testbed.Testbed() self.testbed.activate() self.testbed.init_datastore_v3_stub() self.testbed.init_taskqueue_stub(root_path=".") self.testbed.init_memcache_stub() ndb.get_context().clear_cache( ) # Prevent data from leaking between tests self.maxDiff = None with open('test_data/usfirst_html/usfirst_event_rankings_2012ct.html', 'r') as f: good_rankings, _ = UsfirstEventRankingsParser.parse(f.read()) with open( 'test_data/usfirst_html/usfirst_event_rankings_2012ct_bad.html', 'r') as f: bad_rankings, _ = UsfirstEventRankingsParser.parse(f.read()) self.old_alliance_selections = { '1': { 'picks': ['frc254', 'frc469', 'frc2848', 'frc74'], 'declines': [] }, '2': { 'picks': ['frc1718', 'frc2451', 'frc573', 'frc2016'], 'declines': [] }, '3': { 'picks': ['frc2928', 'frc2013', 'frc1311', 'frc842'], 'declines': [] }, '4': { 'picks': ['frc180', 'frc125', 'frc1323', 'frc2468'], 'declines': [] }, '5': { 'picks': ['frc118', 'frc359', 'frc4334', 'frc865'], 'declines': [] }, '6': { 'picks': ['frc135', 'frc1241', 'frc11', 'frc68'], 'declines': [] }, '7': { 'picks': ['frc3478', 'frc177', 'frc294', 'frc230'], 'declines': [] }, '8': { 'picks': ['frc624', 'frc987', 'frc3476', 'frc123'], 'declines': [] }, } self.new_alliance_selections = { '1': { 'picks': ['frc254', 'frc469', 'frc2848', 'frc74'], 'declines': [] }, '2': { 'picks': ['frc1718', 'frc2451', 'frc573', 'frc2016'], 'declines': [] }, '3': { 'picks': ['frc2928', 'frc2013', 'frc1311', 'frc842'], 'declines': [] }, '4': { 'picks': ['frc180', 'frc125', 'frc1323', 'frc2468'], 'declines': [] }, '5': { 'picks': ['frc118', 'frc359', 'frc4334', 'frc865'], 'declines': [] }, '6': { 'picks': ['frc135', 'frc1241', 'frc11', 'frc68'], 'declines': [] }, '7': { 'picks': ['frc3478', 'frc177', 'frc294', 'frc230'], 'declines': [] }, '8': { 'picks': ['frc624', 'frc987', 'frc3476', 'frc3015'], 'declines': [] }, } self.old_event_details = EventDetails( id='2011ct', rankings=good_rankings, alliance_selections=self.old_alliance_selections, ) self.new_event_details = EventDetails( id='2011ct', rankings=bad_rankings, alliance_selections=self.new_alliance_selections, matchstats={ 'oprs': { '4255': 7.4877151786460301, '2643': 27.285682906835952, '852': 10.452538750544525, '4159': 25.820137009871139, '581': 18.513816255143144 } })