def test_leadtimemax_close(self): event = LookupEvent( sport_identifier=self.lookup["sport_identifier"], eventgroup_identifier=self.lookup["eventgroup_identifier"], teams=self.lookup["teams"], start_time=parse_time("2020-05-28T15:14:26"), ) # We set the leadtime_max to 2 days leadtime_Max = event.eventgroup["leadtime_Max"] # If the event starts now, it should be allowed to open event["start_time"] = datetime.datetime.utcnow() self.assertTrue(event.can_open) # If we move the start time forward to leadtime_max-1minute, it should # stil open event["start_time"] = datetime.datetime.utcnow() + datetime.timedelta( days=leadtime_Max, minutes=-1) self.assertTrue(event.can_open) # If we move it further, it should fail to open event["start_time"] = datetime.datetime.utcnow() + datetime.timedelta( days=leadtime_Max, minutes=1) self.assertFalse(event.can_open)
def getEvent(self): """ Get an event from the lookup """ event = LookupEvent.find_event( teams=self.teams, start_time=self.start_time, eventgroup_identifier=self.eventgroup.identifier, sport_identifier=self.sport.identifier, ) if event: # Store in object self.event = event eventgroup = event.eventgroup if not eventgroup.is_open: log.debug("Skipping not-yet-open BMG: {}".format( str(eventgroup.identifier))) raise exceptions.EventGroupClosedException return event else: raise exceptions.EventDoesNotExistException
def lookup_test_event(id): event = { "id": "1.18.2242", "teams": ["Atlanta Hawks", "Boston Celtics"], "eventgroup_identifier": "NBA", "sport_identifier": "Basketball", "season": {"en": "2017-00-00"}, "start_time": parse("2022-10-16T00:00:00"), "status": "upcoming", } return LookupEvent(**event)
def lookup_new_event(): return LookupEvent( **{ "teams": ["Miami Heat", "New Orleans Pelicans"], "event_group_id": "1.17.12", "eventgroup_identifier": "NBA", "sport_identifier": "Basketball", "season": { "en": "2017-00-00" }, "start_time": parse("2022-10-16T00:00:00"), "status": "upcoming" })
def test_participants(self): with self.assertRaises(ValueError): LookupEvent( **{ "teams": ["Atlanta Hawks", "Boston Celtics-Not"], "eventgroup_identifier": "NBA", "sport_identifier": "Basketball", "season": { "en": "2017-00-00" }, "start_time": start_time }) LookupEvent( **{ "teams": ["Nets", "Mavericks"], "eventgroup_identifier": "NBA", "sport_identifier": "Basketball", "season": { "en": "2017-00-00" }, "start_time": start_time })
def createEvent(self): """ Create event """ self.event = LookupEvent( teams=self.teams, start_time=self.start_time, eventgroup_identifier=self.eventgroup.identifier, sport_identifier=self.sport.identifier) # This tests for leadtime_max if not self.event.can_open: can_open_by = self.event.can_open_by self.set_incident_status(status_name="postponed", status_expiration=can_open_by) raise exceptions.EventCannotOpenException( "Can only open after {}".format(str(can_open_by))) return self.event
def test_init(self): self.assertIsInstance(self.lookup, LookupEvent) self.assertIsInstance( LookupEvent( **{ "teams": ["Atlanta Hawks", "Boston Celtics"], "eventgroup_identifier": "NBA", "sport_identifier": "Basketball", "season": { "en": "2017-00-00" }, "start_time": start_time }), LookupEvent) with self.assertRaises(ValueError): self.assertIsInstance( LookupEvent( **{ "teams": ["Atlanta Hawks", "Boston Celtics"], "eventgroup_identifier": "NBA", "sport_identifier": "Basketball", "season": { "en": "2017-00-00" }, "start_time": "SOME STRING" }), LookupEvent) with self.assertRaises(ValueError): self.assertIsInstance( LookupEvent( **{ "teams": ["Atlanta Hawks", "Boston Celtics", "third TEAM"], "eventgroup_identifier": "NBA", "sport_identifier": "Basketball", "season": { "en": "2017-00-00" }, "start_time": start_time }), LookupEvent) with self.assertRaises(TypeError): self.assertIsInstance( LookupEvent( **{ "eventgroup_identifier": "NBA", "sport_identifier": "Basketball", "season": { "en": "2017-00-00" }, "start_time": start_time }), LookupEvent) with self.assertRaises(TypeError): self.assertIsInstance( LookupEvent( **{ "teams": ["Atlanta Hawks", "Boston Celtics"], "sport_identifier": "Basketball", "season": { "en": "2017-00-00" }, "start_time": start_time }), LookupEvent) with self.assertRaises(TypeError): self.assertIsInstance( LookupEvent( **{ "teams": ["Atlanta Hawks", "Boston Celtics"], "eventgroup_identifier": "NBA", "season": { "en": "2017-00-00" }, "start_time": start_time }), LookupEvent) with self.assertRaises(TypeError): self.assertIsInstance( LookupEvent({ "teams": ["Atlanta Hawks", "Boston Celtics"], "eventgroup_identifier": "NBA", "sport_identifier": "Basketball", "start_time": start_time }), LookupEvent) self.assertIsInstance(self.lookup["teams"], list) self.assertEqual(self.lookup["teams"][0], "Atlanta Hawks") self.assertEqual(self.lookup["teams"][1], "Boston Celtics")