def testGetPackageChangeLogRealBash(self): # arrange fetcher = package_fetcher.PackageFetcher(package_fetcher.ChangeLogParser(),mockable_execute.MockableExecute()) # act result = fetcher.get_package_changelog('bash', '4.2.45', '5.el7_0.4') # assert self.assertNotEquals(result, None)
def testGetPackageChangeLogRealBashExclusionsSetup(self): # arrange fetcher = package_fetcher.PackageFetcher(package_fetcher.ChangeLogParser(),mockable_execute.MockableExecute(),['epel', 'extras', 'updates']) # act result = fetcher.get_package_changelog('bash', '4.2.45', '5.el7_0.4') # assert assert result == 'Unable to parse changelog for package bash version 4.2.45 release 5.el7_0.4'
def testGetWhatDependsOnNone(self): # arrange fetcher = package_fetcher.PackageFetcher(package_fetcher.ChangeLogParser(),mockable_execute.MockableExecute()) # act result = fetcher.get_what_depends_on('postgresql93-devel') # assert assert result == []
def testGet_log_version_nums_selinux(self): # arrange parser = package_fetcher.ChangeLogParser() # act result = parser.get_log_version_nums('3.12.1','153.el7_0.11') # assert assert result == ['3.12.1-153.11', '3.12.1-153', '3.12.1-153.el7_0.11']
def testGet_log_version_nums_suffix(self): # arrange parser = package_fetcher.ChangeLogParser() # act result = parser.get_log_version_nums('1.0.1e','34.el7_0.4') # assert assert result == ['1.0.1e-34.4', '1.0.1e-34', '1.0.1e-34.el7_0.4']
def testGetPackageChangeLogRealOpenssl(self): # arrange fetcher = package_fetcher.PackageFetcher(package_fetcher.ChangeLogParser(),mockable_execute.MockableExecute()) # act result = fetcher.get_package_changelog('openssl', '1.0.1e', '34.el7_0.4') # assert self.assertNotEquals(result, None)
def testGet_log_version_nums_rhel_7(self): # arrange parser = package_fetcher.ChangeLogParser() # act result = parser.get_log_version_nums('4.2.45','5.el7_0.4') # assert assert result == ['4.2.45-5.4', '4.2.45-5', '4.2.45-5.el7_0.4']
def testGetPackageChangeLogRealBashInclusionsSetup(self): # arrange fetcher = package_fetcher.PackageFetcher(package_fetcher.ChangeLogParser(),mockable_execute.MockableExecute(),['epel', 'extras', 'updates'],['*']) # act result = fetcher.get_package_changelog('bash', '4.2.45', '5.el7_0.4') # assert self.assertNotEquals(result, None)
def testGet_log_version_nums_no_suffix(self): # arrange parser = package_fetcher.ChangeLogParser() # act result = parser.get_log_version_nums('2014.1.98','70.0.el7_0') # assert assert result == ['2014.1.98-70.0', '2014.1.98-70.0.el7_0']
def testNotFound(self): # arrange parser = package_fetcher.ChangeLogParser() output = open('tests/changelog_bash.txt').read() # act result = parser.parse(output,'bash','4.4','5.el7_0.4') # assert self.assertEquals(result,'Unable to parse changelog for package bash version 4.4 release 5.el7_0.4')
def testGetWhatDependsOn(self): # arrange fetcher = package_fetcher.PackageFetcher(package_fetcher.ChangeLogParser(),mockable_execute.MockableExecute()) # act result = fetcher.get_what_depends_on('nss') # assert assert len(result) >= 2, "Actual size is %d" % (len(result)) names = map(lambda p:p.name, result) # list includes anything_missing = list(set(['rpm-libs']) - set(names)) assert anything_missing == []
def testPackageInMiddle(self): # arrange parser = package_fetcher.ChangeLogParser() output = open('tests/changelog_nss-tools.txt').read() # act results = parser.parse(output,'nss-tools','3.16.2', '7.el7_0') # assert expected_output = """* Wed Sep 24 07:00:00 2014 Elio Maldonado <*****@*****.**> - 3.16.2-7 - Resolves: Bug 1145433 - CVE-2014-1568 """ assert results == expected_output
def testParseStandardRhel(self): # arrange parser = package_fetcher.ChangeLogParser() output = open('tests/changelog_bash.txt').read() # act results = parser.parse(output,'bash','4.2.45','5.el7_0.4') # assert expected_output = """* Thu Sep 25 07:00:00 2014 Ondrej Oprala <*****@*****.**> - 4.2.45-5.4 - CVE-2014-7169 Resolves: #1146324 """ self.assertEquals(results,expected_output)
def testParseWithRegexCharInPackageName(self): # arrange parser = package_fetcher.ChangeLogParser() output = open('tests/changelog_stdc.txt').read() # act results = parser.parse(output,'libstdc++','4.8.2','16.2.el7_0') # assert expected_output = """* Wed Aug 6 07:00:00 2014 Jakub Jelinek <*****@*****.**> 4.8.2-16.2 - backport two further OpenMP 4.0 libgomp tasking fixes (#1121077) - fix scheduler wrong-code with DEBUG_INSNs containing volatile ASM_OPERANDS (#1127120, PR rtl-optimization/61801) """ assert results == expected_output
def testParseSeLinux(self): # arrange parser = package_fetcher.ChangeLogParser() output = open('tests/changelog_selinux-policy-targeted.txt').read() # act results = parser.parse(output,'selinux-policy-targeted', '3.12.1', '153.el7_0.11') # assert expected_output = """* Fri Aug 22 07:00:00 2014 Miroslav Grepl <*****@*****.**> 3.12.1-153.el7_0.11 - Back port OpenStack fixes - Allow mdadm to connect to own socket created by mdadm running as kernel_t Resolves:#1132828 """ self.assertEquals(results,expected_output)
def testParseAnotherVersionString(self): # arrange parser = package_fetcher.ChangeLogParser() output = open('tests/changelog_ca-certificates.txt').read() # act results = parser.parse(output,'ca-certificates','2014.1.98','70.0.el7_0') # assert expected_output = """* Thu Sep 11 07:00:00 2014 Kai Engert <*****@*****.**> - 2014.1.98-70.0 - update to CKBI 1.98 from NSS 3.16.1 - building on RHEL 7 no longer requires java-openjdk - added more detailed instructions for release numbers on RHEL branches, to avoid problems when rebasing on both z- and y-stream branches. """ self.assertEquals(results,expected_output)
def testParseCentos(self): # arrange parser = package_fetcher.ChangeLogParser() output = open('tests/changelog_openssl.txt').read() # act results = parser.parse(output,'openssl','1.0.1e','34.el7_0.4') # assert expected_output = """* Fri Aug 8 07:00:00 2014 Tomáš Mráz <*****@*****.**> 1.0.1e-34.4 - fix CVE-2014-3505 - doublefree in DTLS packet processing - fix CVE-2014-3506 - avoid memory exhaustion in DTLS - fix CVE-2014-3507 - avoid memory leak in DTLS - fix CVE-2014-3508 - fix OID handling to avoid information leak - fix CVE-2014-3509 - fix race condition when parsing server hello - fix CVE-2014-3510 - fix DoS in anonymous (EC)DH handling in DTLS - fix CVE-2014-3511 - disallow protocol downgrade via fragmentation """ self.assertEquals(results,expected_output)