Example #1
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)
Example #2
0
 def testAddingFileFailsIfFileHasAlreadyBeenAdded(self):
     helpers.gennest(testdir)
     # test logic
     pake.config.nest.Files(test_nest_root).add(path='./pake/__init__.py').write()
     self.assertRaises(FileExistsError, pake.config.nest.Files(test_nest_root).add, path='./pake/__init__.py')
     # cleanup
     helpers.rmnest(testdir)
Example #3
0
 def testAddingVersions(self):
     helpers.gennest(testdir)
     # test logic
     pake.config.nest.Versions(test_nest_root).add('0.0.1-alpha.1').add('0.0.1-beta.1').add('0.0.1-rc.1').add('0.0.1').write()
     self.assertEqual(['0.0.1-alpha.1', '0.0.1-beta.1', '0.0.1-rc.1', '0.0.1'], list(pake.config.nest.Versions(test_nest_root)))
     # cleanup
     helpers.rmnest(testdir)
Example #4
0
 def testAddingFileFailsIfPathIsNotAFile(self):
     helpers.gennest(testdir)
     # test logic
     self.assertRaises(pake.errors.NotAFileError,
                       pake.config.nest.Files(test_nest_root).add,
                       path='./this_file_does_not.exist')
     # cleanup
     helpers.rmnest(testdir)
Example #5
0
 def testListingDependencies(self):
     helpers.gennest(testdir)
     # test logic
     pake.config.nest.Dependencies(test_nest_root).set(name='foo').set(name='bar').set(name='baz').write()
     desired = ['foo', 'bar', 'baz']
     self.assertEqual(sorted(desired), sorted(list(pake.config.nest.Dependencies(test_nest_root))))
     # cleanup
     helpers.rmnest(testdir)
Example #6
0
 def testListingFiles(self):
     helpers.gennest(testdir)
     # test logic
     pake.config.nest.Files(test_nest_root).add(path='./pake/__init__.py').add('./pake/shared.py').write()
     desired = ['./pake/__init__.py', './pake/shared.py']
     self.assertEqual(desired, list(pake.config.nest.Files(test_nest_root)))
     # cleanup
     helpers.rmnest(testdir)
Example #7
0
 def testAddingFileFailsIfPathIsNotAFile(self):
     helpers.gennest(testdir)
     reqs = [{'act': 'nest.config.files.add', 'path': './this_file_does_not.exist'}]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     # test logic
     self.assertRaises(pake.errors.NotAFileError, runner.run)
     # cleanup
     helpers.rmnest(testdir)
Example #8
0
 def testGettingDependencyData(self):
     helpers.gennest(testdir)
     # test logic
     pake.config.nest.Dependencies(test_nest_root).set(name='foo', origin='http://pake.example.com', min='0.2.4', max='2.4.8').write()
     desired = {'origin': 'http://pake.example.com', 'min': '0.2.4', 'max': '2.4.8'}
     self.assertEqual(desired, pake.config.nest.Dependencies(test_nest_root).get(name='foo'))
     # cleanup
     helpers.rmnest(testdir)
Example #9
0
 def testAddingVersionsButCheckingIfItsNotLowerThanTheLastOne(self):
     helpers.gennest(testdir)
     # test logic
     pake.config.nest.Versions(test_nest_root).add('0.0.1-beta.1').write()
     self.assertRaises(ValueError, pake.config.nest.Versions(test_nest_root).add, '0.0.1-alpha.17', check=True)
     # assertNotRaises -- just run it; if no exception is raise everything's fine
     pake.config.nest.Versions(test_nest_root).add('0.0.1', check=True)
     # cleanup
     helpers.rmnest(testdir)
Example #10
0
 def testListingFiles(self):
     helpers.gennest(testdir)
     # test logic
     pake.config.nest.Files(test_nest_root).add(
         path='./pake/__init__.py').add('./pake/shared.py').write()
     desired = ['./pake/__init__.py', './pake/shared.py']
     self.assertEqual(desired, list(pake.config.nest.Files(test_nest_root)))
     # cleanup
     helpers.rmnest(testdir)
