def test_meta_machine(self): tree = copy.deepcopy(self.machine_snapshot) msc, ms = MachineSnapshotCommit.objects.commit_machine_snapshot_tree( tree) tree = copy.deepcopy(self.machine_snapshot2) msc2, ms2 = MachineSnapshotCommit.objects.commit_machine_snapshot_tree( tree) tree = copy.deepcopy(self.machine_snapshot3) msc3, ms3 = MachineSnapshotCommit.objects.commit_machine_snapshot_tree( tree) mm = MetaMachine(self.serial_number) self.assertEqual(mm.serial_number, self.serial_number) self.assertEqual(mm.snapshots, [ms3]) self.assertEqual(mm.platform, MACOS) tag1, _ = Tag.objects.get_or_create(name="tag111") tag2, _ = Tag.objects.get_or_create(name="tag222") MachineTag.objects.create(tag=tag1, serial_number=self.serial_number) self.assertEqual( (MACOS, None, {self.meta_business_unit.id}, {tag1.id}), mm.get_probe_filtering_values()) MetaBusinessUnitTag.objects.create( tag=tag2, meta_business_unit=self.meta_business_unit) self.assertEqual( (MACOS, None, {self.meta_business_unit.id}, {tag1.id, tag2.id}), mm.get_probe_filtering_values()) mm.archive() mm = MetaMachine(self.serial_number) self.assertEqual(mm.snapshots, []) self.assertEqual(MachineSnapshot.objects.count(), 3) self.assertEqual(MachineSnapshotCommit.objects.count(), 3) self.assertEqual(CurrentMachineSnapshot.objects.count(), 0)
def test_meta_machine(self): tree = copy.deepcopy(self.machine_snapshot) msc, ms, _ = MachineSnapshotCommit.objects.commit_machine_snapshot_tree( tree) tree = copy.deepcopy(self.machine_snapshot2) msc2, ms2, _ = MachineSnapshotCommit.objects.commit_machine_snapshot_tree( tree) tree = copy.deepcopy(self.machine_snapshot3) msc3, ms3, _ = MachineSnapshotCommit.objects.commit_machine_snapshot_tree( tree) mm = MetaMachine(self.serial_number) self.assertEqual(mm.serial_number, self.serial_number) self.assertEqual(mm.snapshots, [ms3]) self.assertEqual(mm.platform, MACOS) tag1, _ = Tag.objects.get_or_create(name="tag111") tag2, _ = Tag.objects.get_or_create(name="tag222") MachineTag.objects.create(tag=tag1, serial_number=self.serial_number) self.assertEqual( (MACOS, None, {self.meta_business_unit.id}, {tag1.id}), mm.get_probe_filtering_values()) MetaBusinessUnitTag.objects.create( tag=tag2, meta_business_unit=self.meta_business_unit) # cached self.assertEqual( (MACOS, None, {self.meta_business_unit.id}, {tag1.id}), mm.get_probe_filtering_values()) # fresh mm = MetaMachine(self.serial_number) self.assertEqual( (MACOS, None, {self.meta_business_unit.id}, {tag1.id, tag2.id}), mm.get_probe_filtering_values()) # cached with cache framework mm = MetaMachine(self.serial_number) self.assertEqual( (MACOS, None, {self.meta_business_unit.id}, {tag1.id, tag2.id}), mm.cached_probe_filtering_values) self.assertEqual( (MACOS, None, {self.meta_business_unit.id}, {tag1.id, tag2.id}), cache.get("mm-probe-fvs_{}".format( mm.get_urlsafe_serial_number()))) mm.archive() mm = MetaMachine(self.serial_number) self.assertEqual(mm.snapshots, []) self.assertEqual(MachineSnapshot.objects.count(), 3) self.assertEqual(MachineSnapshotCommit.objects.count(), 3) self.assertEqual(CurrentMachineSnapshot.objects.count(), 0)