def test_import_interval_2_with_real_dupe01(self): # interval set at 2... for each checkin two total checkins will be created. # 2 real checkins should be created.. and 2 dupes.. # A second real checkin occurs but one hour of each checkin is a dupe. # Total should be six fact1 = {"memory_dot_memtotal": "604836", "lscpu_dot_cpu_socket(s)": "1", "lscpu_dot_cpu(s)": "1"} time = datetime.strptime("10102012:0530", constants.mn_fmt) time2 = datetime.strptime("10102012:0639", constants.mn_fmt) uuid = products_dict[RHEL][1] prod = products_dict[RHEL][0] TestData.create_product_usage(self.ss, fact1, time, consumer=uuid, instance='mac01', products=prod) TestData.create_product_usage(self.ss, fact1, time2, consumer=uuid, instance='mac01', products=prod) TestData.create_product_usage(self.ss, fact1, time, consumer=uuid, instance='mac02', products=prod) TestData.create_product_usage(self.ss, fact1, time2, consumer=uuid, instance='mac02', products=prod) # run import results = import_data(checkin_interval=2, force_import=True) # verify 1 items in db lookup = ReportData.objects.all() self.assertEqual(len(lookup), 6)
def import_bulk_load_base(self, items_to_load): # turn off bulk load option time = datetime.strptime("10102012:0530", constants.mn_fmt) fact1 = {"memory_dot_memtotal": "604836", "lscpu_dot_cpu_socket(s)": "1", "lscpu_dot_cpu(s)": "1"} timedelt = timedelta(hours=1) uuid = products_dict[RHEL][1] instance = 'mac01' products = products_dict[RHEL][0] bulk_load = {} for i in range(items_to_load): time += timedelt this_hash = hash( str(uuid) + str(instance) + str(time) + str(products)) td = TestData.create_product_usage(self.ss, fact1, time, consumer=uuid, instance=instance, products=products, save=False) bulk_load[this_hash] = td # print(len(bulk_load)) my_list = [] for key, value in bulk_load.items(): my_list.append(value) timer_start = datetime.now() results = import_data(product_usage=my_list, force_import=True) lookup = ReportData.objects.all() self.assertEqual(len(lookup), items_to_load) timer_stop = datetime.now()
def test_import_dup(self): fact1 = {"memory_dot_memtotal": "604836", "lscpu_dot_cpu_socket(s)": "1", "lscpu_dot_cpu(s)": "1"} time = datetime.strptime("10102012:0530", constants.mn_fmt) time2 = datetime.strptime("10102012:0531", constants.mn_fmt) uuid = products_dict[RHEL][1] prod = products_dict[RHEL][0] pu = TestData.create_product_usage(self.ss, fact1, time, consumer=uuid, instance='mac01', products=prod) pu = TestData.create_product_usage(self.ss, fact1, time2, consumer=uuid, instance='mac01', products=prod) # run import results = import_data(force_import=True) # verify 1 items in db lookup = ReportData.objects.all() self.assertEqual(len(lookup), 1)
def create_set_of_usage(prod, uuid, list_of_times, splice_server, iterate_num): fact1 = {"memory_dot_memtotal": "604836", "lscpu_dot_cpu_socket(s)": "1", "lscpu_dot_cpu(s)": "1"} for i in range(iterate_num): lst = [random.choice( string.ascii_letters + string.digits) for n in xrange(10)] rand = "".join(lst) # print rand mac01 = '00:24:7E:69:5C:57-03:54:' + rand mac02 = '00:DF:FD:45:6V:54-05:34:' + rand mac03 = '34:EF:GR:34:4C:4T-34:45:' + rand mac04 = 'RT:ER:G4:24:C6:47-38:49:' + rand mac05 = 'Z4:EF:ZR:34:XC:4Z-34:43:' + rand # MCU =2 MDU =3 TestData.create_product_usage(splice_server, fact1, list_of_times[0], consumer=uuid, instance=mac01, products=prod) TestData.create_product_usage(splice_server, fact1, list_of_times[0], consumer=uuid, instance=mac02, products=prod) TestData.create_product_usage(splice_server, fact1, list_of_times[1], consumer=uuid, instance=mac03, products=prod) # MCU=3 MDU =5 TestData.create_product_usage(splice_server, fact1, list_of_times[8], consumer=uuid, instance=mac01, products=prod) TestData.create_product_usage(splice_server, fact1, list_of_times[9], consumer=uuid, instance=mac02, products=prod) TestData.create_product_usage(splice_server, fact1, list_of_times[9], consumer=uuid, instance=mac03, products=prod) TestData.create_product_usage(splice_server, fact1, list_of_times[9], consumer=uuid, instance=mac04, products=prod) TestData.create_product_usage(splice_server, fact1, list_of_times[11], consumer=uuid, instance=mac01, products=prod)