Example #11
0
 def testAddingFileFailsIfFileHasAlreadyBeenAdded(self):
     helpers.gennest(testdir)
     # test logic
     pake.config.nest.Files(test_nest_root).add(
         path='./pake/__init__.py').write()
     self.assertRaises(FileExistsError,
                       pake.config.nest.Files(test_nest_root).add,
                       path='./pake/__init__.py')
     # cleanup
     helpers.rmnest(testdir)
Example #12
0
 def testAddingVersions(self):
     helpers.gennest(testdir)
     # test logic
     pake.config.nest.Versions(test_nest_root).add('0.0.1-alpha.1').add(
         '0.0.1-beta.1').add('0.0.1-rc.1').add('0.0.1').write()
     self.assertEqual(
         ['0.0.1-alpha.1', '0.0.1-beta.1', '0.0.1-rc.1', '0.0.1'],
         list(pake.config.nest.Versions(test_nest_root)))
     # cleanup
     helpers.rmnest(testdir)
Example #13
0
 def testPackageBuildCreatesAllNecessaryFiles(self):
     helpers.gennest(testdir)
     version = helpers.buildTestPackage(path=test_nest_root, version='0.2.4.8')
     # test logic
     self.assertIn(version, os.listdir(os.path.join(test_nest_root, 'versions')))
     self.assertIn('meta.json', os.listdir(os.path.join(test_nest_root, 'versions', version)))
     self.assertIn('dependencies.json', os.listdir(os.path.join(test_nest_root, 'versions', version)))
     self.assertIn('build.tar.xz', os.listdir(os.path.join(test_nest_root, 'versions', version)))
     # cleanup
     helpers.rmnest(testdir)
Example #14
0
 def testRemovingVersions(self):
     helpers.gennest(testdir)
     reqs = [{'act': 'nest.config.versions.add', 'version': '0.0.1-beta.1'},
             {'act': 'nest.config.versions.remove', 'version': '0.0.1-beta.1'}
             ]
     pake.transactions.runner.Runner(root=testdir, requests=reqs).run()
     # test logic
     self.assertEqual([], list(pake.config.nest.Versions(test_nest_root)))
     # cleanup
     helpers.rmnest(testdir)
Example #15
0
 def testAddingFileFailsIfFileHasAlreadyBeenAdded(self):
     helpers.gennest(testdir)
     reqs = [{'act': 'nest.config.files.add', 'path': './pake/__init__.py'},
             {'act': 'nest.config.files.add', 'path': './pake/__init__.py'}
             ]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     # test logic
     self.assertRaises(FileExistsError, runner.run)
     # cleanup
     helpers.rmnest(testdir)
Example #16
0
 def testAddingFile(self):
     helpers.gennest(testdir)
     # test logic
     pake.nest.package.addfile(test_nest_root, path='./pake/__init__.py')
     ifstream = open(os.path.join(test_nest_root, 'files.json'))
     files = json.loads(ifstream.read())
     ifstream.close()
     desired = ['./pake/__init__.py']
     self.assertEqual(desired, files)
     # cleanup
     helpers.rmnest(testdir)
Example #17
0
 def testAddingFile(self):
     helpers.gennest(testdir)
     # test logic
     pake.nest.package.addfile(test_nest_root, path='./pake/__init__.py')
     ifstream = open(os.path.join(test_nest_root, 'files.json'))
     files = json.loads(ifstream.read())
     ifstream.close()
     desired = ['./pake/__init__.py']
     self.assertEqual(desired, files)
     # cleanup
     helpers.rmnest(testdir)
Example #18
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)
Example #19
0
 def testAddingADependency(self):
     helpers.gennest(testdir)
     # test logic
     pake.config.nest.Dependencies(test_nest_root).set(name='foo').write()
     ifstream = open(os.path.join(test_nest_root, 'dependencies.json'))
     dep = json.loads(ifstream.read())
     ifstream.close()
     desired = {'foo': {}}
     self.assertEqual(desired, dep)
     # cleanup
     helpers.rmnest(testdir)
