Skip to content

Commit

Permalink
File: Add more tests
Browse files Browse the repository at this point in the history
  • Loading branch information
philpep committed Mar 22, 2015
1 parent 22e8b77 commit bedc97b
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions testinfra/modules/test/test_file.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,13 @@

from __future__ import unicode_literals

import datetime
import grp
import os
import pwd
import six

from testinfra.modules import Command
from testinfra.modules import File


Expand All @@ -27,3 +32,53 @@ def test_file_content(mock_subprocess):
"returncode": 0,
})
assert File("/foo").content == content


def test_file(tmpdir):
path = tmpdir.join("f")
path.write(b"foo")
path.chmod(0o600)
f = File(path.strpath)
pw = pwd.getpwuid(os.getuid())
assert f.exists
assert f.is_file
assert f.content == b"foo"
assert f.content_string == "foo"
assert f.user == pw.pw_name
assert f.uid == pw.pw_uid
assert f.gid == pw.pw_gid
assert f.group == grp.getgrgid(pw.pw_gid).gr_name
assert f.mode == 600
assert f.contains("fo")
assert not f.is_directory
assert not f.is_symlink
assert not f.is_pipe
assert f.linked_to == path.strpath
assert f.size == 3
assert f.md5sum == "acbd18db4cc2f85cedef654fccc4a4d8"
assert f.sha256sum == (
"2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"
)
assert f.mtime == datetime.datetime.fromtimestamp(
path.mtime()).replace(microsecond=0)


def test_link(tmpdir):
tmpdir.ensure("f")
tmpdir.join("l").mksymlinkto(tmpdir.join("f"))
l = File(tmpdir.join("l").strpath)
assert l.is_symlink
assert l.is_file
assert l.linked_to == tmpdir.join("f").strpath


def test_directory(tmpdir):
f = File(tmpdir.mkdir("sub").strpath)
assert f.is_directory
assert not f.is_file


def test_pipe(tmpdir):
assert Command("mkfifo %s", tmpdir.join("f").strpath).rc == 0
f = File(tmpdir.join("f").strpath)
assert f.is_pipe

0 comments on commit bedc97b

Please sign in to comment.