3 from tests
.baseclass
import *
5 from pykickstart
.version
import *
6 from pykickstart
.errors
import *
7 from pykickstart
.commands
.vnc
import *
10 return cls().__class
__.__name
__
12 class StringToVersion_TestCase(CommandTest
):
15 # fail - no version specified
16 self
.assertRaises(KickstartVersionError
, stringToVersion
, "RHEL")
17 self
.assertRaises(KickstartVersionError
, stringToVersion
, "Red Hat Enterprise Linux")
18 self
.assertRaises(KickstartVersionError
, stringToVersion
, "Fedora")
19 self
.assertRaises(KickstartVersionError
, stringToVersion
, "F")
20 self
.assertRaises(KickstartVersionError
, stringToVersion
, "FC")
23 self
.assertRaises(KickstartVersionError
, stringToVersion
, "Fedora Core 1")
24 self
.assertRaises(KickstartVersionError
, stringToVersion
, "Fedora Core 2")
26 # fail - incorrect syntax
27 self
.assertRaises(KickstartVersionError
, stringToVersion
, "FC7")
28 self
.assertRaises(KickstartVersionError
, stringToVersion
, "FC8")
29 self
.assertRaises(KickstartVersionError
, stringToVersion
, "FC9")
30 self
.assertRaises(KickstartVersionError
, stringToVersion
, "FC10")
31 self
.assertRaises(KickstartVersionError
, stringToVersion
, "FC11")
32 self
.assertRaises(KickstartVersionError
, stringToVersion
, "F1111")
33 self
.assertRaises(KickstartVersionError
, stringToVersion
, "F 11")
35 # fail - doesn't exist
36 self
.assertRaises(KickstartVersionError
, stringToVersion
, "Red hat Enterprise Linux 1")
39 self
.assertEqual(stringToVersion("Fedora Core 3"), FC3
)
40 self
.assertEqual(stringToVersion("FC3"), FC3
)
42 self
.assertEqual(stringToVersion("Fedora Core 4"), FC4
)
43 self
.assertEqual(stringToVersion("FC4"), FC4
)
45 self
.assertEqual(stringToVersion("Fedora Core 5"), FC5
)
46 self
.assertEqual(stringToVersion("FC5"), FC5
)
48 self
.assertEqual(stringToVersion("Fedora Core 6"), FC6
)
49 self
.assertEqual(stringToVersion("FC6"), FC6
)
51 self
.assertEqual(stringToVersion("Fedora Core 7"), F7
)
52 self
.assertEqual(stringToVersion("Fedora 7"), F7
)
53 self
.assertEqual(stringToVersion("F7"), F7
)
55 self
.assertEqual(stringToVersion("Fedora Core 8"), F8
)
56 self
.assertEqual(stringToVersion("Fedora 8"), F8
)
57 self
.assertEqual(stringToVersion("F8"), F8
)
59 self
.assertEqual(stringToVersion("Fedora Core 9"), F9
)
60 self
.assertEqual(stringToVersion("Fedora 9"), F9
)
61 self
.assertEqual(stringToVersion("F9"), F9
)
63 self
.assertEqual(stringToVersion("Fedora Core 10"), F10
)
64 self
.assertEqual(stringToVersion("Fedora 10"), F10
)
65 self
.assertEqual(stringToVersion("F10"), F10
)
67 self
.assertEqual(stringToVersion("Fedora 11"), F11
)
68 self
.assertEqual(stringToVersion("F11"), F11
)
70 self
.assertEqual(stringToVersion("Fedora 12"), F12
)
71 self
.assertEqual(stringToVersion("F12"), F12
)
73 self
.assertEqual(stringToVersion("Fedora 13"), F13
)
74 self
.assertEqual(stringToVersion("F13"), F13
)
76 self
.assertEqual(stringToVersion("Fedora 14"), F14
)
77 self
.assertEqual(stringToVersion("F14"), F14
)
79 self
.assertEqual(stringToVersion("Fedora 15"), F15
)
80 self
.assertEqual(stringToVersion("F15"), F15
)
82 self
.assertEqual(stringToVersion("Fedora 16"), F16
)
83 self
.assertEqual(stringToVersion("F16"), F16
)
85 self
.assertEqual(stringToVersion("Fedora 17"), F17
)
86 self
.assertEqual(stringToVersion("F17"), F17
)
88 self
.assertEqual(stringToVersion("Fedora 18"), F18
)
89 self
.assertEqual(stringToVersion("F18"), F18
)
91 self
.assertEqual(stringToVersion("Fedora 19"), F19
)
92 self
.assertEqual(stringToVersion("F19"), F19
)
94 self
.assertEqual(stringToVersion("Fedora 20"), F20
)
95 self
.assertEqual(stringToVersion("F20"), F20
)
97 self
.assertEqual(stringToVersion("Fedora 21"), F21
)
98 self
.assertEqual(stringToVersion("F21"), F21
)
100 self
.assertEqual(stringToVersion("Fedora 22"), F22
)
101 self
.assertEqual(stringToVersion("F22"), F22
)
104 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux 3"), RHEL3
)
105 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux AS 3"), RHEL3
)
106 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux ES 3"), RHEL3
)
107 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux WS 3"), RHEL3
)
108 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux Desktop 3"), RHEL3
)
109 self
.assertEqual(stringToVersion("RHEL3"), RHEL3
)
112 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux 4"), RHEL4
)
113 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux AS 4"), RHEL4
)
114 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux ES 4"), RHEL4
)
115 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux WS 4"), RHEL4
)
116 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux Desktop 4"), RHEL4
)
117 self
.assertEqual(stringToVersion("RHEL4"), RHEL4
)
120 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux 5"), RHEL5
)
121 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux Client 5"), RHEL5
)
122 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux Server 5"), RHEL5
)
123 for MINOR
in range(1,10):
124 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux 5.%s" % MINOR
), RHEL5
)
125 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux Client 5.%s" % MINOR
), RHEL5
)
126 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux Server 5.%s" % MINOR
), RHEL5
)
127 self
.assertEqual(stringToVersion("RHEL5"), RHEL5
)
130 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux 6"), RHEL6
)
131 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux Client 6"), RHEL6
)
132 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux Server 6"), RHEL6
)
133 for MINOR
in range(1,10):
134 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux 6.%s" % MINOR
), RHEL6
)
135 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux Client 6.%s" % MINOR
), RHEL6
)
136 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux Server 6.%s" % MINOR
), RHEL6
)
137 self
.assertEqual(stringToVersion("RHEL6"), RHEL6
)
140 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux 7"), RHEL7
)
141 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux Client 7"), RHEL7
)
142 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux Server 7"), RHEL7
)
143 for MINOR
in range(1,10):
144 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux 7.%s" % MINOR
), RHEL7
)
145 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux Client 7.%s" % MINOR
), RHEL7
)
146 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux Server 7.%s" % MINOR
), RHEL7
)
147 self
.assertEqual(stringToVersion("RHEL7"), RHEL7
)
149 class VersionToString_TestCase(CommandTest
):
152 # Make sure DEVEL is the highest version, but RHEL versions aren't
155 for (ver_str
,ver_num
) in versionMap
.items():
156 if ver_str
.startswith("RHEL"):
159 highest
= max(ver_num
, highest
)
160 self
.assertEqual(highest
, DEVEL
)
163 self
.assertEqual(versionToString(FC3
), "FC3")
164 self
.assertEqual(versionToString(FC4
), "FC4")
165 self
.assertEqual(versionToString(FC5
), "FC5")
166 self
.assertEqual(versionToString(FC6
), "FC6")
168 self
.assertEqual(versionToString(F7
), "F7")
169 self
.assertEqual(versionToString(F8
), "F8")
170 self
.assertEqual(versionToString(F9
), "F9")
171 self
.assertEqual(versionToString(F10
), "F10")
172 self
.assertEqual(versionToString(F10
, skipDevel
=True), "F10")
173 self
.assertEqual(versionToString(F10
, skipDevel
=False), "F10")
174 self
.assertEqual(versionToString(F11
, skipDevel
=True), "F11")
175 self
.assertEqual(versionToString(F11
, skipDevel
=False), "F11")
176 self
.assertEqual(versionToString(F12
, skipDevel
=True), "F12")
177 self
.assertEqual(versionToString(F13
, skipDevel
=True), "F13")
178 self
.assertEqual(versionToString(F14
, skipDevel
=True), "F14")
179 self
.assertEqual(versionToString(F15
, skipDevel
=True), "F15")
180 self
.assertEqual(versionToString(F16
, skipDevel
=True), "F16")
181 self
.assertEqual(versionToString(F17
, skipDevel
=True), "F17")
182 self
.assertEqual(versionToString(F18
, skipDevel
=True), "F18")
183 self
.assertEqual(versionToString(F19
, skipDevel
=True), "F19")
184 self
.assertEqual(versionToString(F20
, skipDevel
=True), "F20")
185 self
.assertEqual(versionToString(F21
, skipDevel
=True), "F21")
186 self
.assertEqual(versionToString(F22
, skipDevel
=True), "F22")
187 self
.assertEqual(versionToString(F22
, skipDevel
=False), "DEVEL")
189 self
.assertEqual(versionToString(RHEL3
), "RHEL3")
190 self
.assertEqual(versionToString(RHEL4
), "RHEL4")
191 self
.assertEqual(versionToString(RHEL5
), "RHEL5")
192 self
.assertEqual(versionToString(RHEL6
), "RHEL6")
193 self
.assertEqual(versionToString(RHEL7
), "RHEL7")
196 self
.assertRaises(KickstartVersionError
, versionToString
, 47)
198 class returnClassForVersion_TestCase(CommandTest
):
201 # Test that everything in version.versionMap has a handler, except
203 for (name
, vers
) in versionMap
.iteritems():
207 self
.assertEqual(returnClassForVersion(vers
).version
, vers
)
210 import pykickstart
.handlers
211 for module
in loadModules(pykickstart
.handlers
.__path
__[0], cls_pattern
="Handler", skip_list
=["control"]):
212 if module
.__name
__.endswith("Handler") and module
.__name
__ not in ["BaseHandler"]:
213 # What is the version of the handler?
214 vers
= module
.__name
__.replace("Handler","")
215 self
.assertTrue(versionMap
.has_key(vers
))
216 # Ensure that returnClassForVersion returns what we expect
217 self
.assertEqual(getClassName(returnClassForVersion(versionMap
[vers
])), getClassName(module
))
219 class versionFromFile_TestCase(CommandTest
):
222 def write_ks_cfg(buf
):
223 (fd
, name
) = tempfile
.mkstemp(prefix
="ks-", suffix
=".cfg", dir="/tmp")
228 # no version specified
230 # This is a sample kickstart file
234 ks_cfg
= write_ks_cfg(ks_cfg
)
235 self
.assertEqual(versionFromFile(ks_cfg
), DEVEL
)
238 # proper format ... DEVEL
240 # This is a sample kickstart file
245 ks_cfg
= write_ks_cfg(ks_cfg
)
246 self
.assertEqual(versionFromFile(ks_cfg
), DEVEL
)
249 # proper format ... RHEL3
251 # This is a sample kickstart file
256 ks_cfg
= write_ks_cfg(ks_cfg
)
257 self
.assertEqual(versionFromFile(ks_cfg
), RHEL3
)
260 # improper format ... fallback to DEVEL
262 # This is a sample kickstart file
267 ks_cfg
= write_ks_cfg(ks_cfg
)
268 self
.assertEqual(versionFromFile(ks_cfg
), DEVEL
)
271 # unknown version specified ... raise exception
273 # This is a sample kickstart file
278 ks_cfg
= write_ks_cfg(ks_cfg
)
279 self
.assertRaises(KickstartVersionError
, versionFromFile
, ks_cfg
)
282 if __name__
== "__main__":