Esempio n. 1
0
	def test_unique_by(self):
		g = event.EventGenerator()
		events = g.randomEvents(100)
		for e in events:
			e.host = "TEST"
		events[42].creation -= 100
		events[42].host = "FOO"
		events[43].creation += 100
		events[43].host = "FOO"
		events[44].arrival -= 100
		events[44].host = "FOO"
		events[45].arrival += 100
		events[45].host = "FOO"
		unique_by_creation_first = rulecomponents.unique_by("host", "creation", "first", lambda **kwargs: kwargs['query_events'])
		unique_by_creation_last = rulecomponents.unique_by("host", "creation", "last", lambda **kwargs: kwargs['query_events'])
		unique_by_arrival_first = rulecomponents.unique_by("host", "arrival", "first", lambda **kwargs: kwargs['query_events'])
		unique_by_arrival_last = rulecomponents.unique_by("host", "arrival", "last", lambda **kwargs: kwargs['query_events'])
		events_unique_creation_first = unique_by_creation_first(query_events = events)
		events_unique_creation_last = unique_by_creation_last(query_events = events)
		events_unique_arrival_first = unique_by_arrival_first(query_events = events)
		events_unique_arrival_last = unique_by_arrival_last(query_events = events)
		# number of selected events
		self.assert_(len(events_unique_creation_first) == 2)
		self.assert_(len(events_unique_creation_last) == 2)
		self.assert_(len(events_unique_arrival_first) == 2)
		self.assert_(len(events_unique_arrival_last) == 2)
		# event with host FOO
		fooevent = lambda evts: [e for e in evts if e.host=="FOO"][0]
		self.assert_(fooevent(events_unique_creation_first) == events[42])
		self.assert_(fooevent(events_unique_creation_last) == events[43])
		self.assert_(fooevent(events_unique_arrival_first) == events[44])
		self.assert_(fooevent(events_unique_arrival_last) == events[45])
		# empty list
		empty = unique_by_creation_first(query_events = [])
		self.assert_(len(empty) == 0)
Esempio n. 2
0
 def test_unique_by(self):
     g = event.EventGenerator()
     events = g.randomEvents(100)
     for e in events:
         e.host = "TEST"
     events[42].creation -= 100
     events[42].host = "FOO"
     events[43].creation += 100
     events[43].host = "FOO"
     events[44].arrival -= 100
     events[44].host = "FOO"
     events[45].arrival += 100
     events[45].host = "FOO"
     unique_by_creation_first = rulecomponents.unique_by(
         "host", "creation", "first",
         lambda **kwargs: kwargs['query_events'])
     unique_by_creation_last = rulecomponents.unique_by(
         "host", "creation", "last",
         lambda **kwargs: kwargs['query_events'])
     unique_by_arrival_first = rulecomponents.unique_by(
         "host", "arrival", "first",
         lambda **kwargs: kwargs['query_events'])
     unique_by_arrival_last = rulecomponents.unique_by(
         "host", "arrival", "last", lambda **kwargs: kwargs['query_events'])
     events_unique_creation_first = unique_by_creation_first(
         query_events=events)
     events_unique_creation_last = unique_by_creation_last(
         query_events=events)
     events_unique_arrival_first = unique_by_arrival_first(
         query_events=events)
     events_unique_arrival_last = unique_by_arrival_last(
         query_events=events)
     # number of selected events
     self.assert_(len(events_unique_creation_first) == 2)
     self.assert_(len(events_unique_creation_last) == 2)
     self.assert_(len(events_unique_arrival_first) == 2)
     self.assert_(len(events_unique_arrival_last) == 2)
     # event with host FOO
     fooevent = lambda evts: [e for e in evts if e.host == "FOO"][0]
     self.assert_(fooevent(events_unique_creation_first) == events[42])
     self.assert_(fooevent(events_unique_creation_last) == events[43])
     self.assert_(fooevent(events_unique_arrival_first) == events[44])
     self.assert_(fooevent(events_unique_arrival_last) == events[45])
     # empty list
     empty = unique_by_creation_first(query_events=[])
     self.assert_(len(empty) == 0)
Esempio n. 3
0
	def test_unique_by_attribute(self):
		g = event.EventGenerator()
		events = g.randomEvents(100)
		events[42].setAttribute("foo", "bar")
		events[42].creation -= 100
		events[43].setAttribute("foo", "bar")
		events[44].setAttribute("foo", "bar")
		events[45].setAttribute("foo", "baz")
		unique_by_attribute_foo = rulecomponents.unique_by("attributes.foo", "creation", "first", lambda **kwargs: kwargs['query_events'])
		unique_events = unique_by_attribute_foo(query_events = events)
		# event with host FOO
		self.assert_(len(unique_events) == 3)  # "bar", "baz" and ""
		barevent = lambda evts: [e for e in evts if e.getAttribute("foo")=="bar"][0]
		self.assert_(barevent(unique_events) == events[42])
Esempio n. 4
0
 def test_unique_by_attribute(self):
     g = event.EventGenerator()
     events = g.randomEvents(100)
     events[42].setAttribute("foo", "bar")
     events[42].creation -= 100
     events[43].setAttribute("foo", "bar")
     events[44].setAttribute("foo", "bar")
     events[45].setAttribute("foo", "baz")
     unique_by_attribute_foo = rulecomponents.unique_by(
         "attributes.foo", "creation", "first",
         lambda **kwargs: kwargs['query_events'])
     unique_events = unique_by_attribute_foo(query_events=events)
     # event with host FOO
     self.assert_(len(unique_events) == 3)  # "bar", "baz" and ""
     barevent = lambda evts: [
         e for e in evts if e.getAttribute("foo") == "bar"
     ][0]
     self.assert_(barevent(unique_events) == events[42])