7
class SmartHelper(object):
9
def set_up(self, test_case):
10
test_case.smart_dir = test_case.make_dir()
11
test_case.repository_dir = test_case.make_dir()
12
create_repository(test_case.repository_dir)
14
def tear_down(self, test_case):
15
if smart.iface.object:
19
class SmartFacadeHelper(SmartHelper):
21
def set_up(self, test_case):
22
super(SmartFacadeHelper, self).set_up(test_case)
24
from landscape.package.facade import SmartFacade
26
class Facade(SmartFacade):
27
repository_dir = test_case.repository_dir
29
def smart_initialized(self):
30
smart.sysconf.set("channels",
31
{"alias": {"type": "deb-dir",
32
"path": test_case.repository_dir}})
34
test_case.Facade = Facade
35
test_case.facade = Facade({"datadir": test_case.smart_dir})
38
PKGNAME1 = "name1_version1-release1_all.deb"
39
PKGNAME2 = "name2_version2-release2_all.deb"
40
PKGNAME3 = "name3_version3-release3_all.deb"
42
HASH1 = base64.decodestring("/ezv4AefpJJ8DuYFSq4RiEHJYP4=")
43
HASH2 = base64.decodestring("glP4DwWOfMULm0AkRXYsH/exehc=")
44
HASH3 = base64.decodestring("NJM05mj86veaSInYxxqL1wahods=")
47
def create_repository(target_dir):
48
filename = os.path.join(target_dir, "Packages.gz")
49
file = open(filename, "w")
50
file.write(base64.decodestring("""
51
H4sICOl+gUUAA1BhY2thZ2VzAL2TTY/TMBCG7/4VOcJhF3vsOHYEiBUrPg6gaitxrfwxKRFNUpyk
52
Uvn1zLZNW2h3uREp0vjNOx8aP5m58MMtscxa16Bgs1R3qR62Zdath7pr3YrNMTxGZfYxdeNasM9t
53
P7jVCuPNvP5FiWDYF1e3A72YyDXS502Xfa2xwS2m7PVyr7xrD8pti8NbdpfC93qg2mOiIlSQfcPU
54
7xpt9oG4SbhC1+/G6jZ1xL7M1odoP+49rrGNJCf8OdYJd2r24s10niq9pAp4c3SvE/6dcJJOOQ8Y
55
uqaZGkzxWY9JOqXMx+US+4ES+kN0tE/Cyfy+a6tVHR7dYQqP9qNy8n+oV7uBy+z21c63uNjUghZ5
56
G9Gz/d0ILul27vN+bMoMKzQSPXhjBVfaSy6dqywYEYRCjWz+6U6UmVfoQwTPlZWcG5ODUzZXGIPk
57
DqSOudBBU12yQ67LrDLWBu8AfGELw6NH6+kxHKrKcuELVBIU5AG0iqEA1N4DD5xrgaoCTbfYh1Sv
58
95TNx6ZxaStYdiYLxmbnoMK/QYX/BypM64cnQIWroMIlqPAsqHAVVHgOVLgKKjwFKlwBFZ4GFa6B
59
CpegwuJiU8+BWhVKEScqWB1UIMZQF1xzwSNhZ/JwALUqrNJGgBSYW3Aiz00RPbHqfCy0k0VEpEx3
60
BJUYrYSyVusAlUY60b8QKgLUOeEj5toYTnQKGSXYPFghLddFkEJHg6iuggp/gAqM/QayJ50UUgUA
65
filename = os.path.join(target_dir, PKGNAME1)
66
file = open(filename, "w")
67
file.write(base64.decodestring("""
68
ITxhcmNoPgpkZWJpYW4tYmluYXJ5ICAgMTE2NjExNDQ5MyAgMCAgICAgMCAgICAgMTAwNjQ0ICA0
69
ICAgICAgICAgYAoyLjAKY29udHJvbC50YXIuZ3ogIDExNjYxMTQ0OTMgIDAgICAgIDAgICAgIDEw
70
MDY0NCAgNDUyICAgICAgIGAKH4sIAAAAAAAAA+3UQW+bMBQHcM58Ch+7QwCbEJpomzat0rTDpmiR
71
enfNC7EGNnuGSOmnnwMlyVK1O6VT1feTkJ+e/wRh40RxcHGJl2dZP3rnY1/zJJsmIs9Fvs/5UQQs
72
C15A51qJjAVobftc7l/zr1QU10XmutpdeP9n0+mT+8+5+Hv/fSOdBiyh/b84MYM1n2fz7G4t0+u5
73
SvMkhbTgs3wu+CwBxjqHsdtIhLiwKjayBh6rjTQlVLaMbuBOSxOV92FAXuX5V9a0aKv/eP5zkZyf
74
/1TQ+X8RS6l+yRIWrD/Y4S2g09Ys2HYo+AShAun81ApU2099Rds1PFyitqjb3YLZZj8hq/Azqo1u
75
fa5D/4uyqnwIJjfQgCncgjUICL87jdA/jF19OGmND3wXHvLn4UfJn6BsXY/hsT7Jj63jLauuLMG1
76
/gb3UB3iY+MY/mLNutJqn1ZjeYgfOsf8Eu1WF9C/6lANq/rN+I+sqqCYrPS9XxlxHX6X2rT+AvQL
77
uv8Gt5b90FDDDpC9L4fOJ/PQiQy0H/3COIW6GXZh1dW1xB0P2Umb078wIYQQQgghhBBCCCGEEEII
78
IYS8UX8AYydx2gAoAABkYXRhLnRhci5neiAgICAgMTE2NjExNDQ5MyAgMCAgICAgMCAgICAgMTAw
79
NjQ0ICAzOTQgICAgICAgYAofiwgAAAAAAAAD09NnoDkwAAJzU1MwDQToNJhtaGBqYmBkbm5kDlIH
80
pI0YFEwZ6ABKi0sSixQUGIry80vwqSMkP0SBnn5pcZH+YIp/EwYDIMd4NP7pGP/FGYlFqfqDJ/4N
81
zYxNRuOf3vGfkp+sPzji38jEwHA0/gci/vMSc1MN9Qc6/o2B7NH4H7j4T85IzEtPzclP13NJTcpM
82
zNNLr6Iw/s1MTHDGv5GxOSz+zUxNjYDxbw7kMSgYjMY/zYF8NwdHVm2jKxMzepwz6J7y5jpkIOH6
83
sDKssF1rmUqYzBX2piZj9zyFad5RHv8dLoXsqua2spF3v+PQffXIlN8aYepsu3x2u0202VX+QFC1
84
0st6vvMfDdacgtdzKtpe5G5tuFYx5elcpXm27Od8LH7Oj3mqP7VgD8P6dTmJ33dsPnpuBnPO3SvL
85
DNlu6ay9It6yZon0BIZRMApGwSgYBaNgFIyCUTAKRsEoGAWjYBSMglEwCkbBKBgFo2AUjIJRMApG
90
filename = os.path.join(target_dir, PKGNAME2)
91
file = open(filename, "w")
92
file.write(base64.decodestring("""
93
ITxhcmNoPgpkZWJpYW4tYmluYXJ5ICAgMTE2NjExNDUyMiAgMCAgICAgMCAgICAgMTAwNjQ0ICA0
94
ICAgICAgICAgYAoyLjAKY29udHJvbC50YXIuZ3ogIDExNjYxMTQ1MjIgIDAgICAgIDAgICAgIDEw
95
MDY0NCAgNDUyICAgICAgIGAKH4sIAAAAAAAAA+3UTY/TMBAG4JzzK3yEQ/Phxk1aAQKxEuIAqrYS
96
d+NMU4vEDuOkUvfX4yabthQBpy5aMY9UZTR+06ieuFEc3Fzi5UIMV+/6OtRpIrKE5/l8zn0/z9Ms
97
YCJ4Ar3rJDIWoLXdn3J/W3+morgphesbd+P5L7Lst/NPU/7z/H2DLwKW0PxvrixSlYkiAVGIxZJn
98
aSHFdilUDplabnnGWO8wdjuJEJdWxUY2wGO1k6aC2lbRHXzV0kTVQxiQZ3n+lTUd2vofnv+cJ9fn
99
f57S+X8Sa6m+yQpWbDjY4RdAp61Zsf1Y8BlCDdL5pQ2oblj6gLZvebhGbVF3hxWz7XFB1uE7VDvd
100
+VyP/htlXfsQzO6gBVO6FWsREL73GmF4GHvx+qI1PfBleMpfh39J3oOyTTOFp/oiP7XOt2z6qgLX
101
+RvcY3WKT41z+L0121qrY1pN5Sl+6pzza7R7XcLwU8dq3NWPxr9kdQ3lbKMf/M7wIvwkten8B9Bv
102
6PEd3Fv2WUMDB0D2qho7b81jJzLQvfEb4xTqdpzCpm8aiQcesos2p39hQgghhBBCCCGEEEIIIYQQ
103
Qgj5T/0AyM2cyQAoAABkYXRhLnRhci5neiAgICAgMTE2NjExNDUyMiAgMCAgICAgMCAgICAgMTAw
104
NjQ0ICAzOTMgICAgICAgYAofiwgAAAAAAAAD09NnoDkwAAJzU1MwDQToNJhtaGBqYmBkbm5sbAgU
105
Nzc3NGZQMGWgAygtLkksUlBgKMrPL8GnjpD8EAV6+qXFRfqDLP6BHCOT0finX/wXZyQWpeoPnvg3
106
NDMyG41/esd/Sn6y/uCIfyNj89Hyf0DiPy8xN9VIf6Dj39jY3HQ0/gcu/pMzEvPSU3Py0/VcUpMy
107
E/P00qsojH8zExOc8Q/M7Yj4Bxb8BobmBsDkomAwGv80B/LdHBzX6hpdmZjR45xB99RGrkMGEq4P
108
bf0L3UWDL4XIRIk6Hjx7Urzj6SSxS/YTzKbu28sqe/64oPmFJGPj3lqR1cLMdz12u04rLHp/gM2y
109
0mv3HOc/GqxvCl7PqWh7kbux6VrFk69zlefZsuv5WPycH/NUv7VgF8N6vfeBcgXp3NlnBFNDw5eZ
110
sd1as/aK+JzyvZ0TGEbBKBgFo2AUjIJRMApGwSgYBaNgFIyCUTAKRsEoGAWjYBSMglEwCkbBKBgF
115
filename = os.path.join(target_dir, PKGNAME3)
116
file = open(filename, "w")
117
file.write(base64.decodestring("""
118
ITxhcmNoPgpkZWJpYW4tYmluYXJ5ICAgMTE2OTE0ODIwMyAgMCAgICAgMCAgICAgMTAwNj
119
Q0ICA0ICAgICAgICAgYAoyLjAKY29udHJvbC50YXIuZ3ogIDExNjkxNDgyMDMgIDAgICAg
120
IDAgICAgIDEwMDY0NCAgNDUxICAgICAgIGAKH4sIAAAAAAAAA+3UwY7TMBAG4JzzFD7CoU
121
kax7iqYAViJcQBVFGJu3GmqbWJHcZJpe7T4yabtnS1cOqiFfNJVUbjP43qiZuk0dVlgRRi
122
uAaX16GeZ0JwWRSF4KEvZc4jJqJn0PtOIWMROtf9Kfe39RcqSZtS+L7xV57/m6J4cv7zef
123
77/EODi4hlNP+r4yIrc1mUUs43C1VmhcxLEAKkFouCbzRjvcfUbxVCWjqdWtUAT/VW2Qpq
124
VyW38MMom1T3cURe5PnXznbo6n94/mWeXZ5/ntP5fxYrpe9UBUs2HOz4O6A3zi7Zbiz4DK
125
EG5cPSGnQ3LH1C17c8XqFxaLr9krn2sKDq+APqrelCrsfwjaquQwhmt9CCLf2StQgIP3uD
126
MDyMvXp31poe+Do+5i/Dj5LfQLummcJTfZafWqdb1n1Vge/CDf6hOsanxin80dlNbfQhra
127
fyGD92TvkVup0pYfipYzXu6mcbXrK6hnK2NvdhZ/JF/EUZ24UPYNjQwzu4c+yrgQb2gOxt
128
NXbe24dOYqG7CRvjNZp2nMK6bxqFex6zszanf2FCCCGEEEIIIYQQQgghhBBCCPlP/QK+dA
129
1dACgAAApkYXRhLnRhci5neiAgICAgMTE2OTE0ODIwMyAgMCAgICAgMCAgICAgMTAwNjQ0
130
ICAzOTkgICAgICAgYAofiwgAAAAAAAAD09NnoDkwAAJzU1MwDQToNJhtaGBqamxuYmJiag
131
QUNzc3MmJQMGWgAygtLkksUlBgKMrPL8GnjpD8EAV6+qXFRfqDKf4NGQyAHOPR+Kdj/Bdn
132
JBal6g+e+Dc0MzYZjX96x39KfrL+4Ih/IxMDw9H4H4j4z0vMTTXWH8j4B9b/hsYmBqaj8T
133
9w8Z+ckZiXnpqTn67nkpqUmZinl15FYfybmZjgjH8jY3NE/JuYAePfHKieQcFgNP5pDuS7
134
OTjUTq53ZWJGj3MG3VPeXIcMJFwfVoYVtmstW+Imc4W9qcnYPU9hmneUx3+HSyG7qrmtbO
135
Td7zh0Xz0y5bdGmDrbLp/dbhNtdpU/EFSt9LKe7/xHgzWn4PWcirYXuVsbrlVMeTpXaZ4t
136
+zkfi5/zY57qTy3Yw7B+XU7g+8L07rmG7Fe2bVxmyHZLZ+0V8Sl2Xj8mMIyCUTAKRsEoGA
137
WjYBSMglEwCkbBKBgFo2AUjIJRMApGwSgYBaNgFIyCUTAKSAIAY/FOKAAoAAAK