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_source(self):
     tree = copy.deepcopy(self.machine_snapshot3)
     msc, ms = MachineSnapshotCommit.objects.commit_machine_snapshot_tree(
         tree)
     tree = copy.deepcopy(self.machine_snapshot3)
     tree["serial_number"] = tree["serial_number"][::-1]
     msc2, ms2 = MachineSnapshotCommit.objects.commit_machine_snapshot_tree(
         tree)
     self.assertEqual(msc2.source, msc.source)
     self.assertEqual(ms2.source, ms.source)
     self.assertEqual([],
                      list(Source.objects.current_machine_group_sources()))
     self.assertEqual([ms.source],
                      list(Source.objects.current_business_unit_sources()))
     self.assertEqual(
         [ms.source],
         list(Source.objects.current_machine_snapshot_sources()))
     self.assertEqual([ms.source],
                      list(Source.objects.current_macos_apps_sources()))
     for sn in (self.serial_number, ms2.serial_number):
         mm = MetaMachine(sn)
         mm.archive()
     self.assertEqual(
         [], list(Source.objects.current_machine_snapshot_sources()))
     self.assertEqual([], list(Source.objects.current_macos_apps_sources()))
示例#3
0
 def test_machine_tag(self):
     tree = copy.deepcopy(self.machine_snapshot)
     msc, ms = MachineSnapshotCommit.objects.commit_machine_snapshot_tree(tree)
     tag = Tag.objects.create(name="tag name")
     self.assertEqual(str(tag), "tag name")
     MachineTag.objects.create(tag=tag, serial_number=self.serial_number)
     self.assertEqual(list(Tag.objects.used_in_inventory()), [(tag, 1)])
     mm = MetaMachine(self.serial_number)
     mm.archive()
     self.assertEqual(list(Tag.objects.used_in_inventory()), [])
 def test_machine_tag(self):
     tree = copy.deepcopy(self.machine_snapshot)
     msc, ms = MachineSnapshotCommit.objects.commit_machine_snapshot_tree(
         tree)
     tag = Tag.objects.create(name="tag name")
     self.assertEqual(str(tag), "tag name")
     MachineTag.objects.create(tag=tag, serial_number=self.serial_number)
     self.assertEqual(list(Tag.objects.used_in_inventory()), [(tag, 1)])
     mm = MetaMachine(self.serial_number)
     mm.archive()
     self.assertEqual(list(Tag.objects.used_in_inventory()), [])
示例#5
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)
示例#6
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)
     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)
示例#7
0
 def test_source(self):
     tree = copy.deepcopy(self.machine_snapshot3)
     msc, ms = MachineSnapshotCommit.objects.commit_machine_snapshot_tree(tree)
     tree = copy.deepcopy(self.machine_snapshot3)
     tree["serial_number"] = tree["serial_number"][::-1]
     msc2, ms2 = MachineSnapshotCommit.objects.commit_machine_snapshot_tree(tree)
     self.assertEqual(msc2.source, msc.source)
     self.assertEqual(ms2.source, ms.source)
     self.assertEqual([], list(Source.objects.current_machine_group_sources()))
     self.assertEqual([], list(Source.objects.current_business_unit_sources()))
     self.assertEqual([ms.source], list(Source.objects.current_machine_snapshot_sources()))
     self.assertEqual([ms.source], list(Source.objects.current_macos_apps_sources()))
     for sn in (self.serial_number, ms2.serial_number):
         mm = MetaMachine(sn)
         mm.archive()
     self.assertEqual([], list(Source.objects.current_machine_snapshot_sources()))
     self.assertEqual([], list(Source.objects.current_macos_apps_sources()))
示例#8
0
 def test_machine_snapshot_current(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)
     self.assertEqual(MachineSnapshot.objects.count(), 3)
     self.assertEqual(MachineSnapshot.objects.current().count(), 1)
     self.assertEqual(MachineSnapshot.objects.current().get(pk=ms3.id), ms3)
     mm = MetaMachine(self.serial_number)
     mm.archive()
     self.assertEqual(CurrentMachineSnapshot.objects.count(), 0)
     tree = copy.deepcopy(self.machine_snapshot3)
     msc4, ms4 = MachineSnapshotCommit.objects.commit_machine_snapshot_tree(tree)
     self.assertEqual(ms3, ms4)
     self.assertEqual(CurrentMachineSnapshot.objects.count(), 1)
     cms = CurrentMachineSnapshot.objects.get(serial_number=self.serial_number)
     self.assertEqual(cms.machine_snapshot, ms3)
示例#9
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)
     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_has_recent_source_snapshot(self):
     tree = copy.deepcopy(self.machine_snapshot)
     module = self.source["module"]
     age = 7200
     last_seen = datetime.utcnow() - timedelta(seconds=age)
     tree["last_seen"] = last_seen
     msc, ms = MachineSnapshotCommit.objects.commit_machine_snapshot_tree(
         tree)
     mm = MetaMachine(self.serial_number + "e12908e1209")
     self.assertFalse(mm.has_recent_source_snapshot(module,
                                                    max_age=2 * age))
     mm = MetaMachine(self.serial_number)
     self.assertFalse(
         mm.has_recent_source_snapshot(module + "lkjdelkwd",
                                       max_age=2 * age))
     self.assertFalse(mm.has_recent_source_snapshot(module))
     self.assertTrue(mm.has_recent_source_snapshot(module, max_age=2 * age))
     mm.archive()
     self.assertFalse(mm.has_recent_source_snapshot(module))
     self.assertFalse(mm.has_recent_source_snapshot(module,
                                                    max_age=2 * age))
 def test_machine_snapshot_current(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)
     self.assertEqual(MachineSnapshot.objects.count(), 3)
     self.assertEqual(MachineSnapshot.objects.current().count(), 1)
     self.assertEqual(MachineSnapshot.objects.current().get(pk=ms3.id), ms3)
     mm = MetaMachine(self.serial_number)
     mm.archive()
     self.assertEqual(CurrentMachineSnapshot.objects.count(), 0)
     tree = copy.deepcopy(self.machine_snapshot3)
     msc4, ms4 = MachineSnapshotCommit.objects.commit_machine_snapshot_tree(
         tree)
     self.assertEqual(ms3, ms4)
     self.assertEqual(CurrentMachineSnapshot.objects.count(), 1)
     cms = CurrentMachineSnapshot.objects.get(
         serial_number=self.serial_number)
     self.assertEqual(cms.machine_snapshot, ms3)