def get_cpu_mhz( cpus=int_(min=1, max=8), current_time=float_(min=100, max=1000), time_period=float_(min=1, max=100), vm_data=dict_( keys=str_(of='abc123-', min_length=36, max_length=36), values=two(of=int_(min=1, max=100)), min_length=0, max_length=10 ), added_vms=dict_( keys=str_(of='abc123-', min_length=36, max_length=36), values=tuple_(int_(min=1, max=100), list_(of=int_(min=1, max=3000), min_length=0, max_length=10)), min_length=0, max_length=5 ) ): with MockTransaction: def mock_get_cpu_time(vir_connection, uuid): if uuid in original_vm_data: return original_vm_data[uuid][0] + \ original_vm_data[uuid][1] else: return added_vms[uuid][0] original_vm_data = dict(vm_data) previous_time = current_time - time_period connection = libvirt.virConnect() when(collector).get_cpu_time(connection, any_string). \ then_call(mock_get_cpu_time) previous_cpu_time = {} cpu_mhz = {} for uuid, data in vm_data.items(): previous_cpu_time[uuid] = data[0] if vm_data: to_remove = random.randrange(len(vm_data)) for _ in xrange(to_remove): tmp = random.choice(vm_data.keys()) del vm_data[tmp] vms = vm_data.keys() current_cpu_time = {} for uuid in vms: current_cpu_time[uuid] = vm_data[uuid][0] + vm_data[uuid][1] cpu_mhz[uuid] = collector.calculate_cpu_mhz( cpus, previous_time, current_time, vm_data[uuid][0], vm_data[uuid][0] + vm_data[uuid][1]) added_vm_data = {} if added_vms: for uuid, data in added_vms.items(): current_cpu_time[uuid] = data[0] added_vm_data[uuid] = data[1] if data[1]: cpu_mhz[uuid] = data[1][-1] vms.extend(added_vms.keys()) result = collector.get_cpu_mhz( connection, cpus, previous_cpu_time, previous_time, current_time, vms, {}, added_vm_data) assert result[0] == current_cpu_time assert result[1] == cpu_mhz
def get_cpu_mhz(cpus=int_(min=1, max=8), current_time=float_(min=100, max=1000), time_period=float_(min=1, max=100), vm_data=dict_(keys=str_(of='abc123-', min_length=36, max_length=36), values=two(of=int_(min=1, max=100)), min_length=0, max_length=10), added_vms=dict_(keys=str_(of='abc123-', min_length=36, max_length=36), values=tuple_( int_(min=1, max=100), list_(of=int_(min=1, max=3000), min_length=0, max_length=10)), min_length=0, max_length=5)): with MockTransaction: def mock_get_cpu_time(vir_connection, uuid): if uuid in original_vm_data: return original_vm_data[uuid][0] + \ original_vm_data[uuid][1] else: return added_vms[uuid][0] original_vm_data = dict(vm_data) previous_time = current_time - time_period connection = libvirt.virConnect() when(collector).get_cpu_time(connection, any_string). \ then_call(mock_get_cpu_time) previous_cpu_time = {} cpu_mhz = {} for uuid, data in vm_data.items(): previous_cpu_time[uuid] = data[0] if vm_data: to_remove = random.randrange(len(vm_data)) for _ in xrange(to_remove): tmp = random.choice(vm_data.keys()) del vm_data[tmp] vms = vm_data.keys() current_cpu_time = {} for uuid in vms: current_cpu_time[uuid] = vm_data[uuid][0] + vm_data[uuid][1] cpu_mhz[uuid] = collector.calculate_cpu_mhz( cpus, previous_time, current_time, vm_data[uuid][0], vm_data[uuid][0] + vm_data[uuid][1]) added_vm_data = {} if added_vms: for uuid, data in added_vms.items(): current_cpu_time[uuid] = data[0] added_vm_data[uuid] = data[1] if data[1]: cpu_mhz[uuid] = data[1][-1] vms.extend(added_vms.keys()) result = collector.get_cpu_mhz(connection, cpus, previous_cpu_time, previous_time, current_time, vms, {}, added_vm_data) assert result[0] == current_cpu_time assert result[1] == cpu_mhz