Example #20
0
 def testListingDependencies(self):
     helpers.gennest(testdir)
     # test logic
     pake.config.nest.Dependencies(test_nest_root).set(name='foo').set(
         name='bar').set(name='baz').write()
     desired = ['foo', 'bar', 'baz']
     self.assertEqual(
         sorted(desired),
         sorted(list(pake.config.nest.Dependencies(test_nest_root))))
     # cleanup
     helpers.rmnest(testdir)
Example #21
0
 def testAddingADependencyWithFullSpecification(self):
     helpers.gennest(testdir)
     # test logic
     pake.config.nest.Dependencies(test_nest_root).set(name='foo', origin='http://pake.example.com', min='0.2.4', max='2.4.8').write()
     ifstream = open(os.path.join(test_nest_root, 'dependencies.json'))
     dep = json.loads(ifstream.read())
     ifstream.close()
     desired = {'foo': {'origin': 'http://pake.example.com', 'min': '0.2.4', 'max': '2.4.8'}}
     self.assertEqual(desired, dep)
     # cleanup
     helpers.rmnest(testdir)
Example #22
0
 def testAddingADependencyWithSpecifiedMaximalVersion(self):
     helpers.gennest(testdir)
     # test logic
     pake.config.nest.Dependencies(test_nest_root).set(name='foo', max='2.4.8').write()
     ifstream = open(os.path.join(test_nest_root, 'dependencies.json'))
     dep = json.loads(ifstream.read())
     ifstream.close()
     desired = {'foo': {'max': '2.4.8'}}
     self.assertEqual(desired, dep)
     # cleanup
     helpers.rmnest(testdir)
Example #23
0
 def testRemovingFile(self):
     helpers.gennest(testdir)
     reqs = [{'act': 'nest.config.files.add', 'path': './pake/__init__.py'}, {'act': 'nest.config.files.remove', 'path': './pake/__init__.py'}]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     # test logic
     runner.run()
     ifstream = open(os.path.join(test_nest_root, 'files.json'))
     files = json.loads(ifstream.read())
     ifstream.close()
     self.assertEqual([], files)
     # cleanup
     helpers.rmnest(testdir)
Example #24
0
 def testAddingADependencyWithSpecifiedOrigin(self):
     helpers.gennest(testdir)
     # test logic
     pake.config.nest.Dependencies(test_nest_root).set(
         name='foo', origin='http://pake.example.com').write()
     ifstream = open(os.path.join(test_nest_root, 'dependencies.json'))
     dep = json.loads(ifstream.read())
     ifstream.close()
     desired = {'foo': {'origin': 'http://pake.example.com'}}
     self.assertEqual(desired, dep)
     # cleanup
     helpers.rmnest(testdir)
Example #25
0
 def testRemovingADependency(self):
     helpers.gennest(testdir)
     # test logic
     pake.config.nest.Dependencies(test_nest_root).set(name='foo', origin='http://pake.example.com', min='0.2.4', max='2.4.8').write()
     pake.config.nest.Dependencies(test_nest_root).remove(name='foo').write()
     ifstream = open(os.path.join(test_nest_root, 'dependencies.json'))
     dep = json.loads(ifstream.read())
     ifstream.close()
     desired = {}
     self.assertEqual(desired, dep)
     # cleanup
     helpers.rmnest(testdir)
Example #26
0
 def testIfBuildIncludedNewVersionInVersionsFile(self):
     helpers.gennest(testdir)
     desired = []
     desired.append(helpers.buildTestPackage(test_nest_root, version='0.1.2', files=[], directories=[]))
     desired.append(helpers.buildTestPackage(test_nest_root, version='0.1.3', files=[], directories=[]))
     desired.append(helpers.buildTestPackage(test_nest_root, version='0.1.4', files=[], directories=[]))
     versions = pake.config.nest.Versions(test_nest_root)
     # test logic
     for i in desired:
         self.assertIn(i, versions)
     # cleanup
     helpers.rmnest(testdir)
