예제 #1
0
파일: system.py 프로젝트: marekjm/pake
 def testRemovingKeyFromMeta(self):
     helpers.gennode(testdir)
     # test logic
     pake.config.node.Meta(test_node_root).set('foo', 'bar').write().remove('foo').write()
     self.assertEqual(dict(pake.config.node.Meta(test_node_root)), {})
     # cleanup
     helpers.rmnode(testdir)
예제 #2
0
 def testNodeRegeneration(self):
     reqs = [{'act': 'node.manager.init', 'path': testdir},
             {'act': 'nest.manager.init', 'path': testdir},
             {'act': 'nest.config.meta.set', 'key': 'name', 'value': 'test'},
             {'act': 'node.config.nests.register', 'path': testdir},
             {'act': 'node.config.meta.set', 'key': 'foo', 'value': 'bar'},
             {'act': 'node.config.mirrors.set', 'url': 'http://pake.example.com', 'host': 'example.com', 'cwd': '/domains/example.com/public_html/pake'},
             {'act': 'node.config.aliens.set', 'url': 'http://alien.example.com', 'mirrors': [], 'meta': {}, 'fetch': False},
             {'act': 'node.manager.reinit', 'path': testdir}
             ]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     ifstream = open('./env/node/required/directories.json')
     directories = json.loads(ifstream.read())
     ifstream.close()
     configs = [ ('meta.json', {'foo': 'bar'}),      # (filename, desired_content)
                 ('pushers.json', [{'url': 'http://pake.example.com', 'host': 'example.com', 'cwd': '/domains/example.com/public_html/pake'}]),
                 ('aliens.json', {'http://alien.example.com': {'mirrors': [], 'meta': {}}}),
                 ('nests.json', {'test': os.path.abspath(os.path.join(testdir, '.pakenest'))}),
                 ]
     # test logic
     runner.run()
     self.assertIn('.pakenode', os.listdir(testdir))
     for d in directories:
         path = os.path.join(test_node_root, d)
         self.assertEqual(True, os.path.isdir(path))
     for f, desired in configs:
         path = os.path.join(test_node_root, f)
         print(path, os.path.isfile(path))
         ifstream = open(path, 'r')
         self.assertEqual(desired, json.loads(ifstream.read()))
         ifstream.close()
     # cleanup
     helpers.rmnode(testdir)
     helpers.rmnest(testdir)
예제 #3
0
 def testListingAliens(self):
     helpers.gennode(testdir)
     reqs = [{
         'act': 'node.config.aliens.set',
         'url': 'http://alien.example.com',
         'mirrors': [],
         'meta': {}
     }, {
         'act': 'node.config.aliens.set',
         'url': 'http://alien.example.net',
         'mirrors': [],
         'meta': {}
     }, {
         'act': 'node.config.aliens.set',
         'url': 'http://alien.example.org',
         'mirrors': [],
         'meta': {}
     }, {
         'act': 'node.config.aliens.getall'
     }]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     foo = {'url': 'http://alien.example.com', 'mirrors': [], 'meta': {}}
     bar = {'url': 'http://alien.example.net', 'mirrors': [], 'meta': {}}
     baz = {'url': 'http://alien.example.org', 'mirrors': [], 'meta': {}}
     # test logic
     runner.run()
     aliens = runner.getstack()[-1]
     self.assertIn(foo, aliens)
     self.assertIn(bar, aliens)
     self.assertIn(baz, aliens)
     # cleanup
     helpers.rmnode(testdir)
예제 #4
0
파일: system.py 프로젝트: marekjm/pake
 def testSettingKeyInMeta(self):
     helpers.gennode(testdir)
     # test logic
     pake.config.node.Meta(test_node_root).set('foo', 'bar').write()
     self.assertEqual(pake.config.node.Meta(test_node_root).get('foo'), 'bar')
     # cleanup
     helpers.rmnode(testdir)
예제 #5
0
파일: system.py 프로젝트: marekjm/pake
 def testGettingMetaKeys(self):
     helpers.gennode(testdir)
     # test logic
     pake.config.node.Meta(test_node_root).set('foo', 0).set('bar', 1).set('baz', 2).write()
     self.assertEqual(['bar', 'baz', 'foo'], sorted(pake.config.node.Meta(test_node_root).keys()))
     # cleanup
     helpers.rmnode(testdir)
