Пример #1
0
    def setUp(self):
        disconnect_signals()

        # Create two separate timeslots
        user = PersonUserFactory()
        timeslot1 = TimeslotFactory(user=user)
        MaximalTimeRecurrenceFactory(timeslot=timeslot1)
        timeslot2 = TimeslotFactory(user=user)
        MinimalTimeRecurrenceFactory(timeslot=timeslot2)

        # Create a filter that matches your test incident
        (_, _, argus_source) = get_or_create_default_instances()
        filter_dict = {"sourceSystemIds": [argus_source.id], "tags": []}
        filter_string = json.dumps(filter_dict)
        filter = FilterFactory(user=user, filter_string=filter_string)

        # Create two notification profiles that match this filter, but attached to each their timeslot
        self.np1 = NotificationProfileFactory(user=user,
                                              timeslot=timeslot1,
                                              active=True)
        self.np1.filters.add(filter)
        self.np2 = NotificationProfileFactory(user=user,
                                              timeslot=timeslot2,
                                              active=True)
        self.np2.filters.add(filter)
Пример #2
0
    def setUp(self):
        disconnect_signals()
        super().init_test_objects()

        incident1_json = IncidentSerializer([self.incident1], many=True).data
        self.incident1_json = JSONRenderer().render(incident1_json)

        self.timeslot1 = Timeslot.objects.create(user=self.user1, name="Never")
        self.timeslot2 = Timeslot.objects.create(
            user=self.user1, name="Never 2: Ever-expanding Void")
        filter1 = Filter.objects.create(
            user=self.user1,
            name="Critical incidents",
            filter_string=f'{{"sourceSystemIds": [{self.source1.pk}]}}',
        )
        self.notification_profile1 = NotificationProfile.objects.create(
            user=self.user1, timeslot=self.timeslot1)
        self.notification_profile1.filters.add(filter1)
        self.notification_profile1.destinations.set(
            self.user1.destinations.all())
        self.media = []
        self.phone_number = None
        if self.notification_profile1.destinations.filter(
                media_id="email").exists():
            self.media.append("EM")
        if self.notification_profile1.destinations.filter(
                media_id="sms").exists():
            self.media.append("SM")
            self.phone_number = (
                self.notification_profile1.destinations.filter(media_id="sms").
                order_by("pk").first().settings["phone_number"])
Пример #3
0
    def setUp(self):
        disconnect_signals()

        # Create two separate timeslots
        user = PersonUserFactory()
        timeslot1 = factories.TimeslotFactory(user=user)
        factories.MaximalTimeRecurrenceFactory(timeslot=timeslot1)
        timeslot2 = factories.TimeslotFactory(user=user)
        factories.MinimalTimeRecurrenceFactory(timeslot=timeslot2)

        # Create a filter that matches your test incident
        (_, _, argus_source) = get_or_create_default_instances()
        filter_dict = {"sourceSystemIds": [argus_source.id], "tags": []}
        filter_string = json.dumps(filter_dict)
        filter = factories.FilterFactory(user=user,
                                         filter_string=filter_string)

        # Get user related destinations
        destinations = user.destinations.all()

        # Create two notification profiles that match this filter,
        # but attached to different timeslots
        self.np1 = factories.NotificationProfileFactory(user=user,
                                                        timeslot=timeslot1,
                                                        active=True)
        self.np1.filters.add(filter)
        self.np1.destinations.set(destinations)
        self.np2 = factories.NotificationProfileFactory(user=user,
                                                        timeslot=timeslot2,
                                                        active=True)
        self.np2.filters.add(filter)
        self.np2.destinations.set(destinations)
Пример #4
0
 def setUp(self):
     disconnect_signals()
     super().init_test_objects()
     self.incident1 = IncidentFactory(source=self.source1, end_time=None)
     self.incident2 = IncidentFactory(source=self.source1)
     self.incident3 = IncidentFactory(source=self.source2)
     self.incident4 = IncidentFactory(source=self.source2)
     self.incident4.end_time = self.incident4.start_time
     self.incident4.save()
Пример #5
0
    def setUp(self):
        disconnect_signals()
        super().init_test_objects()

        self.incident1 = Incident.objects.create(
            start_time=make_aware(datetime(2000, 1, 1)),
            source=self.source1,
            source_incident_id="1",
        )
        self.incident2 = duplicate(self.incident1, source_incident_id="2")
        self.incident3 = duplicate(self.incident1, source_incident_id="3")