Example #27
0
 def testAddingVersionsButCheckingIfItsNotLowerThanTheLastOne(self):
     helpers.gennest(testdir)
     # test logic
     pake.config.nest.Versions(test_nest_root).add('0.0.1-beta.1').write()
     self.assertRaises(ValueError,
                       pake.config.nest.Versions(test_nest_root).add,
                       '0.0.1-alpha.17',
                       check=True)
     # assertNotRaises -- just run it; if no exception is raise everything's fine
     pake.config.nest.Versions(test_nest_root).add('0.0.1', check=True)
     # cleanup
     helpers.rmnest(testdir)
Example #28
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)
Example #29
0
 def testIfArchieveContainsAllRequiredFiles(self):
     helpers.gennest(testdir)
     desired = ['./pake/__init__.py', './pake/shared.py']
     version = helpers.buildTestPackage(path=test_nest_root, version='2.4.8', files=desired, directories=[])
     # test logic
     test_pkg = tarfile.TarFile(os.path.join(test_nest_root, 'versions', version, 'build.tar.xz'), 'r')
     names = test_pkg.getnames()
     test_pkg.close()
     # create list of files we expect to be included
     if VERBOSE: [print(i) for i in names]
     self.assertEqual(sorted([os.path.normpath(i) for i in desired]), sorted(names))
     # cleanup
     helpers.rmnest(testdir)
Example #30
0
 def testListingFiles(self):
     helpers.gennest(testdir)
     reqs = [{'act': 'nest.config.files.add', 'path': './pake/__init__.py'},
             {'act': 'nest.config.files.add', 'path': './pake/shared.py'},
             {'act': 'nest.config.files.list'}
             ]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     # test logic
     runner.run()
     desired = ['./pake/__init__.py', './pake/shared.py']
     self.assertEqual(desired, runner.getstack()[-1])
     # cleanup
     helpers.rmnest(testdir)
Example #31
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)
Example #32
0
 def testAddingVersions(self):
     helpers.gennest(testdir)
     reqs = [{'act': 'nest.config.versions.add', 'version': '0.0.1-alpha.1'},
             {'act': 'nest.config.versions.add', 'version': '0.0.1-beta.1'},
             {'act': 'nest.config.versions.add', 'version': '0.0.1-rc.1'},
             {'act': 'nest.config.versions.add', 'version': '0.0.1'},
             ]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     # test logic
     runner.run()
     self.assertEqual(['0.0.1-alpha.1', '0.0.1-beta.1', '0.0.1-rc.1', '0.0.1'], list(pake.config.nest.Versions(test_nest_root)))
     # cleanup
     helpers.rmnest(testdir)
Example #33
0
 def testAddingADependencyWithFullSpecification(self):
     helpers.gennest(testdir)
     reqs = [{'act': 'nest.config.dependencies.set', 'name': 'foo', 'origin': 'http://pake.example.com', 'min': '0.2.4', 'max': '2.4.8'}]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     # test logic
     runner.run()
     ifstream = open(os.path.join(test_nest_root, 'dependencies.json'))
     dep = json.loads(ifstream.read())
     ifstream.close()
     desired = {'foo': {'origin': 'http://pake.example.com', 'min': '0.2.4', 'max': '2.4.8'}}
     self.assertEqual(desired, dep)
     # cleanup
     helpers.rmnest(testdir)
Example #34
0
 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)
Example #35
0
 def testAddingADependency(self):
     helpers.gennest(testdir)
     reqs = [{'act': 'nest.config.dependencies.set', 'name': 'foo'}]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     # test logic
     runner.run()
     ifstream = open(os.path.join(test_nest_root, 'dependencies.json'))
     dep = json.loads(ifstream.read())
     ifstream.close()
     desired = {'foo': {}}
     self.assertEqual(desired, dep)
     # cleanup
     helpers.rmnest(testdir)