예제 #6
0
 def testListingAlienURLs(self):
     helpers.gennode(testdir)
     reqs = [{
         'act': 'node.config.aliens.set',
         'url': 'http://alien.example.com',
         'mirrors': [],
         'meta': {}
     }, {
         'act': 'node.config.aliens.set',
         'url': 'http://alien.example.net',
         'mirrors': [],
         'meta': {}
     }, {
         'act': 'node.config.aliens.set',
         'url': 'http://alien.example.org',
         'mirrors': [],
         'meta': {}
     }]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     # test logic
     runner.run()
     urls = [
         'http://alien.example.com', 'http://alien.example.net',
         'http://alien.example.org'
     ]
     self.assertEqual(
         urls, sorted(pake.config.node.Aliens(test_node_root).urls()))
     # cleanup
     helpers.rmnode(testdir)
예제 #7
0
파일: system.py 프로젝트: marekjm/pake
 def testSettingKeyInMeta(self):
     helpers.gennode(testdir)
     # test logic
     pake.config.node.Meta(test_node_root).set('foo', 'bar').write()
     self.assertEqual(
         pake.config.node.Meta(test_node_root).get('foo'), 'bar')
     # cleanup
     helpers.rmnode(testdir)
예제 #8
0
파일: system.py 프로젝트: marekjm/pake
 def testCheckingForURLInPushers(self):
     helpers.gennode(testdir)
     # test logic
     pusher = {'url': 'http://pake.example.com', 'host': 'example.com', 'cwd': '/domains/example.com/public_html/pake'}
     pake.config.node.Pushers(test_node_root).set(**pusher).write()
     self.assertEqual(True, pake.config.node.Pushers(test_node_root).hasurl('http://pake.example.com'))
     # cleanup
     helpers.rmnode(testdir)
예제 #9
0
파일: system.py 프로젝트: marekjm/pake
 def testSettingNest(self):
     helpers.gennode(testdir)
     # test logic
     pake.config.node.Nests(root=test_node_root).set('foo', './testdir/.pakenest').write()
     self.assertEqual('./testdir/.pakenest', pake.config.node.Nests(test_node_root).get('foo'))
     pake.config.node.Nests(test_node_root).reset().write()
     # cleanup
     helpers.rmnode(testdir)
예제 #10
0
파일: system.py 프로젝트: marekjm/pake
 def testRemovingKeyFromMeta(self):
     helpers.gennode(testdir)
     # test logic
     pake.config.node.Meta(test_node_root).set(
         'foo', 'bar').write().remove('foo').write()
     self.assertEqual(dict(pake.config.node.Meta(test_node_root)), {})
     # cleanup
     helpers.rmnode(testdir)
예제 #11
0
 def testSettingKeyInMeta(self):
     reqs = [{'act': 'node.manager.init', 'path': testdir},
             {'act': 'node.config.meta.set', 'key': 'foo', 'value': 'bar'}]
     # test logic
     pake.transactions.runner.Runner(root=testdir, requests=reqs).run()
     self.assertEqual(pake.config.node.Meta(test_node_root).get('foo'), 'bar')
     # cleanup
     helpers.rmnode(testdir)
예제 #12
0
파일: system.py 프로젝트: marekjm/pake
 def testGettingPusher(self):
     helpers.gennode(testdir)
     # test logic
     pusher = {'url': 'http://pake.example.com', 'host': 'example.com', 'cwd': '/domains/example.com/public_html/pake'}
     pake.config.node.Pushers(test_node_root).set(**pusher).write()
     self.assertEqual(pusher, pake.config.node.Pushers(test_node_root).get(url='http://pake.example.com'))
     # cleanup
     helpers.rmnode(testdir)
예제 #13
0
 def testGettingAlien(self):
     helpers.gennode(testdir)
     reqs = [{'act': 'node.config.aliens.set', 'url': 'http://alien.example.com', 'mirrors': [], 'meta': {}, 'fetch': False},
             {'act': 'node.config.aliens.get', 'url': 'http://alien.example.com'}
             ]
     # test logic
     self.assertEqual({'mirrors': [], 'meta': {}}, pake.transactions.runner.Runner(root=testdir, requests=reqs).run().getstack()[-1])
     # cleanup
     helpers.rmnode(testdir)
