def test_get_packages_and_their_reports_unknown_packages(self): """ """ # add required stuff to db arch = Arch() arch.name = "noarch" self.db.session.add(arch) arch1 = Arch() arch1.name = "x86_64" self.db.session.add(arch1) build = Build() build.base_package_name = "sample" build.version = "1" build.release = "1" build.epoch = "0" self.db.session.add(build) pkg = Package() pkg.name = "sample" pkg.pkgtype = "rpm" pkg.arch = arch pkg.build = build self.db.session.add(pkg) #print(pkg.nevra()) #different arch pkg2 = Package() pkg2.name = "sample" pkg2.pkgtype = "rpm" pkg2.arch = arch1 pkg2.build = build self.db.session.add(pkg2) #print(pkg2.nevra()) build2 = Build() build2.base_package_name = "sample" build2.version = "1" build2.release = "2" build2.epoch = "0" self.db.session.add(build2) pkg3 = Package() pkg3.name = "sample" pkg3.pkgtype = "rpm" pkg3.arch = arch pkg3.build = build2 self.db.session.add(pkg3) #print(pkg3.nevra()) problem = Problem() self.db.session.add(problem) opsys = OpSys() opsys.name = "Fedora" self.db.session.add(opsys) opsys_component = OpSysComponent() opsys_component.name = "core" opsys_component.opsys = opsys self.db.session.add(opsys_component) report = Report() report.type = "type" report.count = 2 report.problem = problem report.component = opsys_component self.db.session.add(report) report_unknown = ReportUnknownPackage() report_unknown.report = report report_unknown.name = pkg.name report_unknown.epoch = pkg.build.epoch report_unknown.version = pkg.build.version report_unknown.release = pkg.build.release report_unknown.arch = pkg.arch report_unknown.count = 1 self.db.session.add(report_unknown) report_unknown2 = ReportUnknownPackage() report_unknown2.report = report report_unknown2.name = pkg2.name report_unknown2.epoch = pkg2.build.epoch report_unknown2.version = pkg2.build.version report_unknown2.release = pkg2.build.release report_unknown2.arch = pkg2.arch report_unknown2.count = 1 self.db.session.add(report_unknown2) report_unknown3 = ReportUnknownPackage() report_unknown3.report = report report_unknown3.name = "nonsense" report_unknown3.epoch = pkg.build.epoch report_unknown3.version = pkg.build.version report_unknown3.release = pkg.build.release report_unknown3.arch = pkg.arch report_unknown3.count = 1 self.db.session.add(report_unknown3) self.db.session.flush() packages_and_their_reports_unknown_packages = \ get_packages_and_their_reports_unknown_packages(self.db).all() self.assertEqual(len(packages_and_their_reports_unknown_packages), 2) self.assertIn((pkg, report_unknown), packages_and_their_reports_unknown_packages) self.assertIn((pkg2, report_unknown2), packages_and_their_reports_unknown_packages)
def setUp(self): super(MPFTestCase, self).setUp() self.basic_fixtures() # Fixed problem 1 problem = Problem() self.db.session.add(problem) report = Report() report.type = "type" report.count = 2 report.problem = problem report.component = self.comp_systemd self.db.session.add(report) with open("sample_reports/ureport_systemd2", "r") as file: self.ureport_systemd2 = json.load(file) with open("sample_reports/ureport_systemd77", "r") as file: self.ureport_systemd77 = json.load(file) problemplugin = problemtypes[self.ureport_systemd2["problem"]["type"]] report_hash = problemplugin.hash_ureport( self.ureport_systemd2["problem"]) db_hash = ReportHash() db_hash.hash = report_hash db_hash.report = report self.db.session.add(db_hash) report_unknown = ReportUnknownPackage() report_unknown.report = report report_unknown.name = "systemd-test" report_unknown.epoch = 0 report_unknown.version = 2 report_unknown.release = 1 report_unknown.semver = "2.0.0" report_unknown.semrel = "1.0.0" report_unknown.arch = self.arch_i686 report_unknown.count = 1 report_unknown.type = "CRASHED" self.db.session.add(report_unknown) report_unknown = ReportUnknownPackage() report_unknown.report = report report_unknown.name = "faf" report_unknown.epoch = 0 report_unknown.version = 1 report_unknown.release = 1 report_unknown.semver = "1.0.0" report_unknown.semrel = "1.0.0" report_unknown.arch = self.arch_i686 report_unknown.count = 1 report_unknown.type = "RELATED" self.db.session.add(report_unknown) report_osr = ReportOpSysRelease() report_osr.count = 77 report_osr.opsysrelease = self.release_20 report_osr.report = report self.db.session.add(report_osr) report_osr = ReportOpSysRelease() report_osr.count = 77 report_osr.opsysrelease = self.release_19 report_osr.report = report self.db.session.add(report_osr) self.problem_fixed1 = problem # Fixed problem 2 problem = Problem() self.db.session.add(problem) report = Report() report.type = "type" report.count = 2 report.problem = problem report.component = self.comp_faf self.db.session.add(report) build = Build() build.base_package_name = "faf" build.epoch = 0 build.version = "3.4" build.release = "5" self.db.session.add(build) pkg = Package() pkg.build = build pkg.arch = self.arch_i686 pkg.name = "faf-test" self.db.session.add(pkg) rpkg = ReportPackage() rpkg.report = report rpkg.type = "CRASHED" rpkg.installed_package = pkg rpkg.count = 66 self.db.session.add(rpkg) report_osr = ReportOpSysRelease() report_osr.count = 77 report_osr.opsysrelease = self.release_20 report_osr.report = report self.db.session.add(report_osr) self.problem_fixed2 = problem # Unfixed problem 1 problem = Problem() self.db.session.add(problem) report = Report() report.type = "type" report.count = 2 report.problem = problem report.component = self.comp_systemd self.db.session.add(report) report_unknown = ReportUnknownPackage() report_unknown.report = report report_unknown.name = "systemd" report_unknown.epoch = 0 report_unknown.version = 3 report_unknown.release = 1 report_unknown.semver = "3.0.0" report_unknown.semrel = "1.0.0" report_unknown.arch = self.arch_i686 report_unknown.count = 1 report_unknown.type = "CRASHED" self.db.session.add(report_unknown) report_osr = ReportOpSysRelease() report_osr.count = 77 report_osr.opsysrelease = self.release_20 report_osr.report = report self.db.session.add(report_osr) self.problem_unfixed1 = problem # Unfixed problem 2 problem = Problem() self.db.session.add(problem) report = Report() report.type = "type" report.count = 2 report.problem = problem report.component = self.comp_systemd self.db.session.add(report) report_unknown = ReportUnknownPackage() report_unknown.report = report report_unknown.name = "systemd" report_unknown.epoch = 0 report_unknown.version = 3 report_unknown.release = 0 report_unknown.semver = "3.0.0" report_unknown.semrel = "0.0.0" report_unknown.arch = self.arch_i686 report_unknown.count = 1 report_unknown.type = "CRASHED" self.db.session.add(report_unknown) report_osr = ReportOpSysRelease() report_osr.count = 77 report_osr.opsysrelease = self.release_20 report_osr.report = report self.db.session.add(report_osr) self.problem_unfixed2 = problem # Unfixed problem 3 problem = Problem() self.db.session.add(problem) report = Report() report.type = "type" report.count = 2 report.problem = problem report.component = self.comp_faf self.db.session.add(report) build = Build() build.base_package_name = "faf" build.epoch = 0 build.version = "3.110" build.release = "5" self.db.session.add(build) pkg = Package() pkg.build = build pkg.arch = self.arch_i686 pkg.name = "faf-test" self.db.session.add(pkg) rpkg = ReportPackage() rpkg.report = report rpkg.type = "CRASHED" rpkg.installed_package = pkg rpkg.count = 66 self.db.session.add(rpkg) report_osr = ReportOpSysRelease() report_osr.count = 77 report_osr.opsysrelease = self.release_20 report_osr.report = report self.db.session.add(report_osr) self.problem_unfixed3 = problem self.db.session.flush() systems['fedora'].get_released_builds = get_released_builds_mock systems['fedora'].build_aging_days = 7
def test_get_packages_and_their_reports_unknown_packages(self): """ """ # add required stuff to db arch = Arch() arch.name = "noarch" self.db.session.add(arch) arch1 = Arch() arch1.name = "x86_64" self.db.session.add(arch1) build = Build() build.base_package_name = "sample" build.version = "1" build.release = "1" build.epoch = "0" self.db.session.add(build) pkg = Package() pkg.name = "sample" pkg.pkgtype = "rpm" pkg.arch = arch pkg.build = build self.db.session.add(pkg) #print(pkg.nevra()) #different arch pkg2 = Package() pkg2.name = "sample" pkg2.pkgtype = "rpm" pkg2.arch = arch1 pkg2.build = build self.db.session.add(pkg2) #print(pkg2.nevra()) build2 = Build() build2.base_package_name = "sample" build2.version = "1" build2.release = "2" build2.epoch = "0" self.db.session.add(build2) pkg3 = Package() pkg3.name = "sample" pkg3.pkgtype = "rpm" pkg3.arch = arch pkg3.build = build2 self.db.session.add(pkg3) #print(pkg3.nevra()) problem = Problem() self.db.session.add(problem) opsys = OpSys() opsys.name = "Fedora" self.db.session.add(opsys) opsys_component = OpSysComponent() opsys_component.name = "core" opsys_component.opsys = opsys self.db.session.add(opsys_component) report = Report() report.type = "type" report.count = 2 report.problem = problem report.component = opsys_component self.db.session.add(report) report_unknown = ReportUnknownPackage() report_unknown.report = report report_unknown.name = pkg.name report_unknown.epoch = pkg.build.epoch report_unknown.version = pkg.build.version report_unknown.release = pkg.build.release report_unknown.arch = pkg.arch report_unknown.count = 1 self.db.session.add(report_unknown) report_unknown2 = ReportUnknownPackage() report_unknown2.report = report report_unknown2.name = pkg2.name report_unknown2.epoch = pkg2.build.epoch report_unknown2.version = pkg2.build.version report_unknown2.release = pkg2.build.release report_unknown2.arch = pkg2.arch report_unknown2.count = 1 self.db.session.add(report_unknown2) report_unknown3 = ReportUnknownPackage() report_unknown3.report = report report_unknown3.name = "nonsense" report_unknown3.epoch = pkg.build.epoch report_unknown3.version = pkg.build.version report_unknown3.release = pkg.build.release report_unknown3.arch = pkg.arch report_unknown3.count = 1 self.db.session.add(report_unknown3) self.db.session.flush() packages_and_their_reports_unknown_packages = \ get_packages_and_their_reports_unknown_packages(self.db).all() self.assertEqual(len(packages_and_their_reports_unknown_packages), 2) self.assertIn( (pkg, report_unknown), packages_and_their_reports_unknown_packages) self.assertIn( (pkg2, report_unknown2), packages_and_their_reports_unknown_packages)