예제 #1
0
    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)
예제 #2
0
    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
예제 #3
0
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)
예제 #4
0
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"
        })
예제 #5
0
    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
            })
예제 #6
0
    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
예제 #7
0
    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")