예제 #14
0
파일: system.py 프로젝트: marekjm/pake
 def testRemovingAlien(self):
     helpers.gennode(testdir)
     # test logic
     alien = {'url': 'http://alien.example.com', 'mirrors': [], 'meta': {}}
     pake.config.node.Aliens(test_node_root).set(**alien).write()
     pake.config.node.Aliens(test_node_root).remove(alien['url']).write()
     self.assertNotIn('http://alien.example.com', pake.config.node.Aliens(test_node_root))
     # cleanup
     helpers.rmnode(testdir)
예제 #15
0
 def testAddingAlien(self):
     helpers.gennode(testdir)
     reqs = [{'act': 'node.config.aliens.set', 'url': 'http://alien.example.com', 'mirrors': [], 'meta': {}, 'fetch': False}]
     pake.transactions.runner.Runner(root=testdir, requests=reqs).run()
     # test logic
     alien = {'url': 'http://alien.example.com', 'mirrors': [], 'meta': {}}
     self.assertIn('http://alien.example.com', list(pake.config.node.Aliens(test_node_root)))
     # cleanup
     helpers.rmnode(testdir)
예제 #16
0
 def testRemovingKeyFromMeta(self):
     reqs = [{'act': 'node.manager.init', 'path': testdir},
             {'act': 'node.config.meta.set', 'key': 'foo', 'value': 'bar'},
             {'act': 'node.config.meta.remove', 'key': 'foo'}]
     # test logic
     pake.transactions.runner.Runner(root=testdir, requests=reqs).run()
     self.assertEqual(dict(pake.config.node.Meta(test_node_root)), {})
     # cleanup
     helpers.rmnode(testdir)
예제 #17
0
파일: system.py 프로젝트: marekjm/pake
 def testGettingAlien(self):
     helpers.gennode(testdir)
     # test logic
     alien = {'url': 'http://alien.example.com', 'mirrors': [], 'meta': {}}
     pake.config.node.Aliens(test_node_root).set(**alien).write()
     del alien['url']
     self.assertEqual(alien, pake.config.node.Aliens(test_node_root).get('http://alien.example.com'))
     pake.config.node.Aliens(test_node_root).reset().write()
     # cleanup
     helpers.rmnode(testdir)
예제 #18
0
파일: system.py 프로젝트: marekjm/pake
 def testSettingNest(self):
     helpers.gennode(testdir)
     # test logic
     pake.config.node.Nests(root=test_node_root).set(
         'foo', './testdir/.pakenest').write()
     self.assertEqual('./testdir/.pakenest',
                      pake.config.node.Nests(test_node_root).get('foo'))
     pake.config.node.Nests(test_node_root).reset().write()
     # cleanup
     helpers.rmnode(testdir)
예제 #19
0
 def testAddingPusher(self):
     reqs = [{'act': 'node.manager.init', 'path': testdir},
             {'act': 'node.config.mirrors.set', 'url': 'http://pake.example.com', 'host': 'example.com', 'cwd': '/domains/example.com/public_html/pake'}
             ]
     pake.transactions.runner.Runner(root=testdir, requests=reqs).run()
     # test logic
     pusher = {'url': 'http://pake.example.com', 'host': 'example.com', 'cwd': '/domains/example.com/public_html/pake'}
     self.assertIn(pusher, pake.config.node.Pushers(test_node_root))
     # cleanup
     helpers.rmnode(testdir)
예제 #20
0
파일: system.py 프로젝트: marekjm/pake
 def testRemovingAlien(self):
     helpers.gennode(testdir)
     # test logic
     alien = {'url': 'http://alien.example.com', 'mirrors': [], 'meta': {}}
     pake.config.node.Aliens(test_node_root).set(**alien).write()
     pake.config.node.Aliens(test_node_root).remove(alien['url']).write()
     self.assertNotIn('http://alien.example.com',
                      pake.config.node.Aliens(test_node_root))
     # cleanup
     helpers.rmnode(testdir)
예제 #21
0
파일: system.py 프로젝트: marekjm/pake
 def testMirrorlistGeneration(self):
     helpers.gennode(testdir)
     # test logic
     pake.config.node.Pushers(test_node_root).set(url='http://pake.example.com', host='example.com', cwd='').write()
     pake.node.pusher.genmirrorlist(test_node_root)
     ifstream = open(os.path.join(test_node_root, 'mirrors.json'))
     self.assertEqual(['http://pake.example.com'], json.loads(ifstream.read()))
     ifstream.close()
     # cleanup
     helpers.rmnode(testdir)
