1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
|
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Tests for the artifacts attribute containers."""
from __future__ import unicode_literals
import unittest
from plaso.containers import artifacts
from plaso.lib import definitions
from tests import test_lib as shared_test_lib
class EnvironmentVariableArtifactTest(shared_test_lib.BaseTestCase):
"""Tests for the environment variable artifact."""
def testGetAttributeNames(self):
"""Tests the GetAttributeNames function."""
attribute_container = artifacts.EnvironmentVariableArtifact()
expected_attribute_names = ['case_sensitive', 'name', 'value']
attribute_names = sorted(attribute_container.GetAttributeNames())
self.assertEqual(attribute_names, expected_attribute_names)
class HostnameArtifactTest(shared_test_lib.BaseTestCase):
"""Tests for the hostname artifact."""
def testGetAttributeNames(self):
"""Tests the GetAttributeNames function."""
attribute_container = artifacts.HostnameArtifact()
expected_attribute_names = ['name', 'schema']
attribute_names = sorted(attribute_container.GetAttributeNames())
self.assertEqual(attribute_names, expected_attribute_names)
class OperatingSystemArtifactTest(shared_test_lib.BaseTestCase):
"""Tests for the operating system artifact."""
# pylint: disable=protected-access
def testVersionTuple(self):
"""Tests the version_tuplele property."""
attribute_container = artifacts.OperatingSystemArtifact(version="5.1")
self.assertEqual(attribute_container.version_tuple, (5, 1))
attribute_container = artifacts.OperatingSystemArtifact()
self.assertIsNone(attribute_container.version_tuple)
attribute_container = artifacts.OperatingSystemArtifact(version="5.a")
self.assertIsNone(attribute_container.version_tuple)
def testGetNameFromProduct(self):
"""Tests the _GetNameFromProduct function."""
attribute_container = artifacts.OperatingSystemArtifact(
product='Windows Server 2012 R2 Standard')
name = attribute_container._GetNameFromProduct()
self.assertEqual(name, 'Windows 2012 R2')
attribute_container = artifacts.OperatingSystemArtifact(
product='Microsoft Windows Server 2003')
name = attribute_container._GetNameFromProduct()
self.assertEqual(name, 'Windows 2003')
def testIsEquivalent(self):
"""Tests the IsEquivalent function."""
win2k12_container = artifacts.OperatingSystemArtifact(
product='Windows 2012')
winxp_container = artifacts.OperatingSystemArtifact(product='Windows XP')
self.assertFalse(win2k12_container.IsEquivalent(winxp_container))
self.assertFalse(winxp_container.IsEquivalent(win2k12_container))
winnt62_container = artifacts.OperatingSystemArtifact(
family=definitions.OPERATING_SYSTEM_FAMILY_WINDOWS_NT, version='6.2')
winnt51_container = artifacts.OperatingSystemArtifact(
family=definitions.OPERATING_SYSTEM_FAMILY_WINDOWS_NT, version='5.1')
self.assertFalse(winnt62_container.IsEquivalent(winnt51_container))
self.assertFalse(winnt51_container.IsEquivalent(winnt62_container))
win9x_container = artifacts.OperatingSystemArtifact(
family=definitions.OPERATING_SYSTEM_FAMILY_WINDOWS_9x)
winnt_container = artifacts.OperatingSystemArtifact(
family=definitions.OPERATING_SYSTEM_FAMILY_WINDOWS_NT)
self.assertFalse(win9x_container.IsEquivalent(winnt_container))
self.assertFalse(winnt_container.IsEquivalent(win9x_container))
winnt51_container = artifacts.OperatingSystemArtifact(
family=definitions.OPERATING_SYSTEM_FAMILY_WINDOWS_NT, version='5.1')
winxp_container = artifacts.OperatingSystemArtifact(product='Windows XP')
self.assertTrue(winnt51_container.IsEquivalent(winxp_container))
self.assertTrue(winxp_container.IsEquivalent(winnt51_container))
def testGetAttributeNames(self):
"""Tests the GetAttributeNames function."""
attribute_container = artifacts.OperatingSystemArtifact()
expected_attribute_names = ['family', 'name', 'product', 'version']
attribute_names = sorted(attribute_container.GetAttributeNames())
self.assertEqual(attribute_names, expected_attribute_names)
class SourceConfigurationArtifactTest(shared_test_lib.BaseTestCase):
"""Tests for the source configuration artifact."""
def testGetAttributeNames(self):
"""Tests the GetAttributeNames function."""
attribute_container = artifacts.SourceConfigurationArtifact()
expected_attribute_names = [
'mount_path', 'path_spec', 'system_configuration']
attribute_names = sorted(attribute_container.GetAttributeNames())
self.assertEqual(attribute_names, expected_attribute_names)
class SystemConfigurationArtifactTest(shared_test_lib.BaseTestCase):
"""Tests for the system configuration artifact."""
def testGetAttributeNames(self):
"""Tests the GetAttributeNames function."""
attribute_container = artifacts.SystemConfigurationArtifact()
expected_attribute_names = [
'available_time_zones', 'code_page', 'hostname', 'keyboard_layout',
'operating_system', 'operating_system_product',
'operating_system_version', 'time_zone', 'user_accounts']
attribute_names = sorted(attribute_container.GetAttributeNames())
self.assertEqual(attribute_names, expected_attribute_names)
class UserAccountArtifactTest(shared_test_lib.BaseTestCase):
"""Tests for the user account artifact."""
def testGetAttributeNames(self):
"""Tests the GetAttributeNames function."""
attribute_container = artifacts.UserAccountArtifact()
expected_attribute_names = [
'full_name', 'group_identifier', 'identifier', 'user_directory',
'username']
attribute_names = sorted(attribute_container.GetAttributeNames())
self.assertEqual(attribute_names, expected_attribute_names)
if __name__ == '__main__':
unittest.main()
|