111 lines
3.9 KiB
Python
111 lines
3.9 KiB
Python
import unittest
|
|
import pisi
|
|
import pisi.actionsapi
|
|
import os
|
|
import shutil
|
|
|
|
class ShellTestCase(unittest.TestCase):
|
|
def setUp(self):
|
|
from pisi.actionsapi.variables import initVariables
|
|
unittest.TestCase.setUp(self)
|
|
initVariables()
|
|
return
|
|
|
|
def testCanAccessFile(self):
|
|
from pisi.actionsapi.shelltools import can_access_file
|
|
assert can_access_file('/usr/lib/engines/libaep.so')
|
|
assert not can_access_file('actionsapi/set.py')
|
|
|
|
def testCanAccessDirectory(self):
|
|
from pisi.actionsapi.shelltools import can_access_directory
|
|
assert can_access_directory('/boot')
|
|
assert can_access_directory('/usr/bin')
|
|
assert not can_access_directory('/tests/mirrors.conf')
|
|
|
|
def testMakedirs(self):
|
|
from pisi.actionsapi.shelltools import makedirs
|
|
|
|
makedirs('tests/testdirectory/aDirectory')
|
|
self.assertEqual(os.path.exists('tests/testdirectory/aDirectory'),True)
|
|
shutil.rmtree('tests/testdirectory')
|
|
|
|
def testEcho(self):
|
|
from pisi.actionsapi.shelltools import echo
|
|
|
|
echo('tests/echo-file','eco subject')
|
|
self.assertEqual(os.path.exists('tests/echo-file'),True)
|
|
self.assertEqual(open('tests/echo-file').readlines()[0].strip(), 'eco subject')
|
|
echo('tests/echo-file', 'subject eco')
|
|
self.assertEqual(open('tests/echo-file').readlines()[1].strip(), 'subject eco')
|
|
os.remove('tests/echo-file')
|
|
|
|
def testSym(self):
|
|
from pisi.actionsapi.shelltools import sym
|
|
|
|
sym('scenarios/repo','tests/repos')
|
|
self.assertEqual(os.path.islink('tools'),False)
|
|
self.assertEqual(os.path.islink('tests/repos'),True)
|
|
|
|
def testUnlinkDir(self):
|
|
from pisi.actionsapi.shelltools import makedirs
|
|
from pisi.actionsapi.shelltools import sym
|
|
from pisi.actionsapi.shelltools import unlinkDir
|
|
|
|
makedirs('tests/testdirectory/sample')
|
|
sym('tests/testdirectory/sample','tests/history')
|
|
self.assertEqual(os.path.islink('tests/history'),True)
|
|
unlinkDir('tests/testdirectory/sample')
|
|
self.assertEqual(os.path.islink('tests/testdirectory/sample'),False)
|
|
|
|
def testCopy(self):
|
|
from pisi.actionsapi.shelltools import copy
|
|
|
|
copy('/pisi/tests', '/pisi/tests-copy')
|
|
self.assertEqual(os.path.islink('pisi/tests-copy'),False)
|
|
|
|
copy('pisi/tests/scripts/sync-licenses', 'pisi/tests/scripts/sync-licenses-copy')
|
|
self.assertEqual(os.path.islink('pisi/tests/scripts/sync-licenses-copy'),False)
|
|
|
|
def testIsLink(self):
|
|
from pisi.actionsapi.shelltools import sym
|
|
from pisi.actionsapi.shelltools import isLink
|
|
|
|
sym('tests/database','tests/history')
|
|
assert isLink('tests/history')
|
|
assert not isLink('tests/runtests.py')
|
|
|
|
def testIsFile(self):
|
|
from pisi.actionsapi.shelltools import isFile
|
|
|
|
assert isFile('/usr/lib/engines/libaep.so')
|
|
assert not isFile('/tests/database')
|
|
|
|
def testIsDirectory(self):
|
|
from pisi.actionsapi.shelltools import isDirectory
|
|
|
|
assert not isDirectory('doc/dependency.pdf')
|
|
assert isDirectory('/usr/lib')
|
|
assert isDirectory('/etc/pisi')
|
|
assert not isDirectory('/tests/shelltest.py')
|
|
|
|
def testRealPath(self):
|
|
from pisi.actionsapi.shelltools import realPath
|
|
|
|
assert realPath('doc/dependency.pdf')
|
|
assert realPath('tests/database/sourcedbtest.py')
|
|
|
|
def testBaseName(self):
|
|
from pisi.actionsapi.shelltools import baseName
|
|
|
|
assert 'dependency.pdf' == baseName('doc/dependency.pdf')
|
|
assert 'Arphic' == baseName('licenses/Arphic')
|
|
assert not 'Atmel' == baseName('tools/atmel.py')
|
|
|
|
def testSystem(self):
|
|
from pisi.actionsapi.shelltools import system
|
|
|
|
self.assertEqual(os.path.exists('tests/systemtest'),False)
|
|
system('touch tests/systemtest')
|
|
self.assertEqual(os.path.exists('tests/systemtest'),True)
|
|
os.remove('tests/systemtest')
|