예제 #22
0
파일: system.py 프로젝트: marekjm/pake
 def testRemovingNest(self):
     helpers.gennode(testdir)
     # test logic
     nest = {'name': 'foo', 'path': '~/Dev/foo'}
     pake.config.node.Nests(test_node_root).set(**nest).write()
     pake.config.node.Nests(test_node_root).remove('foo').write()
     self.assertRaises(KeyError, pake.config.node.Nests(test_node_root).get, 'foo')
     pake.config.node.Nests(test_node_root).reset().write()
      # cleanup
     helpers.rmnode(testdir)
예제 #23
0
파일: system.py 프로젝트: marekjm/pake
 def testRemovingNest(self):
     helpers.gennode(testdir)
     # test logic
     nest = {'name': 'foo', 'path': '~/Dev/foo'}
     pake.config.node.Nests(test_node_root).set(**nest).write()
     pake.config.node.Nests(test_node_root).remove('foo').write()
     self.assertRaises(KeyError,
                       pake.config.node.Nests(test_node_root).get, 'foo')
     pake.config.node.Nests(test_node_root).reset().write()
     # cleanup
     helpers.rmnode(testdir)
예제 #24
0
파일: system.py 프로젝트: marekjm/pake
 def testGettingPathsOfAllNests(self):
     helpers.gennode(testdir)
     # test logic
     foo = {'name': 'foo', 'path': '~/Dev/foo'}
     bar = {'name': 'bar', 'path': '~/Dev/bar'}
     baz = {'name': 'baz', 'path': '~/Dev/baz'}
     pake.config.node.Nests(test_node_root).set(**foo).set(**bar).set(**baz).write()
     self.assertEqual(['~/Dev/bar', '~/Dev/baz', '~/Dev/foo'], sorted(pake.config.node.Nests(test_node_root).paths()))
     pake.config.node.Nests(test_node_root).reset().write()
     # cleanup
     helpers.rmnode(testdir)
예제 #25
0
파일: system.py 프로젝트: marekjm/pake
 def testGettingMetaKeys(self):
     helpers.gennode(testdir)
     # test logic
     pake.config.node.Meta(test_node_root).set('foo',
                                               0).set('bar',
                                                      1).set('baz',
                                                             2).write()
     self.assertEqual(['bar', 'baz', 'foo'],
                      sorted(pake.config.node.Meta(test_node_root).keys()))
     # cleanup
     helpers.rmnode(testdir)
예제 #26
0
 def testRegisteringNest(self):
     helpers.gennode(testdir)
     helpers.gennest(testdir)
     reqs = [{'act': 'nest.config.meta.set', 'key': 'name', 'value': 'test'},
             {'act': 'node.config.nests.register', 'path': testdir}]
     pake.transactions.runner.Runner(root=testdir, requests=reqs).run()
     # test logic
     self.assertEqual(os.path.abspath(test_nest_root), pake.config.node.Nests(test_node_root).get('test'))
     # cleanup
     helpers.rmnode(testdir)
     helpers.rmnest(testdir)
예제 #27
0
 def testGettingValuesFromMeta(self):
     helpers.gennode(testdir)
     reqs = [{'act': 'node.config.meta.set', 'key': 'foo', 'value': 'bar'},
             {'act': 'node.config.meta.get', 'key': 'foo'}
             ]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     # test logic
     runner.run()
     self.assertEqual('bar', runner.getstack()[-1])
     # cleanup
     helpers.rmnode(testdir)
예제 #28
0
파일: system.py 프로젝트: marekjm/pake
 def testSettingPusher(self):
     helpers.gennode(testdir)
     # test logic
     pusher = {
         'url': 'http://pake.example.com',
         'host': 'example.com',
         'cwd': '/domains/example.com/public_html/pake'
     }
     pake.config.node.Pushers(test_node_root).set(**pusher).write()
     self.assertIn(pusher, pake.config.node.Pushers(test_node_root))
     # cleanup
     helpers.rmnode(testdir)
