PyUT: Implement test for lsb_release.guess_release_apt.
authorDidier Raboud <odyx@debian.org>
Tue, 22 May 2012 14:19:15 +0000 (16:19 +0200)
committerDidier Raboud <odyx@debian.org>
Tue, 22 May 2012 14:19:15 +0000 (16:19 +0200)
test/apt-cache
test/test_lsb_release.py

index 17c7c5e5c73a5483e60c3bef100ac6d54735df09..9106a42718541120c6c3642fbefe606346afcc82 100755 (executable)
@@ -15,12 +15,25 @@ print("Package files:")
 print(" 100 /var/lib/dpkg/status")
 print("     release a=now")
 
-if os.environ.get('TEST_APT_CACHE1') == '132':
-       print(' 132 http://Mirror_is_not_read/folder-either-debian/ sid/main arch Packages')
+if os.environ.get('TEST_APT_CACHE1') == '932':
+       print(' 932 http://Mirror_is_not_read/folder-either-debian/ sid/main arch Packages')
        print('     release o=oRigIn,a=SuiTe,n=codename-not-read,l=lABel,c=C0mp0nent')
        print('     origin Mirror-is-not-read')
 
-if os.environ.get('TEST_APT_CACHE2') == '35':
-       print(' 35  http://MirRor_is_not_read/folder-either-debian/ sid/main arch Packages')
+if os.environ.get('TEST_APT_CACHE2') == '600':
+       print('600  http://MirRor_is_not_read/folder-either-debian/ sid/main arch Packages')
        print('     release o=0RigIn,a=5uiTe,n=codename-not-read,l=1ABel,c=C03p0nent')
        print('     origin MirRor-is-not-read')
+
+if os.environ.get('TEST_APT_CACHE_RELEASE') == '512':
+       print(' 512 http://MirRor_is_not_read/folder-either-debian/ sid/main arch Packages')
+       print('     release o=or1g1n,a=testing,n=codename-not-read,l=l8bel,c=c0mp0nent')
+       print('     origin MirRor-is-not-read')
+       # Add an experimental to be ignored, with a bigger priority.
+       print('  12 http://MirRor_is_not_read/folder-either-debian/ exp/main arch Packages')
+       print('     release o=or1g1n,a=Riliz5uiTe,n=codename-not-read,l=l8bel,c=c0mp0nentIgn')
+       print('     origin MirRor-is-not-read')
+       # Add an release from foreign repository, to be considered too.
+       print(' 512 http://MirRor_is_not_read/folder-either-debian/ exp/main arch Packages')
+       print('     release o=P-or1g1n,a=sid,n=codename-not-read,l=P-l8bel,c=OtherComp')
+       print('     origin MirRor-is-not-read')
index cccc5a965889a5df3e5f6066eefe7edb19e20998..ccd7ec5c362756b65745222f25d02240ad23f4b7 100644 (file)
@@ -118,19 +118,30 @@ class TestLSBRelease(unittest.TestCase):
                supposed_output = [(100, {'suite': 'now'})]
                self.assertEqual(lr.parse_apt_policy(),supposed_output)
                # Add one fake entry
-               os.environ['TEST_APT_CACHE1'] = '132'
-               supposed_output.append((132, {'origin': 'oRigIn', 'suite': 'SuiTe', 'component': 'C0mp0nent', 'label': 'lABel'}))
+               os.environ['TEST_APT_CACHE1'] = '932'
+               supposed_output.append((932, {'origin': 'oRigIn', 'suite': 'SuiTe', 'component': 'C0mp0nent', 'label': 'lABel'}))
                self.assertEqual(lr.parse_apt_policy(),supposed_output)
                # Add a second fake entry, unordered
-               os.environ['TEST_APT_CACHE2'] = '35'
-               supposed_output.append((35, {'origin': '0RigIn', 'suite': '5uiTe', 'component': 'C03p0nent', 'label': '1ABel'}))
+               os.environ['TEST_APT_CACHE2'] = '600'
+               supposed_output.append((600, {'origin': '0RigIn', 'suite': '5uiTe', 'component': 'C03p0nent', 'label': '1ABel'}))
                self.assertEqual(lr.parse_apt_policy(),supposed_output)
                os.environ.pop('TEST_APT_CACHE1')
                os.environ.pop('TEST_APT_CACHE2')
 
-       @unittest.skip('Test not implemented.')
        def test_guess_release_from_apt(self):
-               raise NotImplementedError()
+               os.environ['TEST_APT_CACHE1'] = '932'
+               os.environ['TEST_APT_CACHE2'] = '600'
+               os.environ['TEST_APT_CACHE_RELEASE'] = '512'
+               supposed_output = {'origin': 'or1g1n', 'suite': 'testing', 'component': 'c0mp0nent', 'label': 'l8bel'}
+               self.assertEqual(lr.guess_release_from_apt(origin='or1g1n',label='l8bel',component='c0mp0nent',ignoresuites=('c0mp0nentIgn')),supposed_output)
+
+               # Test with a special repository (for Ports)
+               supposed_output = {'origin': 'P-or1g1n', 'suite': 'sid', 'component': 'OtherComp', 'label': 'P-l8bel'}
+               self.assertEqual(lr.guess_release_from_apt(origin='or1g1n',label='l8bel',component='c0mp0nent',ignoresuites=('c0mp0nentIgn'),alternate_olabels={'P-or1g1n':'P-l8bel'}),supposed_output)
+               os.environ.pop('TEST_APT_CACHE1')
+               os.environ.pop('TEST_APT_CACHE2')
+               os.environ.pop('TEST_APT_CACHE_RELEASE')
+
        @unittest.skip('Test not implemented.')
        def test_guess_debian_release(self):
                raise NotImplementedError()