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)
Esempio n. 2
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)