2013-02-13 22:36:34 +00:00
|
|
|
import tempfile
|
|
|
|
|
|
|
|
from saltunittest import TestCase, TestLoader, TextTestRunner
|
|
|
|
|
|
|
|
from salt.modules import file as filemod
|
|
|
|
from salt.modules import cmdmod
|
|
|
|
|
|
|
|
filemod.__salt__ = {
|
|
|
|
'cmd.run': cmdmod.run,
|
2013-04-22 21:26:05 +00:00
|
|
|
'cmd.run_all': cmdmod.run_all
|
2013-02-13 22:36:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
SED_CONTENT = """test
|
|
|
|
some
|
|
|
|
content
|
|
|
|
/var/lib/foo/app/test
|
|
|
|
here
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
|
class FileModuleTestCase(TestCase):
|
|
|
|
def test_sed_limit_escaped(self):
|
|
|
|
with tempfile.NamedTemporaryFile() as tfile:
|
|
|
|
tfile.write(SED_CONTENT)
|
|
|
|
tfile.seek(0, 0)
|
|
|
|
|
|
|
|
path = tfile.name
|
|
|
|
before = '/var/lib/foo'
|
|
|
|
after = ''
|
|
|
|
limit = '^{0}'.format(before)
|
|
|
|
|
|
|
|
filemod.sed(path, before, after, limit=limit)
|
|
|
|
|
|
|
|
with open(path, 'rb') as newfile:
|
2013-04-22 21:26:05 +00:00
|
|
|
self.assertEquals(
|
|
|
|
SED_CONTENT.replace(before, ''),
|
|
|
|
newfile.read()
|
|
|
|
)
|
2013-02-13 22:36:34 +00:00
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
loader = TestLoader()
|
|
|
|
tests = loader.loadTestsFromTestCase(FileModuleTestCase)
|
|
|
|
TextTestRunner(verbosity=1).run(tests)
|