예제 #29
0
 def testRemovingNest(self):
     helpers.gennode(testdir)
     helpers.gennest(testdir)
     reqs = [{'act': 'nest.config.meta.set', 'key': 'name', 'value': 'test'},
             {'act': 'node.config.nests.register', 'path': testdir},
             {'act': 'node.config.nests.remove', 'name': 'test'}]
     pake.transactions.runner.Runner(root=testdir, requests=reqs).run()
     # test logic
     self.assertRaises(KeyError, pake.config.node.Nests(test_node_root).get, 'test')
      # cleanup
     helpers.rmnode(testdir)
     helpers.rmnest(testdir)
예제 #30
0
파일: system.py 프로젝트: marekjm/pake
 def testMirrorlistGeneration(self):
     helpers.gennode(testdir)
     # test logic
     pake.config.node.Pushers(test_node_root).set(
         url='http://pake.example.com', host='example.com', cwd='').write()
     pake.node.pusher.genmirrorlist(test_node_root)
     ifstream = open(os.path.join(test_node_root, 'mirrors.json'))
     self.assertEqual(['http://pake.example.com'],
                      json.loads(ifstream.read()))
     ifstream.close()
     # cleanup
     helpers.rmnode(testdir)
예제 #31
0
파일: system.py 프로젝트: marekjm/pake
 def testListingAlienURLs(self):
     helpers.gennode(testdir)
     # test logic
     foo = {'url': 'http://alien.example.com', 'mirrors': [], 'meta': {}}
     bar = {'url': 'http://alien.example.net', 'mirrors': [], 'meta': {}}
     baz = {'url': 'http://alien.example.org', 'mirrors': [], 'meta': {}}
     pake.config.node.Aliens(test_node_root).set(**foo).set(**bar).set(**baz).write()
     self.assertEqual(['http://alien.example.com', 'http://alien.example.net', 'http://alien.example.org'],
                          sorted(pake.config.node.Aliens(test_node_root).urls()))
     pake.config.node.Aliens(test_node_root).reset().write()
     # cleanup
     helpers.rmnode(testdir)
예제 #32
0
파일: system.py 프로젝트: marekjm/pake
 def testListingAliens(self):
     helpers.gennode(testdir)
     # test logic
     foo = {'url': 'http://alien.example.com', 'mirrors': [], 'meta': {}}
     bar = {'url': 'http://alien.example.net', 'mirrors': [], 'meta': {}}
     baz = {'url': 'http://alien.example.org', 'mirrors': [], 'meta': {}}
     pake.config.node.Aliens(test_node_root).set(**foo).set(**bar).set(**baz).write()
     aliens = pake.config.node.Aliens(test_node_root).all()
     self.assertIn(foo, aliens)
     pake.config.node.Aliens(test_node_root).reset().write()
     # cleanup
     helpers.rmnode(testdir)
예제 #33
0
 def testGettingPusher(self):
     helpers.gennode(testdir)
     reqs = [{'act': 'node.config.mirrors.set', 'url': 'http://pake.example.com', 'host': 'example.com', 'cwd': '/domains/example.com/public_html/pake'},
             {'act': 'node.config.mirrors.get', 'url': 'http://pake.example.com'}
             ]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     # test logic
     runner.run()
     pusher = {'url': 'http://pake.example.com', 'host': 'example.com', 'cwd': '/domains/example.com/public_html/pake'}
     self.assertEqual(pusher, runner.getstack()[-1])
     # cleanup
     helpers.rmnode(testdir)
예제 #34
0
파일: system.py 프로젝트: marekjm/pake
 def testGettingPathOfOneNest(self):
     helpers.gennode(testdir)
     # test logic
     foo = {'name': 'foo', 'path': '~/Dev/foo'}
     bar = {'name': 'bar', 'path': '~/Dev/bar'}
     baz = {'name': 'baz', 'path': '~/Dev/baz'}
     pake.config.node.Nests(test_node_root).set(**foo).set(**bar).set(**baz).write()
     self.assertEqual('~/Dev/foo', pake.config.node.Nests(test_node_root).get('foo'))
     self.assertEqual('~/Dev/bar', pake.config.node.Nests(test_node_root).get('bar'))
     self.assertEqual('~/Dev/baz', pake.config.node.Nests(test_node_root).get('baz'))
     pake.config.node.Nests(test_node_root).reset().write()
     # cleanup
     helpers.rmnode(testdir)
