
The assert_() method is deprecated and can be safely replaced by assertTrue(). This patch makes sure that running the tests does not fill the screen with warnings. Change-Id: I8966b7f7a44f1573a4d2c398717bfc68ae40b197
52 lines
1.7 KiB
Python
52 lines
1.7 KiB
Python
from migrate.tests import fixture
|
|
from migrate.versioning.pathed import *
|
|
|
|
class TestPathed(fixture.Base):
|
|
def test_parent_path(self):
|
|
"""Default parent_path should behave correctly"""
|
|
filepath='/fgsfds/moot.py'
|
|
dirpath='/fgsfds/moot'
|
|
sdirpath='/fgsfds/moot/'
|
|
|
|
result='/fgsfds'
|
|
self.assertTrue(result==Pathed._parent_path(filepath))
|
|
self.assertTrue(result==Pathed._parent_path(dirpath))
|
|
self.assertTrue(result==Pathed._parent_path(sdirpath))
|
|
|
|
def test_new(self):
|
|
"""Pathed(path) shouldn't create duplicate objects of the same path"""
|
|
path='/fgsfds'
|
|
class Test(Pathed):
|
|
attr=None
|
|
o1=Test(path)
|
|
o2=Test(path)
|
|
self.assertTrue(isinstance(o1,Test))
|
|
self.assertTrue(o1.path==path)
|
|
self.assertTrue(o1 is o2)
|
|
o1.attr='herring'
|
|
self.assertTrue(o2.attr=='herring')
|
|
o2.attr='shrubbery'
|
|
self.assertTrue(o1.attr=='shrubbery')
|
|
|
|
def test_parent(self):
|
|
"""Parents should be fetched correctly"""
|
|
class Parent(Pathed):
|
|
parent=None
|
|
children=0
|
|
def _init_child(self,child,path):
|
|
"""Keep a tally of children.
|
|
(A real class might do something more interesting here)
|
|
"""
|
|
self.__class__.children+=1
|
|
|
|
class Child(Pathed):
|
|
parent=Parent
|
|
|
|
path='/fgsfds/moot.py'
|
|
parent_path='/fgsfds'
|
|
object=Child(path)
|
|
self.assertTrue(isinstance(object,Child))
|
|
self.assertTrue(isinstance(object.parent,Parent))
|
|
self.assertTrue(object.path==path)
|
|
self.assertTrue(object.parent.path==parent_path)
|