4 from tests
.baseclass
import *
6 from pykickstart
.version
import *
7 from pykickstart
.errors
import *
8 from pykickstart
.commands
.vnc
import *
9 #from pykickstart.base import *
10 #from pykickstart.options import *
12 def getClassName(cls
):
13 return cls().__class
__.__name
__
15 class StringToVersion_TestCase(CommandTest
):
18 # fail - no version specified
19 self
.assertRaises(KickstartVersionError
, stringToVersion
, "RHEL")
20 self
.assertRaises(KickstartVersionError
, stringToVersion
, "Red Hat Enterprise Linux")
21 self
.assertRaises(KickstartVersionError
, stringToVersion
, "Fedora")
22 self
.assertRaises(KickstartVersionError
, stringToVersion
, "F")
23 self
.assertRaises(KickstartVersionError
, stringToVersion
, "FC")
26 self
.assertRaises(KickstartVersionError
, stringToVersion
, "Fedora Core 1")
27 self
.assertRaises(KickstartVersionError
, stringToVersion
, "Fedora Core 2")
29 # fail - incorrect syntax
30 self
.assertRaises(KickstartVersionError
, stringToVersion
, "FC7")
31 self
.assertRaises(KickstartVersionError
, stringToVersion
, "FC8")
32 self
.assertRaises(KickstartVersionError
, stringToVersion
, "FC9")
33 self
.assertRaises(KickstartVersionError
, stringToVersion
, "FC10")
34 self
.assertRaises(KickstartVersionError
, stringToVersion
, "FC11")
35 self
.assertRaises(KickstartVersionError
, stringToVersion
, "F1111")
36 self
.assertRaises(KickstartVersionError
, stringToVersion
, "F 11")
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
)
74 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux 3"), RHEL3
)
75 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux AS 3"), RHEL3
)
76 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux ES 3"), RHEL3
)
77 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux WS 3"), RHEL3
)
78 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux Desktop 3"), RHEL3
)
79 self
.assertEqual(stringToVersion("RHEL3"), RHEL3
)
82 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux 4"), RHEL4
)
83 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux AS 4"), RHEL4
)
84 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux ES 4"), RHEL4
)
85 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux WS 4"), RHEL4
)
86 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux Desktop 4"), RHEL4
)
87 self
.assertEqual(stringToVersion("RHEL4"), RHEL4
)
90 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux 5"), RHEL5
)
91 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux Client 5"), RHEL5
)
92 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux Server 5"), RHEL5
)
93 for MINOR
in range(1,10):
94 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux 5.%s" % MINOR
), RHEL5
)
95 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux Client 5.%s" % MINOR
), RHEL5
)
96 self
.assertEqual(stringToVersion("Red Hat Enterprise Linux Server 5.%s" % MINOR
), RHEL5
)
97 self
.assertEqual(stringToVersion("RHEL5"), RHEL5
)
99 class VersionToString_TestCase(CommandTest
):
102 # Make sure DEVEL is the highest version
104 for (ver_str
,ver_num
) in versionMap
.items():
105 highest
= max(ver_num
, highest
)
106 self
.assertEqual(highest
, DEVEL
)
109 self
.assertEqual(versionToString(FC3
), "FC3")
110 self
.assertEqual(versionToString(FC4
), "FC4")
111 self
.assertEqual(versionToString(FC5
), "FC5")
112 self
.assertEqual(versionToString(FC6
), "FC6")
114 self
.assertEqual(versionToString(F7
), "F7")
115 self
.assertEqual(versionToString(F8
), "F8")
116 self
.assertEqual(versionToString(F9
), "F9")
117 self
.assertEqual(versionToString(F10
), "F10")
118 self
.assertEqual(versionToString(F10
, skipDevel
=True), "F10")
119 self
.assertEqual(versionToString(F10
, skipDevel
=False), "F10")
120 self
.assertEqual(versionToString(F11
, skipDevel
=True), "F11")
121 self
.assertEqual(versionToString(F11
, skipDevel
=False), "F11")
122 self
.assertEqual(versionToString(F12
, skipDevel
=True), "F12")
123 self
.assertEqual(versionToString(F12
, skipDevel
=False), "DEVEL")
125 self
.assertEqual(versionToString(RHEL3
), "RHEL3")
126 self
.assertEqual(versionToString(RHEL4
), "RHEL4")
127 self
.assertEqual(versionToString(RHEL5
), "RHEL5")
129 class returnClassForVersion_TestCase(CommandTest
):
133 import pykickstart
.handlers
134 for module
in loadModules(pykickstart
.handlers
.__path
__[0], cls_pattern
="Handler", skip_list
=["control"]):
135 if module
.__name
__.endswith("Handler") and module
.__name
__ not in ["BaseHandler"]:
136 # What is the version of the handler?
137 vers
= module
.__name
__.replace("Handler","")
138 self
.assertTrue(versionMap
.has_key(vers
))
139 # Ensure that returnClassForVersion returns what we expect
140 self
.assertEqual(getClassName(returnClassForVersion(versionMap
[vers
])), getClassName(module
))
142 # TODO - versionFromFile
144 class versionFromFile_TestCase(CommandTest
):
147 def write_ks_cfg(buf
):
148 (fd
, name
) = tempfile
.mkstemp(prefix
="ks-", suffix
=".cfg", dir="/tmp")
153 # no version specified
155 # This is a sample kickstart file
159 ks_cfg
= write_ks_cfg(ks_cfg
)
160 self
.assertEqual(versionFromFile(ks_cfg
), DEVEL
)
163 # proper format ... DEVEL
165 # This is a sample kickstart file
170 ks_cfg
= write_ks_cfg(ks_cfg
)
171 self
.assertEqual(versionFromFile(ks_cfg
), DEVEL
)
174 # proper format ... RHEL3
176 # This is a sample kickstart file
181 ks_cfg
= write_ks_cfg(ks_cfg
)
182 self
.assertEqual(versionFromFile(ks_cfg
), RHEL3
)
185 # improper format ... fallback to DEVEL
187 # This is a sample kickstart file
192 ks_cfg
= write_ks_cfg(ks_cfg
)
193 self
.assertEqual(versionFromFile(ks_cfg
), DEVEL
)
196 # unknown version specified ... raise exception
198 # This is a sample kickstart file
203 ks_cfg
= write_ks_cfg(ks_cfg
)
204 self
.assertRaises(KickstartVersionError
, versionFromFile
, ks_cfg
)
207 if __name__
== "__main__":