コード例 #1
0
ファイル: test_initialize.py プロジェクト: tech-pi/pygate
 def test_dryrun(self):
     mfs = MemoryFS()
     d = Directory('.', mfs)
     o = ini.OpSubdirectoriesMaker(3)
     r = RoutineOnDirectory(d, [o], dryrun=True)
     result = o.dryrun(r)
     self.assertEqual(result[ini.KEYS.SUBDIRECTORIES],
                      ('sub.0', 'sub.1', 'sub.2'))
コード例 #2
0
ファイル: test_initialize.py プロジェクト: tech-pi/pygate
 def test_apply(self, m):
     mfs = MemoryFS()
     d = Directory('.', mfs)
     o = ini.OpGenerateFile('test.txt')
     r = RoutineOnDirectory(d, [o])
     o.apply(r)
     with mfs.open('test.txt', 'r') as fin:
         result = fin.readlines()
     self.assertEqual(result, ['test text'])
コード例 #3
0
ファイル: test_initialize.py プロジェクト: tech-pi/pygate
 def test_dryrun(self, m):
     mfs = MemoryFS()
     d = Directory('.', mfs)
     o = ini.OpGenerateFile('test.txt')
     r = RoutineOnDirectory(d, [o])
     self.assertEqual(
         o.dryrun(r),
         ini.TargetFileWithContent(File('test.txt', mfs),
                                   content='test text').to_dict())
コード例 #4
0
ファイル: test_initialize.py プロジェクト: tech-pi/pygate
 def test_apply(self):
     mfs = MemoryFS()
     d = Directory('.', mfs)
     o = ini.OpSubdirectoriesMaker(3)
     r = RoutineOnDirectory(d, [o], dryrun=True)
     result = o.apply(r)
     dirs = ['sub.{}'.format(i) for i in range(3)]
     for d in dirs:
         self.assertTrue(mfs.exists(d))
コード例 #5
0
ファイル: test_initialize.py プロジェクト: tech-pi/pygate
 def test_files_to_broadcast(self, m):
     mfs = MemoryFS()
     d = Directory('.', mfs)
     o0 = ini.OpAddToBroadcastFile('test1.txt')
     o1 = ini.OpAddToBroadcastFile('test2.txt')
     o2 = ini.OpGenerateFile('test3.txt')
     o3 = ini.OpBroadcastFile(['sub*'])
     r = RoutineOnDirectory(d, [o0, o1, o2], dryrun=True)
     r.work()
     result = [f.path.s for f in o3.files_to_broadcast(r)]
     self.assertEqual(sorted(result),
                      sorted(['test{}.txt'.format(i) for i in range(1, 4)]))
コード例 #6
0
ファイル: test_base.py プロジェクト: tech-pi/pygate
 def test_target(self):
     from fs.memoryfs import MemoryFS
     from dxl.fs import Directory
     from pygate.routine.base import RoutineOnDirectory
     from pygate.routine.merger import OpMerge
     import rx
     mfs = MemoryFS()
     d = Directory('.', mfs)
     mfs.makedir('sub1')
     mfs.makedir('sub2')
     mfs.touch('test.txt')
     r = RoutineOnDirectory(d)
     o = OperationOnFile('test.txt')
     self.assertEqual(o.target(r).path.s, 'test.txt')
コード例 #7
0
ファイル: test_initialize.py プロジェクト: tech-pi/pygate
 def test_dryrun(self):
     mfs = MemoryFS()
     d = Directory('.', mfs)
     o0 = ini.OpAddToBroadcastFile('test1.txt')
     o1 = ini.OpAddToBroadcastFile('test2.txt')
     r = RoutineOnDirectory(d, [o0, o1], dryrun=True)
     r.work()
     self.assertEqual(r.result[0], {
         ini.KEYS.TARGET: 'test1.txt',
         ini.KEYS.IS_TO_BROADCAST: True
     })
     self.assertEqual(r.result[1], {
         ini.KEYS.TARGET: 'test2.txt',
         ini.KEYS.IS_TO_BROADCAST: True
     })
コード例 #8
0
ファイル: test_base.py プロジェクト: tech-pi/pygate
 def test_match(self):
     from fs.memoryfs import MemoryFS
     from dxl.fs import Directory
     mfs = MemoryFS()
     d = Directory('.', mfs)
     r = RoutineOnDirectory(d)
     for i in range(2):
         mfs.makedir('sub{}'.format(i))
     mfs.makedir('testdir')
     mfs.touch('sub.txt')
     o = OperationOnSubdirectories(['sub*'])
     sub_dirs = (o.subdirectories(r).to_list().to_blocking().first())
     self.assertEqual(len(sub_dirs), 2)
     paths = [d.path.s for d in sub_dirs]
     self.assertIn('sub0', paths)
     self.assertIn('sub1', paths)
コード例 #9
0
ファイル: test_initialize.py プロジェクト: tech-pi/pygate
 def test_dryrun(self):
     mfs = MemoryFS()
     subs = ['sub.{}'.format(i) for i in range(3)]
     for d in subs:
         mfs.makedir(d)
     d = Directory('.', mfs)
     o0 = ini.OpAddToBroadcastFile('test1.txt')
     o1 = ini.OpAddToBroadcastFile('test2.txt')
     obc = ini.OpBroadcastFile(['sub*'])
     r = RoutineOnDirectory(d, [o0, o1], dryrun=True)
     r.work()
     files = ['test{}.txt'.format(i) for i in range(1, 3)]
     result = obc.dryrun(r)
     self.assertEqual(sorted(result[ini.KEYS.SUBDIRECTORIES]), sorted(subs))
     self.assertEqual(sorted(result[ini.KEYS.TO_BROADCAST_FILES]),
                      sorted(files))
コード例 #10
0
ファイル: test_initialize.py プロジェクト: tech-pi/pygate
 def test_apply(self):
     mfs = MemoryFS()
     subs = ['sub.{}'.format(i) for i in range(3)]
     for d in subs:
         mfs.makedir(d)
     d = Directory('.', mfs)
     mfs.touch('test1.txt')
     mfs.touch('test2.txt')
     o0 = ini.OpAddToBroadcastFile('test1.txt')
     o1 = ini.OpAddToBroadcastFile('test2.txt')
     obc = ini.OpBroadcastFile(['sub*'])
     r = RoutineOnDirectory(d, [o0, o1, obc])
     r.work()
     target_files = []
     for d in subs:
         for f in ['test1.txt', 'test2.txt']:
             target_files.append(d + '/' + f)
     for i, t in enumerate(target_files):
         with self.subTest(i):
             self.assertTrue(mfs.exists(t))
コード例 #11
0
ファイル: initialize.py プロジェクト: tech-pi/pygate
def mac_template(filename):
    d = Directory('.')
    from pygate.routine.initialize import OpGenerateMacTemplate, RoutineOnDirectory
    o = OpGenerateMacTemplate(filename)
    r = RoutineOnDirectory(d, [o])
    r.work()