From c3d60f95517f41e6568fcdda9399d2f0c2fcdfa2 Mon Sep 17 00:00:00 2001 From: Pat Riehecky Date: Mar 20 2019 18:17:42 +0000 Subject: Update for 2.0 schema support --- diff --git a/docs/README b/docs/README index f91f3f0..cff292e 100644 --- a/docs/README +++ b/docs/README @@ -132,4 +132,10 @@ Each Update Entry object has a reference store you can look in: Each object has its 'help' information filled out in detail. Please review that documentation as it will help clarify how things fit together. +== References == + +https://github.com/fedora-infra/bodhi/blob/develop/bodhi/server/metadata.py#L205 +https://github.com/rpm-software-management/hawkey/blob/master/src/sack.c#L1048 + + // vim: set syntax=asciidoc: diff --git a/docs/updateinfo.xsd b/docs/updateinfo.xsd index d12d4b1..0dcbbf3 100644 --- a/docs/updateinfo.xsd +++ b/docs/updateinfo.xsd @@ -31,6 +31,7 @@ This xsd was built from public versions of updateinfo.xml. In particular the Fedora and OpenSUSE files were used as a reference. They were listed as version=1 and version=1.4 so consider this a unity of them both. + With Fedora 29 there is now a version=2.0 from Bodhi. @@ -127,7 +128,10 @@ Is it a security update? Is it a new package you've never had before? + PackageKit recognizes all of these values. + Please don't use all of these pick a subset and stick with them. + The suggested set is as follows: enhancement, bugfix, security, and newpackage @@ -149,7 +153,7 @@ - Right now only version '1' and '1.4' are in the wild. + Right now only version '1', '1.4', and 2.0 are in the wild. The differences between them are as yet unknown. @@ -182,8 +186,8 @@ The 'title' is supposed to be very short. The 'description' should leave nothing out. This is the ground between. Think of it like an - abstract to a research paper. What do I need to know that you can't - fit within the title. + abstract to a research paper. + What do I need to know that you can't fit within the title? @@ -281,9 +285,8 @@ - Please give a nice SHORT human title for this update. Try and keep it - under 65 chars, it is simpler to read that way due to how yum formates - its output within an 80 column terminal. + Please give a nice SHORT human title for this update. + If you keep it under 65 chars, it looks nice in an 80 column terminal. @@ -302,14 +305,12 @@ - For security updates only. Please rate the severity of the problem. - - A value of '' is in the wild, but DON'T DO THAT! + Please rate the severity of the problem. - + diff --git a/updateinfo/helpers/tests.py b/updateinfo/helpers/tests.py index 45c645f..673a45d 100644 --- a/updateinfo/helpers/tests.py +++ b/updateinfo/helpers/tests.py @@ -861,7 +861,7 @@ class HelperRepoTests(unittest.TestCase): shutil.rmtree(tmpdir) - expected = '''1<description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update><update from="me@example.com" status="final" type="security" version="1.4"><id>2</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="iop"><name>qwe</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://2" id="2" title="Jkl" type="self" /></references></update></updates>''' + expected = '''<updates><update from="me@example.com" status="stable" type="security" version="2.0"><id>1</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update><update from="me@example.com" status="final" type="security" version="2.0"><id>2</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="iop"><name>qwe</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://2" id="2" title="Jkl" type="self" /></references></update></updates>''' result = False if txt == expected: # pragma: no cover result = True @@ -882,7 +882,7 @@ class HelperRepoTests(unittest.TestCase): shutil.rmtree(tmpdir) - expected = '''<updates><update from="me@example.com" status="stable" type="security" version="1.4"><id>1</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update><update from="me@example.com" status="final" type="security" version="1.4"><id>2</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="iop"><name>qwe</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://2" id="2" title="Jkl" type="self" /></references></update></updates>''' + expected = '''<updates><update from="me@example.com" status="stable" type="security" version="2.0"><id>1</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update><update from="me@example.com" status="final" type="security" version="2.0"><id>2</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="iop"><name>qwe</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://2" id="2" title="Jkl" type="self" /></references></update></updates>''' result = False if txt == expected: # pragma: no cover result = True @@ -1291,7 +1291,7 @@ class HelperXMLToolsTests(unittest.TestCase): xml_pretty_formatter(mytree, _ws=' ') expected = '''<updates> - <update from="me@example.com" status="stable" type="security" version="1.4"> + <update from="me@example.com" status="stable" type="security" version="2.0"> <id>1</id> <title /> <description /> @@ -1312,7 +1312,7 @@ class HelperXMLToolsTests(unittest.TestCase): <reference href="http://1" id="1" title="Asdf" type="bugzilla" /> </references> </update> - <update from="me@example.com" status="final" type="security" version="1.4"> + <update from="me@example.com" status="final" type="security" version="2.0"> <id>2</id> <title /> <description /> @@ -1348,7 +1348,7 @@ class HelperXMLToolsTests(unittest.TestCase): xml_pretty_formatter(mytree, _ws=' ') expected = '''<updates> - <update from="me@example.com" status="stable" type="security" version="1.4"> + <update from="me@example.com" status="stable" type="security" version="2.0"> <id>1</id> <title /> <description /> @@ -1369,7 +1369,7 @@ class HelperXMLToolsTests(unittest.TestCase): <reference href="http://1" id="1" title="Asdf" type="bugzilla" /> </references> </update> - <update from="me@example.com" status="final" type="security" version="1.4"> + <update from="me@example.com" status="final" type="security" version="2.0"> <id>2</id> <title /> <description /> @@ -1450,9 +1450,9 @@ class HelperXMLToolsTests(unittest.TestCase): tree = add_comment('test', tree) txt = xmletree.tostring(tree).rstrip() - expected = '''<updates><!-- test --><update from="me@example.com" status="stable" type="security" version="1.4"><id>1</id><title /><description /><issued date="1969-12-31 18:00:00" /><reboot_suggested>true</reboot_suggested><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update><update from="me@example.com" status="final" type="security" version="1.4"><id>2</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="iop"><name>qwe</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://2" id="2" title="Jkl" type="self" /></references></update></updates>''' + expected = '''<updates><!-- test --><update from="me@example.com" status="stable" type="security" version="2.0"><id>1</id><title /><description /><issued date="1969-12-31 18:00:00" /><reboot_suggested>true</reboot_suggested><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update><update from="me@example.com" status="final" type="security" version="2.0"><id>2</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="iop"><name>qwe</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://2" id="2" title="Jkl" type="self" /></references></update></updates>''' - ok_too = '''<updates><!--test--><update from="me@example.com" status="stable" type="security" version="1.4"><id>1</id><title /><description /><issued date="1969-12-31 18:00:00" /><reboot_suggested>true</reboot_suggested><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update><update from="me@example.com" status="final" type="security" version="1.4"><id>2</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="iop"><name>qwe</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://2" id="2" title="Jkl" type="self" /></references></update></updates>''' + ok_too = '''<updates><!--test--><update from="me@example.com" status="stable" type="security" version="2.0"><id>1</id><title /><description /><issued date="1969-12-31 18:00:00" /><reboot_suggested>true</reboot_suggested><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update><update from="me@example.com" status="final" type="security" version="2.0"><id>2</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="iop"><name>qwe</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://2" id="2" title="Jkl" type="self" /></references></update></updates>''' result = False if txt == expected or txt == ok_too: # pragma: no cover @@ -1485,9 +1485,9 @@ class HelperXMLToolsTests(unittest.TestCase): txtfile.close() txt = xmletree.tostring(tree).rstrip() - expected = '''<updates><!--test--><update from="me@example.com" status="stable" type="security" version="1.4"><id>1</id><title /><description /><issued date="1969-12-31 18:00:00" /><reboot_suggested>true</reboot_suggested><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update><update from="me@example.com" status="final" type="security" version="1.4"><id>2</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="iop"><name>qwe</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://2" id="2" title="Jkl" type="self" /></references></update></updates>''' + expected = '''<updates><!--test--><update from="me@example.com" status="stable" type="security" version="2.0"><id>1</id><title /><description /><issued date="1969-12-31 18:00:00" /><reboot_suggested>true</reboot_suggested><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update><update from="me@example.com" status="final" type="security" version="2.0"><id>2</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="iop"><name>qwe</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://2" id="2" title="Jkl" type="self" /></references></update></updates>''' - ok_too = '''<updates><!-- test --><update from="me@example.com" status="stable" type="security" version="1.4"><id>1</id><title /><description /><issued date="1969-12-31 18:00:00" /><reboot_suggested>true</reboot_suggested><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update><update from="me@example.com" status="final" type="security" version="1.4"><id>2</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="iop"><name>qwe</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://2" id="2" title="Jkl" type="self" /></references></update></updates>''' + ok_too = '''<updates><!-- test --><update from="me@example.com" status="stable" type="security" version="2.0"><id>1</id><title /><description /><issued date="1969-12-31 18:00:00" /><reboot_suggested>true</reboot_suggested><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update><update from="me@example.com" status="final" type="security" version="2.0"><id>2</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="iop"><name>qwe</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://2" id="2" title="Jkl" type="self" /></references></update></updates>''' result = False if txt == expected or txt == ok_too: # pragma: no cover @@ -1498,7 +1498,7 @@ class HelperXMLToolsTests(unittest.TestCase): def test_xsd_works_preformed(self): '''Does the XML validate?''' from lxml import etree as lxmletree - txt = '''<updates xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="test"><update from="me@example.com" status="stable" type="security" version="1.4"><id>1</id><issued date="1969-12-31 18:00:00" /><reboot_suggested>true</reboot_suggested><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package epoch="1" arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update></updates>''' + txt = '''<updates xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="test"><update from="me@example.com" status="stable" type="security" version="2.0"><id>1</id><issued date="1969-12-31 18:00:00" /><reboot_suggested>true</reboot_suggested><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package epoch="1" arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update></updates>''' result = False try: diff --git a/updateinfo/update/models.py b/updateinfo/update/models.py index e3e87ca..7432080 100644 --- a/updateinfo/update/models.py +++ b/updateinfo/update/models.py @@ -67,7 +67,7 @@ class UpdateModel(object): self._collections = self.CollectionStore(parent=self) self._references = self.ReferenceStore(parent=self) - self.schemaversion = '1.4' + self.schemaversion = '2.0' self.reboot_suggested = False self.relogin_suggested = False self.restart_suggested = False diff --git a/updateinfo/update/tests.py b/updateinfo/update/tests.py index 3998a6c..c8ae3c4 100644 --- a/updateinfo/update/tests.py +++ b/updateinfo/update/tests.py @@ -2555,7 +2555,6 @@ class UpdateModelTests(unittest.TestCase): result = True self.assertTrue(result, msg="Seems I can't set the type") - def test_get_severity(self): '''Make sure we can read the severity''' testentry = self.Update() @@ -2656,6 +2655,24 @@ class UpdateModelTests(unittest.TestCase): result = True self.assertTrue(result, msg="Seems I can't set the severity") + def test_set_severity_low_bugfix(self): + '''Make sure we can set the severity''' + testentry = self.Update() + testentry.status = 'stable' + testentry.updatefrom = 'me@example.com' + testentry.updatetype = 'bugfix' + testentry.updateid = '1' + testentry.issued_date = 0 + testentry.collections.add(self.coll_one_for_test()) + + testentry.severity = 'low' + + result = False + if testentry.severity == 'low': # pragma: no cover + result = True + self.assertTrue(result, msg="Seems I can't set the severity") + + def test_set_severity_low_cap(self): '''Make sure we can set the severity''' testentry = self.Update() @@ -3190,7 +3207,7 @@ class UpdateXMLViewTests(UpdateModelTests): testentry.issued_date = '1969-12-31 18:00:00' testentry.collections.add(self.coll_one_for_test()) - text = '''<update from="me@example.com" status="stable" type="security" version="1.4"> + text = '''<update from="me@example.com" status="stable" type="security" version="2.0"> <id>1</id> <title /> <description /> @@ -3228,7 +3245,7 @@ class UpdateXMLViewTests(UpdateModelTests): testentry.issued_date = '1969-12-31 18:00:00' testentry.collections.add(self.coll_one_for_test()) - text = '''<update from="me@example.com" status="stable" type="security" version="1.4"><id>1</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename><sum type="md5">d41d8cd98f00b204e9800998ecf8427e</sum><sum type="sha">da39a3ee5e6b4b0d3255bfef95601890afd80709</sum></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references /></update>''' + text = '''<update from="me@example.com" status="stable" type="security" version="2.0"><id>1</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename><sum type="md5">d41d8cd98f00b204e9800998ecf8427e</sum><sum type="sha">da39a3ee5e6b4b0d3255bfef95601890afd80709</sum></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references /></update>''' result = False if testentry.xml == text: # pragma: no cover @@ -3307,6 +3324,36 @@ class UpdateXMLViewTests(UpdateModelTests): self.assertTrue(result, msg="Seems I can't get raw xml") + def test_get_xml_e(self): + '''get raw xml''' + testentry = self.Update() + testentry.status = 'stable' + testentry.updatefrom = 'me@example.com' + testentry.updatetype = 'bugfix' + testentry.schemaversion = '1' + testentry.updateid = '1' + testentry.description = 'text' + testentry.rights = 'exist' + testentry.solution = 'solved' + testentry.severity = 'moderate' + testentry.summary = 'a summary' + testentry.title = 'a title' + testentry.releasetitle = 'release title' + testentry.reboot_suggested = True + testentry.restart_suggested = True + testentry.relogin_suggested = True + testentry.collections.add(self.coll_one_for_test()) + testentry.references.add(self.ref_one_for_test()) + + text = '''<update from="me@example.com" status="stable" type="bugfix" version="1"><id>1</id><title>A Titletextmoderatea summaryexistsolvedRelease Titletruetruetruejklaaasdf-jkl-gh.noarch.rpmd41d8cd98f00b204e9800998ecf8427eda39a3ee5e6b4b0d3255bfef95601890afd80709asdf-jkl-gh.src.rpm''' + + result = False + if testentry.xml == text: # pragma: no cover + result = True + + self.assertTrue(result, msg="Seems I can't get raw xml") + + def test_set_xml_none(self): '''Set xml when empty''' testentry = self.Update() @@ -3316,7 +3363,7 @@ class UpdateXMLViewTests(UpdateModelTests): '''set from raw xml''' testentry = self.Update() - text = '1<description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references /></update>' + text = '<update from="me@example.com" status="stable" type="security" version="2.0"><id>1</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references /></update>' testentry.xml = text @@ -3329,7 +3376,7 @@ class UpdateXMLViewTests(UpdateModelTests): '''set from raw xml''' testentry = self.Update() - text = '<update from="me@example.com" status="stable" type="security" version="1.4"><id>1</id><title>A Titletextcriticala summaryexistsolvedRelease Titletruetruetruejklaaasdf-jkl-gh.noarch.rpmasdf-jkl-gh.src.rpm' + text = '1A Titletextcriticala summaryexistsolvedRelease Titletruetruetruejklaaasdf-jkl-gh.noarch.rpmasdf-jkl-gh.src.rpm' testentry.xml = text result = False @@ -3342,30 +3389,31 @@ class UpdateXMLViewTests(UpdateModelTests): '''set from raw xml''' testentry = self.Update() - text = '' + text = 'falsefalsefalse' testentry.xml = text result = False - if testentry.xml == '<description /><pkglist /><references /></update>': # pragma: no cover + if testentry.xml == '<update version="2.0"><id /><title /><description /><pkglist /><references /></update>': # pragma: no cover result = True self.assertTrue(result, msg="Seems I can't set from raw xml") - def test_set_xml_d(self): + def test_set_xml_nil(self): '''set from raw xml''' testentry = self.Update() - text = '<update version="1.4"><id /><pkglist /><references /><reboot_suggested>false</reboot_suggested><restart_suggested>false</restart_suggested><relogin_suggested>false</relogin_suggested></update>' + text = '<update />' testentry.xml = text result = False - if testentry.xml == '<update version="1.4"><id /><title /><description /><pkglist /><references /></update>': # pragma: no cover + if testentry.xml == '<update version="2.0"><id /><title /><description /><pkglist /><references /></update>': # pragma: no cover result = True self.assertTrue(result, msg="Seems I can't set from raw xml") + def test_get_xmlobj(self): '''can I get an xmletree object''' testentry = self.Update() @@ -3462,7 +3510,7 @@ class UpdateXMLViewTests(UpdateModelTests): testentry.restart_suggested = True testentry.relogin_suggested = True - text = '''<update from="me@example.com" status="stable" type="security" version="1.4"><id>1</id><title>AsdfdescriptionimportantsummaryrightssolutionRelease Titletruetruetruejklaaasdf-jkl-gh.noarch.rpmd41d8cd98f00b204e9800998ecf8427eda39a3ee5e6b4b0d3255bfef95601890afd80709asdf-jkl-gh.src.rpm''' + text = '''1AsdfdescriptionimportantsummaryrightssolutionRelease Titletruetruetruejklaaasdf-jkl-gh.noarch.rpmd41d8cd98f00b204e9800998ecf8427eda39a3ee5e6b4b0d3255bfef95601890afd80709asdf-jkl-gh.src.rpm''' result = False if testentry.xml == text: # pragma: no cover @@ -3757,7 +3805,7 @@ rights: exist self.assertTrue(result, msg="Seems I can't set from YAML") - def test_get_yaml_c(self): + def test_get_yaml_nil(self): '''Can I get YAML?''' testentry = self.Update() @@ -3769,7 +3817,7 @@ rights: exist self.assertTrue(result, msg="Seems I can't get YAML") - def test_set_yaml_c(self): + def test_set_yaml_nil(self): '''Can I set from YAML?''' testentry = self.Update() @@ -3848,7 +3896,7 @@ class UpdateJSONViewTests(UpdateModelTests): result = True self.assertTrue(result, msg="Seems I can't set from JSON") - def test_get_json_b(self): + def test_get_json_nil(self): '''Can I get JSON?''' testentry = self.Update() @@ -3859,7 +3907,7 @@ class UpdateJSONViewTests(UpdateModelTests): self.assertTrue(result, msg="Seems I can't get JSON") - def test_set_json_b(self): + def test_set_json_nil(self): '''Can I set from JSON?''' testentry = self.Update() diff --git a/updateinfo/updateinfo/events.py b/updateinfo/updateinfo/events.py index d70d037..913bf35 100644 --- a/updateinfo/updateinfo/events.py +++ b/updateinfo/updateinfo/events.py @@ -205,7 +205,7 @@ class UpdateinfoEvents(object): description, severity, releasetitle, summary, rights, solution, update_date=None, reboot_suggested=False, restart_suggested=False, relogin_suggested=False, - schemaversion='1.4', merge=True): + schemaversion='2.0', merge=True): ''' A rather dirty way of adding a new Update without creating the object first. diff --git a/updateinfo/updateinfo/tests.py b/updateinfo/updateinfo/tests.py index f8fec6e..eb0a54f 100644 --- a/updateinfo/updateinfo/tests.py +++ b/updateinfo/updateinfo/tests.py @@ -956,7 +956,7 @@ class UpdateinfoEventsTests(UpdateinfoModelTests): testobj = self.Updateinfo() testobj.create('1', 'from', 'final', 'enhancement', 'title', '1969-12-31 18:00:00', 'asdf', 'Important', 'rtitle', 'sum', 'righton', 'solved') - txt = '''1TitleasdfimportantsumrightonsolvedRtitle''' + txt = '''1TitleasdfimportantsumrightonsolvedRtitle''' result = False if testobj['1'].xml == txt: # pragma: no cover result = True @@ -1071,7 +1071,7 @@ class UpdateinfoXMLViewTests(UpdateinfoModelTests): testobj.add(self.entry_one_for_test()) text = ''' - + 1 <description /> @@ -1103,7 +1103,7 @@ class UpdateinfoXMLViewTests(UpdateinfoModelTests): testobj = self.Updateinfo() testobj.add(self.entry_one_for_test()) - text = '''<updates><update from="me@example.com" status="stable" type="security" version="1.4"><id>1</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update></updates>''' + text = '''<updates><update from="me@example.com" status="stable" type="security" version="2.0"><id>1</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update></updates>''' result = False if testobj.xml == text: # pragma: no cover @@ -1117,7 +1117,7 @@ class UpdateinfoXMLViewTests(UpdateinfoModelTests): testobj.xsluri = 'test' text = '''<?xml-stylesheet type="text/xsl" href="test"?> -<updates><update from="me@example.com" status="stable" type="security" version="1.4"><id>1</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update></updates>''' +<updates><update from="me@example.com" status="stable" type="security" version="2.0"><id>1</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update></updates>''' result = False if testobj.xml == text: # pragma: no cover @@ -1133,7 +1133,7 @@ class UpdateinfoXMLViewTests(UpdateinfoModelTests): text = '''<?xml-stylesheet type="text/xsl" href="test"?> <updates> - <update from="me@example.com" status="stable" type="security" version="1.4"> + <update from="me@example.com" status="stable" type="security" version="2.0"> <id>1</id> <title /> <description /> @@ -1169,7 +1169,7 @@ class UpdateinfoXMLViewTests(UpdateinfoModelTests): testobj.add(self.entry_one_for_test()) testobj.xsduri = 'test' - text = '''<updates xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="test"><update from="me@example.com" status="stable" type="security" version="1.4"><id>1</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update></updates>''' + text = '''<updates xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="test"><update from="me@example.com" status="stable" type="security" version="2.0"><id>1</id><title /><description /><issued date="1969-12-31 18:00:00" /><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update></updates>''' result = False if testobj.xml == text: # pragma: no cover @@ -1186,7 +1186,7 @@ class UpdateinfoXMLViewTests(UpdateinfoModelTests): '''Can I set from the raw xml''' testobj = self.Updateinfo() - text = '''<updates><update from="me@example.com" status="stable" type="security" version="1.4"><id>1</id><issued date="1969-12-31 18:00:00" /><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update></updates>''' + text = '''<updates><update from="me@example.com" status="stable" type="security" version="2.0"><id>1</id><issued date="1969-12-31 18:00:00" /><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update></updates>''' testobj.xml = text @@ -1291,7 +1291,7 @@ class UpdateinfoXMLViewTests(UpdateinfoModelTests): '''Can I set from an xml with an xsduri''' testobj = self.Updateinfo() - text = '''<updates xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="test"><update from="me@example.com" status="stable" type="security" version="1.4"><id>1</id><issued date="1969-12-31 18:00:00" /><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update></updates>''' + text = '''<updates xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="test"><update from="me@example.com" status="stable" type="security" version="2.0"><id>1</id><issued date="1969-12-31 18:00:00" /><pkglist><collection short="asdf"><name>jkl</name><package arch="noarch" name="aaasdf" release="gh" version="jkl"><filename>aaasdf-jkl-gh.noarch.rpm</filename></package><package arch="src" name="asdf" release="gh" version="jkl"><filename>asdf-jkl-gh.src.rpm</filename></package></collection></pkglist><references><reference href="http://1" id="1" title="Asdf" type="bugzilla" /></references></update></updates>''' testobj.xml = text