예제 #35
0
파일: system.py 프로젝트: marekjm/pake
 def testRegisteringNests(self):
     helpers.gennode(testdir)
     helpers.gennest(testdir)
     # test logic
     pake.config.nest.Meta(test_nest_root).set('name', 'foo').write()
     pake.node.packages.register(root=test_node_root, path=testdir)
     print('don\'t worry - this warning is supposed to appear in this test')
     # paths must be absolute to ensure that they are reachable from every directory
     self.assertEqual(os.path.abspath(test_nest_root), pake.config.node.Nests(test_node_root).get('foo'))
     pake.node.packages.unregister(root=test_node_root, name='foo')
     # cleanup
     helpers.rmnode(testdir)
     helpers.rmnest(testdir)
예제 #36
0
파일: system.py 프로젝트: marekjm/pake
 def testGettingAlien(self):
     helpers.gennode(testdir)
     # test logic
     alien = {'url': 'http://alien.example.com', 'mirrors': [], 'meta': {}}
     pake.config.node.Aliens(test_node_root).set(**alien).write()
     del alien['url']
     self.assertEqual(
         alien,
         pake.config.node.Aliens(test_node_root).get(
             'http://alien.example.com'))
     pake.config.node.Aliens(test_node_root).reset().write()
     # cleanup
     helpers.rmnode(testdir)
예제 #37
0
 def testListingAlienURLs(self):
     helpers.gennode(testdir)
     reqs = [{'act': 'node.config.aliens.set', 'url': 'http://alien.example.com', 'mirrors': [], 'meta': {}, 'fetch': False},
             {'act': 'node.config.aliens.set', 'url': 'http://alien.example.net', 'mirrors': [], 'meta': {}, 'fetch': False},
             {'act': 'node.config.aliens.set', 'url': 'http://alien.example.org', 'mirrors': [], 'meta': {}, 'fetch': False}
             ]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     # test logic
     runner.run()
     urls = ['http://alien.example.com', 'http://alien.example.net', 'http://alien.example.org']
     self.assertEqual(urls, sorted(pake.config.node.Aliens(test_node_root).urls()))
     # cleanup
     helpers.rmnode(testdir)
예제 #38
0
 def testGettingPathsOfAllNests(self):
     helpers.gennode(testdir)
     helpers.gennest(testdir)
     reqs = [{'act': 'nest.config.meta.set', 'key': 'name', 'value': 'test'},
             {'act': 'node.config.nests.register', 'path': testdir},
             {'act': 'node.config.nests.getpaths'}
             ]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     # test logic
     self.assertEqual([os.path.abspath(test_nest_root)], runner.run().getstack()[-1])
     # cleanup
     helpers.rmnode(testdir)
     helpers.rmnest(testdir)
예제 #39
0
파일: system.py 프로젝트: marekjm/pake
 def testListingAliens(self):
     helpers.gennode(testdir)
     # test logic
     foo = {'url': 'http://alien.example.com', 'mirrors': [], 'meta': {}}
     bar = {'url': 'http://alien.example.net', 'mirrors': [], 'meta': {}}
     baz = {'url': 'http://alien.example.org', 'mirrors': [], 'meta': {}}
     pake.config.node.Aliens(test_node_root).set(**foo).set(**bar).set(
         **baz).write()
     aliens = pake.config.node.Aliens(test_node_root).all()
     self.assertIn(foo, aliens)
     pake.config.node.Aliens(test_node_root).reset().write()
     # cleanup
     helpers.rmnode(testdir)
예제 #40
0
파일: system.py 프로젝트: marekjm/pake
 def testGettingPathsOfAllNests(self):
     helpers.gennode(testdir)
     # test logic
     foo = {'name': 'foo', 'path': '~/Dev/foo'}
     bar = {'name': 'bar', 'path': '~/Dev/bar'}
     baz = {'name': 'baz', 'path': '~/Dev/baz'}
     pake.config.node.Nests(test_node_root).set(**foo).set(**bar).set(
         **baz).write()
     self.assertEqual(['~/Dev/bar', '~/Dev/baz', '~/Dev/foo'],
                      sorted(
                          pake.config.node.Nests(test_node_root).paths()))
     pake.config.node.Nests(test_node_root).reset().write()
     # cleanup
     helpers.rmnode(testdir)
