Beispiel #1
0
class TestFile(object):
    def setup(self):
        # File() will invoke cwd(), so any CWD is required.
        set_cwd(tempfile.mkdtemp())

        self.path = tempfile.mkstemp()[1]
        self.file = File(self.path)

    def test_get_name(self):
        assert self.path.split(os.sep)[-1] == self.file.get_name()

    def test_get_data(self):
        assert "" == self.file.get_data()

    def test_get_size(self):
        assert 0 == self.file.get_size()

    def test_get_crc32(self):
        assert "00000000" == self.file.get_crc32()

    def test_get_md5(self):
        assert "d41d8cd98f00b204e9800998ecf8427e" == self.file.get_md5()

    def test_get_sha1(self):
        assert "da39a3ee5e6b4b0d3255bfef95601890afd80709" == self.file.get_sha1(
        )

    def test_get_sha256(self):
        assert "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" == self.file.get_sha256(
        )

    def test_get_sha512(self):
        assert "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e" == self.file.get_sha512(
        )

    def test_get_ssdeep(self):
        try:
            import pydeep
            assert self.file.get_ssdeep() is not None
            pydeep  # Fake usage.
        except ImportError:
            assert self.file.get_ssdeep() is None

    def test_get_type(self):
        assert "empty" in self.file.get_type()

    def test_get_content_type(self):
        assert self.file.get_content_type() in [
            "inode/x-empty", "application/x-empty"
        ]

    def test_get_all_type(self):
        assert isinstance(self.file.get_all(), dict)

    def test_get_all_keys(self):
        for key in [
                "name", "size", "crc32", "md5", "sha1", "sha256", "sha512",
                "ssdeep", "type"
        ]:
            assert key in self.file.get_all()
Beispiel #2
0
def create_target_file(target=__file__):
    fileobj = File(target or __file__)
    return DbTarget(target=target,
                    crc32=fileobj.get_crc32(),
                    md5=fileobj.get_md5(),
                    sha1=fileobj.get_sha1(),
                    sha256=fileobj.get_sha256(),
                    sha512=fileobj.get_sha512(),
                    ssdeep=fileobj.get_ssdeep(),
                    category="file",
                    file_size=fileobj.get_size(),
                    file_type=fileobj.get_type())
Beispiel #3
0
class TestFile(object):
    def setup(self):
        # File() will invoke cwd(), so any CWD is required.
        set_cwd(tempfile.mkdtemp())

        self.path = tempfile.mkstemp()[1]
        self.file = File(self.path)

    def test_get_name(self):
        assert self.path.split(os.sep)[-1] == self.file.get_name()

    def test_get_data(self):
        assert "" == self.file.get_data()

    def test_get_size(self):
        assert 0 == self.file.get_size()

    def test_get_crc32(self):
        assert "00000000" == self.file.get_crc32()

    def test_get_md5(self):
        assert "d41d8cd98f00b204e9800998ecf8427e" == self.file.get_md5()

    def test_get_sha1(self):
        assert "da39a3ee5e6b4b0d3255bfef95601890afd80709" == self.file.get_sha1()

    def test_get_sha256(self):
        assert "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" == self.file.get_sha256()

    def test_get_sha512(self):
        assert "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e" == self.file.get_sha512()

    def test_get_ssdeep(self):
        try:
            import pydeep
            assert self.file.get_ssdeep() is not None
            pydeep  # Fake usage.
        except ImportError:
            assert self.file.get_ssdeep() is None

    def test_get_type(self):
        assert "empty" in self.file.get_type()

    def test_get_content_type(self):
        assert self.file.get_content_type() in ["inode/x-empty", "application/x-empty"]

    def test_get_all_type(self):
        assert isinstance(self.file.get_all(), dict)

    def test_get_all_keys(self):
        for key in ["name", "size", "crc32", "md5", "sha1", "sha256", "sha512", "ssdeep", "type"]:
            assert key in self.file.get_all()
Beispiel #4
0
    def create_file(self, file_path):
        file_helper = File(file_path)

        if not file_helper.valid():
            log.error(
                "Cannot create target for file '%s', file does not exist or is"
                " 0 bytes", file_path)
            return None

        return self._create(file_path,
                            file_helper,
                            category="file",
                            file_type=file_helper.get_type(),
                            file_size=file_helper.get_size())