You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

54 lines
1.7 KiB

import sys
import os
import logging
import unittest
from unittest import TestCase
#from mock import MagicMock
from couchpotato.core.softchroot import SoftChroot
CHROOT_DIR = '/tmp/'
class SoftChrootEnabledTest(TestCase):
def setUp(self):
self.b = SoftChroot(CHROOT_DIR)
def test_enabled(self):
self.assertTrue( self.b.enabled)
def test_is_subdir(self):
self.assertFalse( self.b.is_subdir('') )
self.assertFalse( self.b.is_subdir(None) )
self.assertTrue( self.b.is_subdir(CHROOT_DIR) )
noslash = CHROOT_DIR[:-1]
self.assertTrue( self.b.is_subdir(noslash) )
self.assertTrue( self.b.is_subdir(CHROOT_DIR + 'come') )
def test_is_root_abs(self):
self.assertFalse( self.b.is_root_abs('') )
self.assertFalse( self.b.is_root_abs(None) )
self.assertTrue( self.b.is_root_abs(CHROOT_DIR) )
noslash = CHROOT_DIR[:-1]
self.assertTrue( self.b.is_root_abs(noslash) )
self.assertFalse( self.b.is_root_abs(CHROOT_DIR + 'come') )
def test_add(self):
with self.assertRaises(ValueError):
self.b.add('no_leading_slash')
self.assertEqual( self.b.add(None), CHROOT_DIR )
self.assertEqual( self.b.add(''), CHROOT_DIR )
self.assertEqual( self.b.add('/asdf'), CHROOT_DIR + 'asdf' )
def test_cut(self):
with self.assertRaises(ValueError): self.b.cut(None)
with self.assertRaises(ValueError): self.b.cut('')
self.assertEqual( self.b.cut(CHROOT_DIR + 'asdf'), '/asdf' )
self.assertEqual( self.b.cut(CHROOT_DIR), '/' )
self.assertEqual( self.b.cut(CHROOT_DIR.rstrip(os.path.sep)), '/' )