Exemple #1
0
 def test_add_title(self):
     versions = Versions()
     v = versions.add('1.0', '1.0.0')
     self.assertEqual(v, VersionInfo('1.0', '1.0.0'))
     self.assertEqual(list(versions), [
         VersionInfo('1.0', '1.0.0'),
     ])
Exemple #2
0
 def test_add_aliases(self):
     versions = Versions()
     v = versions.add('1.0', aliases=['latest'])
     self.assertEqual(v, VersionInfo('1.0', aliases={'latest'}))
     self.assertEqual(list(versions), [
         VersionInfo('1.0', aliases={'latest'}),
     ])
Exemple #3
0
 def test_update_alias_aliases(self):
     versions = Versions()
     versions.add('1.0', '1.0.0', ['latest'])
     diff = versions.update('latest', aliases=['greatest'])
     self.assertEqual(diff, {'greatest'})
     self.assertEqual(list(versions), [
         VersionInfo('1.0', '1.0.0', ['latest', 'greatest']),
     ])
Exemple #4
0
 def test_update_alias_title(self):
     versions = Versions()
     versions.add('1.0', '1.0.0', ['latest'])
     diff = versions.update('latest', '1.0.1')
     self.assertEqual(diff, set())
     self.assertEqual(list(versions), [
         VersionInfo('1.0', '1.0.1', ['latest']),
     ])
Exemple #5
0
 def test_remove_alias(self):
     versions = Versions()
     versions.add('1.0', aliases=['latest'])
     v = versions.remove('latest')
     self.assertEqual(v, 'latest')
     self.assertEqual(list(versions), [
         VersionInfo('1.0'),
     ])
Exemple #6
0
 def test_update_overwrite_same_alias(self):
     versions = Versions()
     versions.add('1.0', '1.0.0', ['latest'])
     diff = versions.update('1.0', aliases=['latest'])
     self.assertEqual(diff, set())
     self.assertEqual(list(versions), [
         VersionInfo('1.0', '1.0.0', ['latest']),
     ])
Exemple #7
0
 def test_add_update_alias(self):
     versions = Versions()
     versions.add('1.0', aliases=['latest'])
     v = versions.add('2.0', aliases=['latest'], update_aliases=True)
     self.assertEqual(v, VersionInfo('2.0', aliases={'latest'}))
     self.assertEqual(list(versions), [
         VersionInfo('2.0', aliases={'latest'}),
         VersionInfo('1.0'),
     ])
Exemple #8
0
 def test_add_overwrite_duplicate_alias(self):
     versions = Versions()
     versions.add('1.0', '1.0.0', ['latest'])
     v = versions.add('1.0', '1.0.1', ['latest', 'greatest'])
     self.assertEqual(v, VersionInfo('1.0', '1.0.1',
                                     {'latest', 'greatest'}))
     self.assertEqual(list(versions), [
         VersionInfo('1.0', '1.0.1', {'latest', 'greatest'}),
     ])
Exemple #9
0
 def test_dumps(self):
     versions = Versions()
     versions.add('2.0', '2.0.2', ['latest'])
     versions.add('1.0', '1.0.1', ['stable'])
     self.assertEqual(json.loads(versions.dumps()), [{
         'version': '2.0',
         'title': '2.0.2',
         'aliases': ['latest']
     }, {
         'version': '1.0',
         'title': '1.0.1',
         'aliases': ['stable']
     }])
Exemple #10
0
 def test_add_overwrite_alias_with_version(self):
     versions = Versions()
     versions.add('1.0b1', aliases=['1.0'])
     with self.assertRaises(ValueError):
         versions.add('1.0')
     with self.assertRaises(ValueError):
         versions.add('1.0', update_aliases=True)
Exemple #11
0
    def test_update_overwrite_alias_error(self):
        versions = Versions()
        versions.add('1.0', '1.0.0', ['latest'])
        versions.add('2.0', '2.0.0')

        msg = r"alias 'latest' already exists for version '1\.0'"
        with self.assertRaisesRegex(ValueError, msg):
            versions.update('2.0', aliases=['latest'])
