Esempio n. 1
0
 def test_requirements(self):
     fn = os.path.join(HERE, METADATA_FILENAME)
     md = Metadata(path=fn)
     self.assertEqual(md.meta_requires, [{'requires': ['bar (1.0)']}])
     r = md.get_requirements(md.run_requires)
     self.assertEqual(r, ['foo'])
     r = md.get_requirements(md.run_requires, extras=['certs'])
     self.assertEqual(r, ['foo', 'certifi (0.0.8)'])
     r = md.get_requirements(md.run_requires, extras=['certs', 'ssl'])
     if sys.platform != 'win32':
         self.assertEqual(r, ['foo', 'certifi (0.0.8)'])
     else:
         self.assertEqual(
             set(r), set(['foo', 'certifi (0.0.8)', 'wincertstore (0.1)']))
     for ver in ('2.5', '2.4'):
         env = {'python_version': ver}
         r = md.get_requirements(md.run_requires,
                                 extras=['certs', 'ssl'],
                                 env=env)
         if sys.platform != 'win32':
             self.assertEqual(set(r),
                              set(['foo', 'certifi (0.0.8)', 'ssl (1.16)']))
         elif ver == '2.4':
             self.assertEqual(
                 set(r),
                 set([
                     'certifi (0.0.8)', 'ssl (1.16)', 'wincertstore (0.1)',
                     'foo', 'ctypes (1.0.2)'
                 ]))
         else:
             self.assertEqual(
                 set(r),
                 set([
                     'certifi (0.0.8)', 'ssl (1.16)', 'wincertstore (0.1)',
                     'foo'
                 ]))
     env['sys_platform'] = 'win32'
     r = md.get_requirements(md.run_requires,
                             extras=['certs', 'ssl'],
                             env=env)
     self.assertEqual(
         set(r),
         set([
             'foo', 'certifi (0.0.8)', 'ssl (1.16)', 'ctypes (1.0.2)',
             'wincertstore (0.1)'
         ]))
     env['python_version'] = '2.5'
     r = md.get_requirements(md.run_requires,
                             extras=['certs', 'ssl'],
                             env=env)
     self.assertEqual(
         set(r),
         set(['foo', 'certifi (0.0.8)', 'ssl (1.16)',
              'wincertstore (0.1)']))
     r = md.get_requirements(md.run_requires, extras=[':test:'])
     self.assertEqual(r, ['foo', 'nose'])
     r = md.get_requirements(md.run_requires, extras=[':test:', 'udp'])
     self.assertEqual(set(r), set(['foo', 'nose', 'nose-udp']))
     self.assertEqual(
         md.dependencies, {
             'provides': ['foobar (0.1)'],
             'meta_requires': [{
                 'requires': ['bar (1.0)']
             }],
             'extras': ['ssl', 'certs'],
             'build_requires': [],
             'test_requires': [{
                 'requires': ['nose'],
             }, {
                 'requires': ['nose-udp'],
                 'extra': 'udp',
             }],
             'run_requires': [{
                 'requires': ['foo']
             }, {
                 'requires': ['certifi (0.0.8)'],
                 'extra': 'certs',
             }, {
                 'requires': ['wincertstore (0.1)'],
                 'extra': 'ssl',
                 'environment': "sys_platform=='win32'",
             }, {
                 'requires': ['ctypes (1.0.2)'],
                 'extra':
                 'ssl',
                 'environment':
                 "sys_platform=='win32' and "
                 "python_version=='2.4'",
             }, {
                 'requires': ['ssl (1.16)'],
                 'extra': 'ssl',
                 'environment': "python_version in '2.4, 2.5'",
             }]
         })
Esempio n. 2
0
 def test_requirements(self):
     fn = os.path.join(HERE, METADATA_FILENAME)
     md = Metadata(path=fn)
     self.assertEqual(md.meta_requires, [{'requires': ['bar (1.0)']}])
     r = md.get_requirements(md.run_requires)
     self.assertEqual(r, ['foo'])
     r = md.get_requirements(md.run_requires, extras=['certs'])
     self.assertEqual(r, ['foo', 'certifi (0.0.8)'])
     r = md.get_requirements(md.run_requires, extras=['certs', 'ssl'])
     if sys.platform != 'win32':
         self.assertEqual(r, ['foo', 'certifi (0.0.8)'])
     else:
         self.assertEqual(set(r), set(['foo', 'certifi (0.0.8)',
                                       'wincertstore (0.1)']))
     for ver in ('2.5', '2.4'):
         env = {'python_version': ver}
         r = md.get_requirements(md.run_requires,
                                 extras=['certs', 'ssl'], env=env)
         if sys.platform != 'win32':
             self.assertEqual(set(r), set(['foo', 'certifi (0.0.8)',
                                           'ssl (1.16)']))
         elif ver == '2.4':
             self.assertEqual(set(r), set(['certifi (0.0.8)', 'ssl (1.16)',
                                           'wincertstore (0.1)', 'foo',
                                           'ctypes (1.0.2)']))
         else:
             self.assertEqual(set(r), set(['certifi (0.0.8)', 'ssl (1.16)',
                                           'wincertstore (0.1)', 'foo']))
     env['sys_platform'] = 'win32'
     r = md.get_requirements(md.run_requires,
                             extras=['certs', 'ssl'], env=env)
     self.assertEqual(set(r), set(['foo', 'certifi (0.0.8)', 'ssl (1.16)',
                                   'ctypes (1.0.2)', 'wincertstore (0.1)']))
     env['python_version'] = '2.5'
     r = md.get_requirements(md.run_requires,
                             extras=['certs', 'ssl'], env=env)
     self.assertEqual(set(r), set(['foo', 'certifi (0.0.8)', 'ssl (1.16)',
                                   'wincertstore (0.1)']))
     r = md.get_requirements(md.run_requires, extras=[':test:'])
     self.assertEqual(r, ['foo', 'nose'])
     r = md.get_requirements(md.run_requires, extras=[':test:', 'udp'])
     self.assertEqual(set(r), set(['foo', 'nose', 'nose-udp']))
     self.assertEqual(md.dependencies, {
         'provides': ['foobar (0.1)'],
         'meta_requires': [
             {
                 'requires': ['bar (1.0)']
             }
         ],
         'extras': ['ssl', 'certs'],
         'build_requires': [],
         'test_requires': [
             {
                 'requires': ['nose'],
             },
             {
                 'requires': ['nose-udp'],
                 'extra': 'udp',
             }
         ],
         'run_requires': [
             {
                 'requires': ['foo']
             },
             {
                 'requires': ['certifi (0.0.8)'],
                 'extra': 'certs',
             },
             {
                 'requires': ['wincertstore (0.1)'],
                 'extra': 'ssl',
                 'environment': "sys_platform=='win32'",
             },
             {
                 'requires': ['ctypes (1.0.2)'],
                 'extra': 'ssl',
                 'environment': "sys_platform=='win32' and "
                                "python_version=='2.4'",
             },
             {
                 'requires': ['ssl (1.16)'],
                 'extra': 'ssl',
                 'environment': "python_version in '2.4, 2.5'",
             }
         ]
     })