示例#1
0
    def test_do_alert_when_travel_impossible(self):
        evts = [
            locality.Locality(
                sourceipaddress='1.2.3.123',
                city='Toronto',
                country='CA',
                lastaction=toUTC(datetime.now()) - timedelta(minutes=5),
                latitude=43.6529,
                longitude=-79.3849,
                radius=50),
            locality.Locality(
                sourceipaddress='123.3.2.1',
                city='San Francisco',
                country='US',
                lastaction=toUTC(datetime.now()) - timedelta(hours=1),
                latitude=37.773972,
                longitude=-122.431297,
                radius=50)
        ]

        alert_produced = alert('testuser', evts, [], 'INFO')

        assert alert_produced is not None
        assert alert_produced.username == 'testuser'
        assert alert_produced.hops[0].origin.city == 'San Francisco'
        assert alert_produced.hops[0].destination.city == 'Toronto'
示例#2
0
    def test_do_not_alert_when_travel_possible(self):
        evts = [
            locality.Locality(sourceipaddress='1.2.3.123',
                              city='Toronto',
                              country='CA',
                              lastaction=toUTC(datetime.now()) -
                              timedelta(minutes=5),
                              latitude=43.6529,
                              longitude=-79.3849,
                              radius=50),
            locality.Locality(sourceipaddress='123.3.2.1',
                              city='San Francisco',
                              country='US',
                              lastaction=toUTC(datetime.now()) -
                              timedelta(hours=10),
                              latitude=37.773972,
                              longitude=-122.431297,
                              radius=50)
        ]

        alert_produced = alert('tester1', evts, [])

        assert alert_produced is None
示例#3
0
    def test_alerts_include_all_impossible_hops(self):
        evts = [
            locality.Locality(
                sourceipaddress='1.2.3.123',
                city='Toronto',
                country='CA',
                lastaction=toUTC(datetime.now()) - timedelta(minutes=5),
                latitude=43.6529,
                longitude=-79.3849,
                radius=50),
            locality.Locality(
                sourceipaddress='52.32.127.3',
                city='Saint Petersburg',
                country='RU',
                lastaction=toUTC(datetime.now()) - timedelta(minutes=15),
                latitude=59.9343,
                longitude=30.3351,
                radius=50),
            locality.Locality(
                sourceipaddress='123.3.2.1',
                city='San Francisco',
                country='US',
                lastaction=toUTC(datetime.now()) - timedelta(hours=1),
                latitude=37.773972,
                longitude=-122.431297,
                radius=50)
        ]

        alert_produced = alert('tester', evts, [], 'INFO')

        assert alert_produced is not None
        assert len(alert_produced.hops) == 2
        assert alert_produced.hops[0].origin.city == 'San Francisco'
        assert alert_produced.hops[0].destination.city == 'Saint Petersburg'
        assert alert_produced.hops[1].origin.city == 'Saint Petersburg'
        assert alert_produced.hops[1].destination.city == 'Toronto'