Пример #6
0
 def setUp(self):
     disconnect_signals()
     super().init_test_objects()
     self.incident1 = StatelessIncidentFactory(source=self.source1,
                                               ticket_url="")
     self.incident2 = StatefulIncidentFactory(source=self.source1,
                                              ticket_url="")
     self.incident3 = StatefulIncidentFactory(source=self.source2,
                                              ticket_url="")
     self.incident4 = StatefulIncidentFactory(source=self.source2)
     self.incident4.end_time = self.incident4.start_time
     self.incident4.save()
Пример #7
0
    def setUp(self):
        disconnect_signals()

        super().init_test_objects()

        self.stateful_incident1 = StatefulIncidentFactory(
            start_time=make_aware(datetime(2000, 1, 1)),
            end_time=timezone.now() + timedelta(weeks=1),
            source=self.source1,
            source_incident_id="1",
        )
        self.stateless_incident1 = duplicate(self.stateful_incident1, end_time=None, source_incident_id="2")

        self.events_url = lambda incident: reverse("v1:incident:incident-events", args=[incident.pk])
Пример #8
0
    def setUp(self):
        disconnect_signals()
        super().init_test_objects()

        incident1_json = IncidentSerializer([self.incident1], many=True).data
        self.incident1_json = JSONRenderer().render(incident1_json)

        self.timeslot1 = Timeslot.objects.create(user=self.user1, name="Never")
        self.timeslot2 = Timeslot.objects.create(
            user=self.user1, name="Never 2: Ever-expanding Void")
        filter1 = Filter.objects.create(
            user=self.user1,
            name="Critical incidents",
            filter_string=f'{{"sourceSystemIds": [{self.source1.pk}]}}',
        )
        self.notification_profile1 = NotificationProfile.objects.create(
            user=self.user1, timeslot=self.timeslot1)
        self.notification_profile1.filters.add(filter1)
Пример #9
0
 def setUp(self):
     disconnect_signals()
     # Lock in timestamps
     self.timestamp = timezone.now()
     # We don't care about source but let's ensure it is unique
     source = SourceSystemFactory()
     self.incident1 = StatelessIncidentFactory(source=source,
                                               start_time=self.timestamp,
                                               ticket_url="")
     self.incident2 = StatefulIncidentFactory(source=source,
                                              start_time=self.timestamp,
                                              ticket_url="")
     self.incident3 = StatefulIncidentFactory(source=source,
                                              start_time=self.timestamp,
                                              ticket_url="")
     self.incident4 = StatefulIncidentFactory(source=source,
                                              start_time=self.timestamp)
     self.incident4.end_time = self.timestamp
     self.incident4.save()
Пример #10
0
    def setUp(self):
        disconnect_signals()
        super().init_test_objects()
        self.monday_datetime = make_aware(parse_datetime("2019-11-25 00:00"))

        self.timeslot1 = Timeslot.objects.create(user=self.user1, name="Test")
        self.recurrence1 = TimeRecurrence.objects.create(
            timeslot=self.timeslot1,
            days={TimeRecurrence.Day.MONDAY},
            start=parse_time("00:30:00"),
            end=parse_time("00:30:01"),
        )
        self.recurrence2 = TimeRecurrence.objects.create(
            timeslot=self.timeslot1,
            days={TimeRecurrence.Day.MONDAY},
            start=parse_time("00:30:03"),
            end=parse_time("00:31"),
        )
        self.recurrence_all_day = TimeRecurrence.objects.create(
            timeslot=self.timeslot1,
            days={TimeRecurrence.Day.TUESDAY},
            start=TimeRecurrence.DAY_START,
            end=TimeRecurrence.DAY_END,
        )
Пример #11
0
 def setUp(self):
     disconnect_signals()
     source_type = SourceSystemTypeFactory()
     source_user = SourceUserFactory()
     self.source = SourceSystemFactory(type=source_type, user=source_user)
Пример #12
0
 def setUp(self):
     disconnect_signals()
Пример #13
0
 def setUp(self):
     disconnect_signals()
     self.user = PersonUserFactory()
Пример #14
0
 def setUp(self):
     disconnect_signals()
     self.user = PersonUserFactory()
     self.request_factory = APIRequestFactory()
Пример #15
0
    def setUp(self):
        disconnect_signals()

        self.user1 = PersonUserFactory()
        self.user2 = PersonUserFactory(email="")
Пример #16
0
 def setUpClass(cls):
     disconnect_signals()
     source_type = SourceSystemTypeFactory()
     cls.user = SourceUserFactory()
     cls.source = SourceSystemFactory(type=source_type, user=cls.user)