def test_feed_manager(self): """Test attack feed manager""" # Create a session manager and the feed manager attached to it config = Configuration() session_manager = SessionManager(config) feed_manager = FeedManager(config, session_manager) feed_manager.add_feed(DummyFeed(config)) feed_manager.run() # Create an event event = Event("Test event") # Obtain a session and add the event session = session_manager.get_session("test", "127.0.0.1", 3200, "127.0.0.1", 3201) session.add_event(event) # Give the feed manager time for processing the event sleep(1) # Stop the feed manager and check if the event was processed feed_manager.stop() new_event = DummyFeed.events.get() self.assertIs(event, new_event)
def test_session_manager(self): """Test session manager""" # Obtain a session from the manager session_manager = SessionManager(Configuration()) session = session_manager.get_session("test", "127.0.0.1", 3200, "127.0.0.1", 3201) # Check that the session obtained matches with the requested data self.assertIsInstance(session, Session) self.assertIs(session.event_queue, session_manager.event_queue) self.assertEqual(session.service, "test") self.assertEqual(session.source_ip, "127.0.0.1") self.assertEqual(session.source_port, 3200) self.assertEqual(session.target_ip, "127.0.0.1") self.assertEqual(session.target_port, 3201) # Check that different sessions are created for other service/ip/ports another_session = session_manager.get_session("test", "127.0.0.1", 3200, "127.0.0.1", 3202) self.assertIsNot(session, another_session) another_session = session_manager.get_session("test", "127.0.0.1", 3200, "127.0.0.2", 3201) self.assertIsNot(session, another_session) another_session = session_manager.get_session("test", "127.0.0.2", 3200, "127.0.0.1", 3201) self.assertIsNot(session, another_session) another_session = session_manager.get_session("test", "127.0.0.1", 3201, "127.0.0.1", 3201) self.assertIsNot(session, another_session) another_session = session_manager.get_session("service", "127.0.0.1", 3201, "127.0.0.1", 3201) self.assertIsNot(session, another_session)