예제 #41
0
파일: system.py 프로젝트: marekjm/pake
 def testRegisteringNests(self):
     helpers.gennode(testdir)
     helpers.gennest(testdir)
     # test logic
     pake.config.nest.Meta(test_nest_root).set('name', 'foo').write()
     pake.node.packages.register(root=test_node_root, path=testdir)
     print('don\'t worry - this warning is supposed to appear in this test')
     # paths must be absolute to ensure that they are reachable from every directory
     self.assertEqual(os.path.abspath(test_nest_root),
                      pake.config.node.Nests(test_node_root).get('foo'))
     pake.node.packages.unregister(root=test_node_root, name='foo')
     # cleanup
     helpers.rmnode(testdir)
     helpers.rmnest(testdir)
예제 #42
0
 def testMirrorlistGeneration(self):
     helpers.gennode(testdir)
     reqs = [{'act': 'node.config.mirrors.set', 'url': 'http://pake.example.com', 'host': 'example.com', 'cwd': '/domains/example.com/public_html/pake'},
             {'act': 'node.config.mirrors.set', 'url': 'http://pake.example.net', 'host': 'example.com', 'cwd': '/domains/example.com/public_html/pake'},
             {'act': 'node.config.mirrors.set', 'url': 'http://pake.example.org', 'host': 'example.com', 'cwd': '/domains/example.com/public_html/pake'},
             {'act': 'node.config.mirrors.genlist'},
             ]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     # test logic
     runner.run()
     ifstream = open(os.path.join(test_node_root, 'mirrors.json'))
     self.assertEqual(['http://pake.example.com', 'http://pake.example.net', 'http://pake.example.org'], json.loads(ifstream.read()))
     ifstream.close()
     # cleanup
     helpers.rmnode(testdir)
예제 #43
0
 def testNodeManagerDirectoriesWriting(self):
     """This test checks for correct initialization of all required directories.
     """
     runner = pake.transactions.runner.Runner(root=testdir, requests=[{'act': 'node.manager.init', 'path': testdir}])
     ifstream = open('./env/node/required/directories.json')
     directories = json.loads(ifstream.read())
     ifstream.close()
     # test logic
     runner.run()
     self.assertIn('.pakenode', os.listdir(testdir))
     for d in directories:
         path = os.path.join(test_node_root, d)
         self.assertEqual(True, os.path.isdir(path))
     # cleanup
     helpers.rmnode(testdir)
예제 #44
0
파일: system.py 프로젝트: marekjm/pake
 def testListingAlienURLs(self):
     helpers.gennode(testdir)
     # test logic
     foo = {'url': 'http://alien.example.com', 'mirrors': [], 'meta': {}}
     bar = {'url': 'http://alien.example.net', 'mirrors': [], 'meta': {}}
     baz = {'url': 'http://alien.example.org', 'mirrors': [], 'meta': {}}
     pake.config.node.Aliens(test_node_root).set(**foo).set(**bar).set(
         **baz).write()
     self.assertEqual([
         'http://alien.example.com', 'http://alien.example.net',
         'http://alien.example.org'
     ], sorted(pake.config.node.Aliens(test_node_root).urls()))
     pake.config.node.Aliens(test_node_root).reset().write()
     # cleanup
     helpers.rmnode(testdir)
예제 #45
0
파일: system.py 프로젝트: marekjm/pake
 def testNodeManagerDirectoriesWriting(self):
     """This test checks for correct initialization of all required directories.
     """
     # preparation
     helpers.gennode(testdir)
     ifstream = open('./env/node/required/directories.json')
     directories = json.loads(ifstream.read())
     ifstream.close()
     # test logic
     self.assertIn('.pakenode', os.listdir(testdir))
     for d in directories:
         path = os.path.join(test_node_root, d)
         self.assertEqual(True, os.path.isdir(path))
     # cleanup
     helpers.rmnode(testdir)
예제 #46
0
 def testGettingMetaKeys(self):
     helpers.gennode(testdir)
     reqs = [{'act': 'node.config.meta.set', 'key': 'foo', 'value': 0},
             {'act': 'node.config.meta.set', 'key': 'bar', 'value': 1},
             {'act': 'node.config.meta.set', 'key': 'baz', 'value': 2},
             {'act': 'node.config.meta.getkeys'},
             ]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     # test logic
     runner.run()
     self.assertEqual(['bar', 'baz', 'foo'], sorted(runner.getstack()[-1]))
     self.assertEqual(['bar', 'baz', 'foo'], sorted(pake.config.node.Meta(test_node_root).keys()))
     pake.config.node.Meta(test_node_root).reset().write()
     # cleanup
     helpers.rmnode(testdir)