mirror of
https://github.com/wting/autojump
synced 2024-10-27 20:34:07 +00:00
add file system integration tests
This commit is contained in:
parent
795bdcc9a7
commit
80d7ab660f
@ -1,6 +1,8 @@
|
|||||||
#!/usr/bin/env python2
|
#!/usr/bin/env python2
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
from random import randrange
|
||||||
from shutil import rmtree
|
from shutil import rmtree
|
||||||
|
from tempfile import gettempdir
|
||||||
from tempfile import mkdtemp
|
from tempfile import mkdtemp
|
||||||
import os
|
import os
|
||||||
|
|
||||||
@ -9,17 +11,21 @@ from testify import TestCase
|
|||||||
from testify import assert_equal
|
from testify import assert_equal
|
||||||
from testify import assert_false
|
from testify import assert_false
|
||||||
from testify import assert_true
|
from testify import assert_true
|
||||||
|
from testify import class_setup
|
||||||
|
from testify import class_teardown
|
||||||
from testify import run
|
from testify import run
|
||||||
from testify import setup
|
from testify import setup
|
||||||
from testify import teardown
|
from testify import teardown
|
||||||
|
|
||||||
import autojump_utils
|
import autojump_utils
|
||||||
|
from autojump_utils import create_dir
|
||||||
from autojump_utils import decode
|
from autojump_utils import decode
|
||||||
from autojump_utils import first
|
from autojump_utils import first
|
||||||
from autojump_utils import get_pwd
|
from autojump_utils import get_pwd
|
||||||
from autojump_utils import has_uppercase
|
from autojump_utils import has_uppercase
|
||||||
from autojump_utils import in_bash
|
from autojump_utils import in_bash
|
||||||
from autojump_utils import last
|
from autojump_utils import last
|
||||||
|
from autojump_utils import move_file
|
||||||
from autojump_utils import sanitize
|
from autojump_utils import sanitize
|
||||||
from autojump_utils import second
|
from autojump_utils import second
|
||||||
from autojump_utils import surround_quotes
|
from autojump_utils import surround_quotes
|
||||||
@ -103,5 +109,53 @@ class EnvironmentalVariableIntegrationTests(TestCase):
|
|||||||
|
|
||||||
assert False, "test_bad_get_pwd() failed."
|
assert False, "test_bad_get_pwd() failed."
|
||||||
|
|
||||||
|
|
||||||
|
class FileSystemIntegrationTests(TestCase):
|
||||||
|
@class_setup
|
||||||
|
def init(self):
|
||||||
|
self.tmp_dir = os.path.join(gettempdir(), 'autojump')
|
||||||
|
os.makedirs(self.tmp_dir)
|
||||||
|
|
||||||
|
@class_teardown
|
||||||
|
def cleanup(self):
|
||||||
|
try:
|
||||||
|
rmtree(self.tmp_dir)
|
||||||
|
except OSError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
def get_random_path(self):
|
||||||
|
path = gettempdir()
|
||||||
|
|
||||||
|
while os.path.exists(path):
|
||||||
|
random_string = '%30x' % randrange(16 ** 30)
|
||||||
|
path = os.path.join(self.tmp_dir, random_string)
|
||||||
|
|
||||||
|
return path
|
||||||
|
|
||||||
|
def get_random_file(self):
|
||||||
|
path = self.get_random_path()
|
||||||
|
with open(path, 'w+') as f:
|
||||||
|
f.write('filler\n')
|
||||||
|
|
||||||
|
return path
|
||||||
|
|
||||||
|
def test_create_dir(self):
|
||||||
|
path = self.get_random_path()
|
||||||
|
create_dir(path)
|
||||||
|
assert_true(os.path.exists(path))
|
||||||
|
|
||||||
|
# should not raise OSError if directory already exists
|
||||||
|
create_dir(path)
|
||||||
|
assert_true(os.path.exists(path))
|
||||||
|
|
||||||
|
def test_move_file(self):
|
||||||
|
src = self.get_random_file()
|
||||||
|
dst = self.get_random_path()
|
||||||
|
assert_true(os.path.exists(src))
|
||||||
|
assert_false(os.path.exists(dst))
|
||||||
|
move_file(src, dst)
|
||||||
|
assert_true(os.path.exists(dst))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
run()
|
run()
|
||||||
|
Loading…
Reference in New Issue
Block a user