Example #36
0
 def testGettingDependencyData(self):
     helpers.gennest(testdir)
     reqs = [{'act': 'nest.config.dependencies.set', 'name': 'foo', 'origin': 'http://pake.example.com', 'min': '0.2.4', 'max': '2.4.8'},
             {'act': 'nest.config.dependencies.get', 'name': 'foo'}
             ]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     # test logic
     runner.run()
     #pake.config.nest.Dependencies(test_nest_root).set(name='foo', origin='http://pake.example.com', min='0.2.4', max='2.4.8').write()
     desired = {'origin': 'http://pake.example.com', 'min': '0.2.4', 'max': '2.4.8'}
     #self.assertEqual(desired, pake.config.nest.Dependencies(test_nest_root).get(name='foo'))
     self.assertEqual(desired, runner.getstack()[-1])
     # cleanup
     helpers.rmnest(testdir)
Example #37
0
 def testAddingDirectory(self):
     helpers.gennest(testdir)
     # test logic
     pake.nest.package.adddir(test_nest_root, path='./ui', recursive=True, avoid=['__pycache__'], avoid_exts=['swp', 'pyc'])
     ifstream = open(os.path.join(test_nest_root, 'files.json'))
     files = json.loads(ifstream.read())
     ifstream.close()
     desired = ['./ui/nest.py', './ui/nest.json',
                './ui/node.py', './ui/node.json',
                './ui/packages.py', './ui/packages.json',
                ]
     self.assertEqual(sorted(desired), sorted(files))
     # cleanup
     helpers.rmnest(testdir)
Example #38
0
 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)
Example #39
0
 def testAddingVersionsButCheckingIfItsNotLowerThanTheLastOne(self):
     helpers.gennest(testdir)
     reqs = [{'act': 'nest.config.versions.add', 'version': '0.0.1-beta.1'},
             {'act': 'nest.config.versions.add', 'version': '0.0.1-alpha.17', 'check': True}
             ]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     # test logic
     self.assertRaises(ValueError, runner.run)
     # assertNotRaises -- just run it; if no exception is raise everything's fine
     reqs = [{'act': 'nest.config.versions.add', 'version': '0.0.1-beta.1'},
             {'act': 'nest.config.versions.add', 'version': '0.0.1', 'check': True}
             ]
     pake.transactions.runner.Runner(root=testdir, requests=reqs).run()
     # cleanup
     helpers.rmnest(testdir)
Example #40
0
 def testPackageBuildCreatesAllNecessaryFiles(self):
     helpers.gennest(testdir)
     version = '0.2.4.8'
     reqs = [{'act': 'nest.config.meta.set', 'key': 'name', 'value': 'test'},
             {'act': 'nest.build', 'version': version}
             ]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     # test logic
     runner.run()
     self.assertIn(version, os.listdir(os.path.join(test_nest_root, 'versions')))
     self.assertIn(version, pake.config.nest.Versions(test_nest_root))
     self.assertIn('meta.json', os.listdir(os.path.join(test_nest_root, 'versions', version)))
     self.assertIn('dependencies.json', os.listdir(os.path.join(test_nest_root, 'versions', version)))
     self.assertIn('build.tar.xz', os.listdir(os.path.join(test_nest_root, 'versions', version)))
     # cleanup
     helpers.rmnest(testdir)
Example #41
0
 def testNestManagerDirectoriesWriting(self):
     """This test checks for correct initialization of all required directories.
     """
     # preparation
     helpers.gennest(testdir)
     ifstream = open('./env/nest/required/directories.json')
     directories = json.loads(ifstream.read())
     ifstream.close()
     # test logic
     if VERBOSE: print()
     for d in directories:
         path = os.path.join(test_nest_root, d)
         if VERBOSE: print("'{0}'".format(path))
         self.assertEqual(True, os.path.isdir(path))
     # cleanup
     helpers.rmnest(testdir)
Example #42
0
 def testNestManagerDirectoriesWriting(self):
     """This test checks for correct initialization of all required directories.
     """
     # preparation
     pake.transactions.runner.Runner(root=testdir, requests=[{'act': 'nest.manager.init', 'path': testdir}]).run()
     ifstream = open('./env/nest/required/directories.json')
     directories = json.loads(ifstream.read())
     ifstream.close()
     # test logic
     if VERBOSE: print()
     for d in directories:
         path = os.path.join(test_nest_root, d)
         if VERBOSE: print("'{0}'".format(path))
         self.assertEqual(True, os.path.isdir(path))
     # cleanup
     helpers.rmnest(testdir)
