Ejemplo n.º 1
0
def test_bad_line():
    results = parse(COMPLICATED_FILES_BAD_LINE.splitlines(), "/tmp")
    assert len(results) == 1
    assert results["/tmp"]["total"] == 16, results["/tmp"]["total"]
    assert results["/tmp"]["name"] == "/tmp", results["/tmp"]["name"]
    res = results["/tmp"]["entries"]["dm-10"]
    assert res["type"] == "b"
    assert res["links"] == 1
    assert res["owner"] == "0"
    assert res["group"] == "6"
    assert res["major"] == 253
    assert res["minor"] == 10
    assert res["date"] == "Aug  4 16:56"
    assert res["name"] == "dm-10"
    assert res["dir"] == "/tmp"
Ejemplo n.º 2
0
def test_parse_single_directory():
    results = parse(SINGLE_DIRECTORY.splitlines(), "/etc")
    stanza = results["/etc"]
    assert stanza["name"] == "/etc"
    assert stanza["total"] == 32
    assert len(stanza["entries"]) == 7
    res = stanza["entries"]["cert.pem"]
    assert res["type"] == "l"
    assert res["owner"] == "root"
    assert res["group"] == "root"
    assert res["date"] == "Jun 28  2017"
    assert res["name"] == "cert.pem"
    assert res["link"] == "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem"
    assert res["links"] == 1
    assert res["dir"] == "/etc"
Ejemplo n.º 3
0
def test_parse_selinux():
    results = parse(SELINUX_DIRECTORY.splitlines(), "/boot")
    stanza = results["/boot"]
    assert stanza["name"] == "/boot"
    assert stanza["total"] == 3
    assert len(stanza["entries"]) == 3
    res = stanza["entries"]["config-3.10.0-267"]
    assert res["type"] == "-"
    assert res["owner"] == "root"
    assert res["group"] == "root"
    assert res["se_user"] == "system_u"
    assert res["se_role"] == "object_r"
    assert res["se_type"] == "boot_t"
    assert res["se_mls"] == "s0"
    assert res["name"] == "config-3.10.0-267"
Ejemplo n.º 4
0
    def parse_content(self, content):
        file_types = set(['s', 'd', 'p', 'l', '-', 'c', 'b'])
        perm = set(['-w-', 'rw-', '--x', '-wx', '---', 'rwx', 'r--', 'r-x'])
        entries = []
        _unparsed_lines = []

        for l in content:
            if l and len(l) > 10 and l[0] in file_types and l[1:4] in perm:
                entries.append(l)
            else:
                _unparsed_lines.append(l)
        self.unparsed_lines = _unparsed_lines

        d = ls_parser.parse(entries, '').get('')
        self.data = d.get('entries')
Ejemplo n.º 5
0
def test_files_with_selinux_disabled():
    results = parse(FILES_CREATED_WITH_SELINUX_DISABLED.splitlines(),
                    "/dev/mapper")
    assert len(results) == 1
    assert results["/dev/mapper"]["total"] == 2
    assert results["/dev/mapper"]["name"] == "/dev/mapper", results[0]["name"]
    res = results["/dev/mapper"]["entries"]["lv_cpwtk001_data01"]
    assert res["type"] == "l"
    assert res["links"] == 1
    assert res["owner"] == "0"
    assert res["group"] == "0"
    assert res["size"] == 7
    assert res["date"] == "Apr 27 05:34"
    assert res["name"] == "lv_cpwtk001_data01"
    assert res["link"] == "../dm-7"
    assert res["dir"] == "/dev/mapper"
Ejemplo n.º 6
0
def test_parse_multiple_directories():
    results = parse(MULTIPLE_DIRECTORIES.splitlines(), None)
    assert len(results) == 2, len(results)
    assert results["/etc/sysconfig"]["name"] == "/etc/sysconfig"
    assert results["/etc/sysconfig"]["total"] == 96
    assert results["/etc/rc.d/rc3.d"]["name"] == "/etc/rc.d/rc3.d"
    assert results["/etc/rc.d/rc3.d"]["total"] == 4

    res = results["/etc/sysconfig"]["entries"]["ebtables-config"]
    assert res["type"] == "-"
    assert res["links"] == 1
    assert res["owner"] == "0"
    assert res["group"] == "0"
    assert res["size"] == 1390
    assert res["date"] == "Mar  4  2014"
    assert res["name"] == "ebtables-config"
    assert res["dir"] == "/etc/sysconfig"
Ejemplo n.º 7
0
def test_parse_multiple_directories_with_break():
    results = parse(MULTIPLE_DIRECTORIES_WITH_BREAK.splitlines(), None)
    assert len(results) == 3, len(results)
    assert len(results.values()) == 3
    assert len(results.items()) == 3
    assert len(list(six.iteritems(results))) == 3
    assert results["/etc"]["name"] == "/etc"
    assert results["/etc"]["total"] == 1652
    assert results["/etc/rc.d/rc3.d"]["name"] == "/etc/rc.d/rc3.d"
    assert results["/etc/rc.d/rc3.d"]["total"] == 4

    res = results["/etc"]["entries"]["chrony.conf.20180210135613"]
    assert res["type"] == "-"
    assert res["links"] == 1
    assert res["owner"] == "0"
    assert res["group"] == "0"
    assert res["size"] == 1100
    assert res["date"] == "Dec  5  2017"
    assert res["name"] == "chrony.conf.20180210135613"
    assert res["dir"] == "/etc"
Ejemplo n.º 8
0
def test_rhel8_selinux():
    results = parse(RHEL8_SELINUX_DIRECTORY.splitlines(),
                    "/var/lib/nova/instances")
    assert len(results) == 1
    assert results["/var/lib/nova/instances"][
        "name"] == "/var/lib/nova/instances", results[
            "/var/lib/nova/instances"]["name"]
    res = results["/var/lib/nova/instances"]["entries"]["abcd-efgh-ijkl-mnop"]
    assert results["/var/lib/nova/instances"]["total"] == 0, results[
        "/var/lib/nova/instances"]["total"]
    assert res["type"] == "d"
    assert res["links"] == 2
    assert res["owner"] == "root"
    assert res["group"] == "root"
    assert res["se_user"] == "unconfined_u"
    assert res["se_role"] == "object_r"
    assert res["se_type"] == "var_lib_t"
    assert res["se_mls"] == "s0"
    assert res["date"] == "Apr  8 16:41"
    assert res["name"] == "abcd-efgh-ijkl-mnop"
    assert res["dir"] == "/var/lib/nova/instances"