Exemple #12
0
 def test_add_overwrite_alias_with_version(self):
     versions = Versions()
     versions.add('1.0b1', aliases=['1.0'])
     msg = r"version '1\.0' already exists"
     with self.assertRaisesRegex(ValueError, msg):
         versions.add('1.0')
     with self.assertRaisesRegex(ValueError, msg):
         versions.add('1.0', update_aliases=True)
Exemple #13
0
    def test_add_overwrite_version_with_alias(self):
        versions = Versions()
        versions.add('1.0b1')

        msg = r"alias '1\.0b1' already specified as a version"
        with self.assertRaisesRegex(ValueError, msg):
            versions.add('1.0', aliases=['1.0b1'])
        with self.assertRaisesRegex(ValueError, msg):
            versions.add('1.0', aliases=['1.0b1'], update_aliases=True)
Exemple #14
0
 def test_loads(self):
     versions = Versions.loads(
         '[' +
         '{"version": "2.0", "title": "2.0.2", "aliases": ["latest"]}, ' +
         '{"version": "1.0", "title": "1.0.1", "aliases": ["stable"]}' +
         ']')
     self.assertEqual(list(versions), [
         VersionInfo('2.0', '2.0.2', aliases={'latest'}),
         VersionInfo('1.0', '1.0.1', aliases={'stable'}),
     ])
Exemple #15
0
    def test_difference_update_nonexistent(self):
        versions = Versions()
        versions.add('1.0')
        versions.add('2.0')
        versions.add('3.0', aliases=['latest'])

        with self.assertRaises(KeyError):
            versions.difference_update(['1.0', 'latest', '4.0'])
        self.assertEqual(list(versions), [
            VersionInfo('3.0', aliases=['latest']),
            VersionInfo('2.0'),
            VersionInfo('1.0'),
        ])
Exemple #16
0
 def test_update_overwrite_alias_update(self):
     versions = Versions()
     versions.add('1.0', '1.0.0', ['latest'])
     versions.add('2.0', '2.0.0')
     diff = versions.update('2.0', aliases=['latest'], update_aliases=True)
     self.assertEqual(diff, {'latest'})
     self.assertEqual(list(versions), [
         VersionInfo('2.0', '2.0.0', ['latest']),
         VersionInfo('1.0', '1.0.0'),
     ])
Exemple #17
0
 def test_difference_update(self):
     versions = Versions()
     versions.add('1.0')
     versions.add('2.0')
     versions.add('3.0', aliases=['latest'])
     v = versions.difference_update(['1.0', '2.0', 'latest'])
     self.assertEqual(v, [VersionInfo('1.0'), VersionInfo('2.0'), 'latest'])
     self.assertEqual(list(versions), [
         VersionInfo('3.0'),
     ])
Exemple #18
0
 def test_update_invalid(self):
     versions = Versions()
     with self.assertRaises(KeyError):
         versions.update('1.0', '1.0.0')
Exemple #19
0
 def test_add_overwrite_alias(self):
     versions = Versions()
     versions.add('1.0', aliases=['latest'])
     with self.assertRaises(ValueError):
         versions.add('2.0', aliases=['latest'])
Exemple #20
0
 def test_remove_nonexistent(self):
     versions = Versions()
     with self.assertRaises(KeyError):
         versions.remove('1.0')
Exemple #21
0
 def test_add_invalid(self):
     versions = Versions()
     with self.assertRaises(ValueError):
         versions.add('1.0', aliases=['1.0'])
Exemple #22
0
 def test_remove_version(self):
     versions = Versions()
     versions.add('1.0')
     v = versions.remove('1.0')
     self.assertEqual(v, VersionInfo('1.0'))
     self.assertEqual(list(versions), [])
Exemple #23
0
 def test_getitem(self):
     versions = Versions()
     versions.add('1.0')
     self.assertEqual(versions['1.0'], VersionInfo('1.0'))
     self.assertEqual(versions[Version('1.0')], VersionInfo('1.0'))
Exemple #24
0
 def test_len(self):
     versions = Versions()
     versions.add('1.0')
     versions.add('1.0')
     versions.add('2.0')
     self.assertEqual(len(versions), 2)