def create_session_stats(composite_key_function, seed='RANDOM_SEED_OBJECT'): time_array = ['20010303102210', '20010303102212', '20010303102215', '20010303102250'] connection = CollectionContext.get_collection(logging, COLLECTION_SINGLE_SESSION) random.seed(seed) object_ids = [] for i in range(TOTAL_ENTRIES): key = composite_key_function(i, TOTAL_ENTRIES) session = SingleSessionStatistics() session.composite_key(key[0], key[1]) session.set_session_id('session_id_' + str(i)) session.set_ip('192.168.0.2') if i % 3 == 0: session.set_screen_res(240, 360) elif i % 5 == 0: session.set_screen_res(360, 480) else: session.set_screen_res(760, 980) if i % 2 == 0: session.set_os('Linux') session.set_browser('FF ' + str(i % 4)) session.set_language('en_ca') session.set_country('ca') else: session.set_os('Windows') session.set_browser('IE ' + str(i % 9)) session.set_language('ua_uk') session.set_country('eu') session.set_total_duration(random.randint(0, 200)) session.set_number_of_pageviews(random.randint(1, 5)) for index in range(random.randint(1, 4)): session.set_number_of_entries(index + 1) session.set_entry_timestamp(index, time_array[index]) sess_id = connection.insert(session.get_document(), safe=True) object_ids.append(sess_id) return object_ids
class TestSingleSessionStatistics(unittest.TestCase): def setUp(self): self.obj = SingleSessionStatistics() def tearDown(self): del self.obj def test_key(self): domain_name = "test_name" correct_timestamp = "20110101_161633" self.obj.composite_key(domain_name, correct_timestamp) temp = self.obj.get_key() assert temp[0] == domain_name assert temp[1] == correct_timestamp def test_session_id(self): value = "value_1234567890" self.obj.set_session_id(value) temp = self.obj.get_session_id() assert temp == value def test_os(self): value = "Windows MS PS 7.0.0.0.1.1.2" self.obj.set_ip(value) temp = self.obj.get_ip() assert temp == value def test_browser(self): value = "FF 3.4.5.6.7.8.9" self.obj.set_ip(value) temp = self.obj.get_ip() assert temp == value def test_ip(self): value = "100.100.200.200" self.obj.set_ip(value) temp = self.obj.get_ip() assert temp == value def test_screen_res(self): value_x = 1080 value_y = 980 self.obj.set_screen_res(value_x, value_y) temp = self.obj.get_screen_res() assert temp[0] == value_x assert temp[1] == value_y def test_language(self): value = "ca-uk" self.obj.set_language(value) temp = self.obj.get_language() assert temp == value def test_country(self): value = "ca" self.obj.set_country(value) temp = self.obj.get_country() assert temp == value def test_total_duration(self): value = 123 self.obj.set_total_duration(value) temp = self.obj.get_total_duration() assert temp == value def test_number_of_entries(self): value = 12 self.obj.set_number_of_entries(value) temp = self.obj.get_number_of_entries() assert temp == value