1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
#!/usr/bin/python
import mock
class PackagingTest(mock.TestCase):
def setUp(self):
self.setupModules(["_isys", "logging"])
import pyanaconda
pyanaconda.anaconda_log = mock.Mock()
from pykickstart.version import makeVersion
from pyanaconda.flags import flags
# set some things specially since we're just testing
flags.testing = True
# set up ksdata
self.ksdata = makeVersion()
from pyanaconda.packaging import Payload
self.payload = Payload(self.ksdata)
def tearDown(self):
self.tearDownModules()
#os.system("rm -rf %s" % self.root)
def payload_abstract_test(self):
self.assertRaises(NotImplementedError, self.payload.setup, None)
self.assertRaises(NotImplementedError, self.payload.description, None)
def payload_repo_test(self):
# ksdata repo list initially empty
self.assertEqual(self.payload.data.repo.dataList(), [])
# create and add a new ksdata repo
repo_name = "test1"
repo = self.ksdata.RepoData(name=repo_name, baseurl="http://localhost/")
self.payload.addRepo(repo)
# verify the repo was added
self.assertEqual(self.payload.data.repo.dataList(), [repo])
self.assertEqual(self.payload.getRepo(repo_name), repo)
# remove the repo
self.payload.removeRepo(repo_name)
# verify the repo was removed
self.assertEqual(self.payload.getRepo(repo_name), None)
def payload_group_test(self):
import pykickstart.constants
from pykickstart.parser import Group
# verify that ksdata group lists are initially empty
self.assertEqual(self.payload.data.packages.groupList, [])
self.assertEqual(self.payload.data.packages.excludedGroupList, [])
self.payload.deselectGroup("core")
self.assertEqual(self.payload.groupSelected("core"), False)
# select a group and verify the selection is reflected afterward
self.payload.selectGroup("core", optional=True)
self.assertTrue(self.payload.groupSelected("core"))
# verify the group is not in the excluded group list
self.assertTrue(Group("core") not in self.payload.data.packages.excludedGroupList)
# verify the include (optional/all) is recorded
groups = self.payload.data.packages.groupList
group = groups[[g.name for g in groups].index("core")]
self.assertEqual(group.include, pykickstart.constants.GROUP_ALL)
# select more groups
self.payload.selectGroup("base")
self.payload.selectGroup("development", default=False)
# verify include types for newly selected groups
group = groups[[g.name for g in groups].index("development")]
self.assertEqual(group.include, pykickstart.constants.GROUP_REQUIRED)
group = groups[[g.name for g in groups].index("base")]
self.assertEqual(group.include, pykickstart.constants.GROUP_DEFAULT)
# deselect a group and verify the set of groups is correct afterward
self.payload.deselectGroup("base")
self.assertFalse(self.payload.groupSelected("base"))
self.assertTrue(self.payload.groupSelected("core"))
self.assertTrue(self.payload.groupSelected("development"))
def payload_package_test(self):
# verify that ksdata package lists are initially empty
self.assertEqual(self.payload.data.packages.packageList, [])
self.assertEqual(self.payload.data.packages.excludedList, [])
name = "vim-common"
# deselect a package
self.payload.deselectPackage(name)
|