Example #43
0
 def testListingDependenciesDetails(self):
     helpers.gennest(testdir)
     reqs = [{'act': 'nest.config.dependencies.set', 'name': 'foo'},
             {'act': 'nest.config.dependencies.set', 'name': 'bar', 'origin': 'http://pake.example.com'},
             {'act': 'nest.config.dependencies.set', 'name': 'baz', 'origin': 'http://pake.example.net', 'min': '0.2.4'},
             {'act': 'nest.config.dependencies.list'}
             ]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     # test logic
     runner.run()
     deps = runner.getstack()[-1]
     self.assertIn({'name': 'foo'}, deps)
     self.assertIn({'name': 'bar', 'origin': 'http://pake.example.com'}, deps)
     self.assertIn({'name': 'baz', 'origin': 'http://pake.example.net', 'min': '0.2.4'}, deps)
     # cleanup
     helpers.rmnest(testdir)
Example #44
0
 def testListingDependenciesNames(self):
     helpers.gennest(testdir)
     reqs = [{'act': 'nest.config.dependencies.set', 'name': 'foo'},
             {'act': 'nest.config.dependencies.set', 'name': 'bar'},
             {'act': 'nest.config.dependencies.set', 'name': 'baz'},
             {'act': 'nest.config.dependencies.getnames'}
             ]
     runner = pake.transactions.runner.Runner(root=testdir, requests=reqs)
     # test logic
     runner.run()
     #pake.config.nest.Dependencies(test_nest_root).set(name='foo').set(name='bar').set(name='baz').write()
     desired = ['foo', 'bar', 'baz']
     self.assertEqual(sorted(desired), sorted(list(pake.config.nest.Dependencies(test_nest_root))))
     self.assertEqual(sorted(desired), sorted(runner.getstack()[-1]))
     # cleanup
     helpers.rmnest(testdir)
Example #45
0
 def testPushingToNode(self):
     helpers.gennode(testdir)
     helpers.gennest(testdir)
     version = helpers.buildTestPackage(path=test_nest_root,
                                        version='2.4.8.16')
     # test logic
     if SERVER_ENABLED_TESTS:
         # set all required variables
         url = conf.test_remote_node_url
         host = conf.test_remote_node_host
         cwd = conf.test_remote_node_cwd
         username = conf.test_remote_node_username
         password = conf.test_remote_node_pass
         # setup connection to test server
         remote = pake.node.pusher.FTPPusher(host)
         remote.login(username, password)
         if cwd: remote.cwd(cwd)
         # setup environment
         pake.config.nest.Meta(test_nest_root).set('name', 'test').write()
         pake.config.node.Pushers(test_node_root).set(url=url,
                                                      host=host,
                                                      cwd=cwd).write()
         pake.node.packages.register(root=test_node_root, path=testdir)
         pake.node.packages.genpkglist(root=test_node_root)
         pake.node.pusher.genmirrorlist(test_node_root)
         # push to remote node
         pake.node.pusher.push(root=test_node_root,
                               url=url,
                               username=username,
                               password=password,
                               reupload=True)
         # test if it went OK
         remote.cwd('./packages/test/versions/{0}'.format(version))
         files = remote.ls()
         self.assertIn('build.tar.xz', files)
         self.assertIn('meta.json', files)
         self.assertIn('dependencies.json', files)
         remote.close()
     else:
         warnings.warn(
             'test not run: flag: SERVER_ENABLED_TESTS = {0}'.format(
                 SERVER_ENABLED_TESTS))
     # cleanup
     helpers.rmnode(testdir)
     helpers.rmnest(testdir)
     if SERVER_ENABLED_TESTS:
         pass  # nothing is needed here (unless we want to wipe remote totally clean)