studio_api 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. data/README +93 -0
  2. data/Rakefile +64 -0
  3. data/VERSION +1 -0
  4. data/lib/studio_api/appliance.rb +365 -0
  5. data/lib/studio_api/build.rb +17 -0
  6. data/lib/studio_api/connection.rb +102 -0
  7. data/lib/studio_api/file.rb +70 -0
  8. data/lib/studio_api/generic_request.rb +160 -0
  9. data/lib/studio_api/package.rb +12 -0
  10. data/lib/studio_api/pattern.rb +12 -0
  11. data/lib/studio_api/repository.rb +35 -0
  12. data/lib/studio_api/rpm.rb +33 -0
  13. data/lib/studio_api/running_build.rb +35 -0
  14. data/lib/studio_api/studio_resource.rb +70 -0
  15. data/lib/studio_api/template_set.rb +12 -0
  16. data/lib/studio_api/util.rb +38 -0
  17. data/lib/studio_api.rb +31 -0
  18. data/test/appliance_test.rb +189 -0
  19. data/test/build_test.rb +45 -0
  20. data/test/connection_test.rb +21 -0
  21. data/test/file_test.rb +52 -0
  22. data/test/generic_request_test.rb +66 -0
  23. data/test/repository_test.rb +42 -0
  24. data/test/resource_test.rb +49 -0
  25. data/test/responses/appliance.xml +27 -0
  26. data/test/responses/appliances.xml +199 -0
  27. data/test/responses/build.xml +17 -0
  28. data/test/responses/builds.xml +19 -0
  29. data/test/responses/file.xml +12 -0
  30. data/test/responses/files.xml +14 -0
  31. data/test/responses/gpg_key.xml +25 -0
  32. data/test/responses/gpg_keys.xml +77 -0
  33. data/test/responses/repositories.xml +42 -0
  34. data/test/responses/repository.xml +8 -0
  35. data/test/responses/rpm.xml +10 -0
  36. data/test/responses/rpms.xml +404 -0
  37. data/test/responses/running_build.xml +7 -0
  38. data/test/responses/running_builds.xml +23 -0
  39. data/test/responses/software.xml +50 -0
  40. data/test/responses/software_installed.xml +729 -0
  41. data/test/responses/software_search.xml +64 -0
  42. data/test/responses/status-broken.xml +9 -0
  43. data/test/responses/status.xml +4 -0
  44. data/test/responses/template_sets.xml +380 -0
  45. data/test/rpm_test.rb +59 -0
  46. data/test/running_build_test.rb +50 -0
  47. data/test/template_set_test.rb +35 -0
  48. metadata +181 -0
@@ -0,0 +1,64 @@
1
+ <software_map type="array" appliance_id="214486">
2
+ <repository name="SLED 11 SP1 i386" id="6347">
3
+ <software type="array">
4
+ <package arch="i586" checksum="a7d170cd6cb091e3d805cd4a5f96268c296df464" version="0.114-12.7.10" checksum_type="SHA1">apport-qt</package>
5
+ <package arch="i586" checksum="83d58e77ef195dc795aa696921c44acf070f1356" version="0.62-223.1.43" checksum_type="SHA1">dbus-1-qt3</package>
6
+ <package arch="i586" checksum="a05103f4680183934b5d7403394bef481e572d7a" version="0.8.1-17.25" checksum_type="SHA1">libdbus-1-qt3-0</package>
7
+ <package arch="i586" checksum="b7b8a48108d19673896b34353695cc7667fdfd25" version="0.9.2-3.1.92" checksum_type="SHA1">libpolkit-qt0</package>
8
+ <package arch="i586" checksum="296b3c14a716e30f2a45f05d6934b7f1d42e88c6" version="0.12.3-1.2.44" checksum_type="SHA1">libpoppler-qt4-3</package>
9
+ <package arch="i586" checksum="817ab11f765ce1acedf9cd96ad12a2b3ee9ae5fd" version="4.6.2-1.6.9" checksum_type="SHA1">libqt4</package>
10
+ <package arch="i586" checksum="3aa11ce211e7d4bacadaab171a95210badcba9b8" version="4.6.2-1.6.9" checksum_type="SHA1">libqt4-qt3support</package>
11
+ <package arch="i586" checksum="8c51e8336812ca66c039def223a047fb8e875ae2" version="4.6.2-1.6.9" checksum_type="SHA1">libqt4-sql</package>
12
+ <package arch="i586" checksum="95c64b96add9e424751314c006295a20cb4b6c68" version="4.6.2-1.6.11" checksum_type="SHA1">libqt4-sql-mysql</package>
13
+ <package arch="i586" checksum="be5cc653f1639373c79344cd4b32ac5214a7beeb" version="4.6.2-1.6.9" checksum_type="SHA1">libqt4-sql-sqlite</package>
14
+ <package arch="i586" checksum="bd9200b932e1f2fce28a62778ef75ffbe2b3279d" version="4.6.2-1.6.9" checksum_type="SHA1">libqt4-x11</package>
15
+ <package arch="i586" checksum="6311b2dd3ab28e130dfba41f5c453738a91d12d5" version="0.4.2-4.25" checksum_type="SHA1">libqtpod0</package>
16
+ <package arch="i586" checksum="76a9da51fa98ec7d97c2d4651165a0ce5cac43f8" version="4.6.2-1.6.9" checksum_type="SHA1">libQtWebKit4</package>
17
+ <package arch="i586" checksum="ba54093e2dd69f28d34198c0ca4351147eaa3a60" version="3.0.0-0.5.5" checksum_type="SHA1">novell-qtgui</package>
18
+ <package arch="i586" checksum="69a220637d3a504f86f31930d71b646fdd3441b6" version="3.0.0-0.5.5" checksum_type="SHA1">novell-qtgui-cli</package>
19
+ <package arch="i586" checksum="1451f1b02b9929396b746184f67c5b3ac205f175" version="0.7.5-61.33.1" checksum_type="SHA1">pinentry-qt</package>
20
+ <package arch="i586" checksum="a9c1e61bff0a07130534ffe4f59e063c10f711ab" version="3.17.6-1.25" checksum_type="SHA1">python-qt</package>
21
+ <package arch="i586" checksum="e97d889d3f3c20736cfd3f271c978ea61a7d35d1" version="4.6.2-0.1.87" checksum_type="SHA1">python-qt4</package>
22
+ <package arch="i586" checksum="d58ea859d12caa27611bf2de79c1818ffac2ee20" version="3.3.8b-88.21" checksum_type="SHA1">qt3</package>
23
+ <package arch="i586" checksum="c63ba3b988189f411db85282a8625b03dc2eabf3" version="0.1.0-3.1.83" checksum_type="SHA1">qt4-qtscript</package>
24
+ <package arch="i586" checksum="5daf08fa5f1b326aadf98f851b7f64c76624130b" version="0.59.7-2.30" checksum_type="SHA1">qtcurve-gtk2</package>
25
+ <package arch="i586" checksum="0d7bd26ad9e221f0a60bc0c7de690b69292055bc" version="0.59.5-1.32" checksum_type="SHA1">qtcurve-kde</package>
26
+ <package arch="i586" checksum="36b23e28ce93c342a941bbeff1d512c723591bef" version="0.7.1-161.29" checksum_type="SHA1">qtsharp</package>
27
+ <package arch="i586" checksum="b6c21f19c52b5fb69a9b7121c68451623b456ea9" version="0.4.15-6.22" checksum_type="SHA1">scim-bridge-qt</package>
28
+ <package arch="i586" checksum="e05b6db08f40fe4f3cddb1a6fbeec982d6086945" version="0.9.4-270.29" checksum_type="SHA1">scim-qtimm</package>
29
+ <package arch="i586" checksum="26b372ee99bd2c7230543271246c0ea15ed8083d" version="1.2.1-276.39" checksum_type="SHA1">uim-qt</package>
30
+ <package arch="i586" checksum="4eb86a796c132a5aea9f453c1124917ab81fa3e0" version="2.2.12-198.21" checksum_type="SHA1">unixODBC-gui-qt</package>
31
+ <package arch="i586" checksum="448d609ed2cdaace105a0f1e3fe8437222253824" version="2.17.4-0.1.76" checksum_type="SHA1">yast2-control-center-qt</package>
32
+ <package arch="i586" checksum="9a5af7f854ee7b85bfe28100ccb1044e33fbdaa7" version="2.18.11-0.2.12" checksum_type="SHA1">yast2-qt</package>
33
+ <package arch="i586" checksum="8a7b02e94f3fb51fc074762a19430a2365c076b3" version="2.18.20-1.2.35" checksum_type="SHA1">yast2-qt-pkg</package>
34
+ </software>
35
+ </repository>
36
+ <repository name="SLE 11 SP1 SDK i386" id="6351">
37
+ <software type="array">
38
+ <package arch="i586" checksum="40f1bdd184f357feced78cd841fe379e7c907c9e" version="0.62-223.1.43" checksum_type="SHA1">dbus-1-qt3-devel</package>
39
+ <package arch="i586" checksum="1a524bcff3687f58177d3b2db77340f976174835" version="0.8.1-17.25" checksum_type="SHA1">dbusxml2qt3</package>
40
+ <package arch="i586" checksum="a057fbf61f2d47f3fdcea9834f4b9239e34829e2" version="0.8.1-17.25" checksum_type="SHA1">libdbus-1-qt3-0-devel</package>
41
+ <package arch="i586" checksum="a6a33ab1c9898cf10662ff109c8c88c6734e7084" version="0.3.14-2.12.105" checksum_type="SHA1">libpackagekit-qt10</package>
42
+ <package arch="i586" checksum="0bd977f6bcb45b96b3f1c557b3686b98d523f91c" version="0.3.14-2.12.105" checksum_type="SHA1">libpackagekit-qt10-devel</package>
43
+ <package arch="i586" checksum="aa11036dbcf725d827830efc09ee39d80194123d" version="0.9.2-3.1.92" checksum_type="SHA1">libpolkit-qt-devel</package>
44
+ <package arch="i586" checksum="9bd016e43eecc909e1e020668cd33488190af305" version="0.12.3-1.2.44" checksum_type="SHA1">libpoppler-qt2</package>
45
+ <package arch="i586" checksum="c90abcb0dbadae4d323e66eff3d07ba3e911e736" version="0.12.3-1.2.44" checksum_type="SHA1">libpoppler-qt3-devel</package>
46
+ <package arch="i586" checksum="5d06ef80c1f7f673707104b24a929d4f26e9291e" version="0.12.3-1.2.44" checksum_type="SHA1">libpoppler-qt4-devel</package>
47
+ <package arch="i586" checksum="08ec7c109b9338cbe0b39abd4ca719f8d7818d4a" version="4.6.2-1.6.9" checksum_type="SHA1">libqt4-devel</package>
48
+ <package arch="i586" checksum="2fe56aa971e97f2ad7bca5a25b3c8732afb127a5" version="4.6.2-1.6.10" checksum_type="SHA1">libqt4-devel-doc</package>
49
+ <package arch="noarch" checksum="dffc913a9f81896fc4cc2adee98bd7e85e442459" version="4.6.2-1.6.10" checksum_type="SHA1">libqt4-devel-doc-data</package>
50
+ <package arch="i586" checksum="b0a28b4d601a68c3213154b35d0bee98dbddef14" version="4.6.2-1.6.11" checksum_type="SHA1">libqt4-sql-postgresql</package>
51
+ <package arch="i586" checksum="8ebccb2ac5d5c57764e1e2a314fd87080d0b0f34" version="4.6.2-1.6.11" checksum_type="SHA1">libqt4-sql-unixODBC</package>
52
+ <package arch="i586" checksum="5169207e268211126cdcd3835a07a4bde19826a8" version="0.4.2-4.25" checksum_type="SHA1">libqtpod-devel</package>
53
+ <package arch="i586" checksum="ea04fc9e8e4fb715cd075a4338698b31ed8c7c23" version="4.6.2-1.6.9" checksum_type="SHA1">libQtWebKit-devel</package>
54
+ <package arch="i586" checksum="089338f60bad1c4842d02637904c04bbde447ac2" version="4.6.2-0.1.87" checksum_type="SHA1">python-qt4-devel</package>
55
+ <package arch="i586" checksum="a402adb5103d244fe850dc92a43682904f58a458" version="3.3.8b-88.21" checksum_type="SHA1">qt3-devel</package>
56
+ <package arch="noarch" checksum="b737d34e4e3e95d9ba2b9f240cedccf37152122c" version="3.3.8b-88.21" checksum_type="SHA1">qt3-devel-doc</package>
57
+ <package arch="i586" checksum="62ae7b7d5c2cd29c36340a5f4f3500e6b21a7d62" version="3.3.8b-88.21" checksum_type="SHA1">qt3-devel-tools</package>
58
+ <package arch="i586" checksum="b1fe4c6a4914dd9091b29e9fe4ef1137338b29e7" version="0.7a-134.25" checksum_type="SHA1">qtc</package>
59
+ <package arch="i586" checksum="ae175d57d57184618cae7e24f85b91d63ffdf81d" version="1.2.1-3.1.79" checksum_type="SHA1">qt-creator</package>
60
+ <pattern arch="i586" version="11">sdk_qt4</pattern>
61
+ <package arch="i586" checksum="1ddb2c0c0efb7d0ca2876937f03c5c25b6562f71" version="2.18.11-0.2.12" checksum_type="SHA1">yast2-qt-devel</package>
62
+ </software>
63
+ </repository>
64
+ </software_map>
@@ -0,0 +1,9 @@
1
+ <status>
2
+ <state>error</state>
3
+ <issues>
4
+ <issue>
5
+ <type>error</type>
6
+ <text>Sorry, the server is currently in maintenance (read-only) mode. Please check back a little later.</text>
7
+ </issue>
8
+ </issues>
9
+ </status>
@@ -0,0 +1,4 @@
1
+ <status>
2
+ <state>ok</state>
3
+ <issues></issues>
4
+ </status>
@@ -0,0 +1,380 @@
1
+ <template_sets type="array">
2
+ <template_set>
3
+ <name>default</name>
4
+ <description>SUSE default templates</description>
5
+ <template>
6
+ <appliance_id>3505</appliance_id>
7
+ <name>openSUSE 11.1, Just enough OS (JeOS)</name>
8
+ <description>Tiny, minimalistic appliances</description>
9
+ <basesystem>11.1</basesystem>
10
+ </template>
11
+ <template>
12
+ <appliance_id>2158</appliance_id>
13
+ <name>openSUSE 11.1, Server</name>
14
+ <description>A text-only base</description>
15
+ <basesystem>11.1</basesystem>
16
+ </template>
17
+ <template>
18
+ <appliance_id>2159</appliance_id>
19
+ <name>openSUSE 11.1, Minimal X</name>
20
+ <description>Graphical system + IceWM</description>
21
+ <basesystem>11.1</basesystem>
22
+ </template>
23
+ <template>
24
+ <appliance_id>2160</appliance_id>
25
+ <name>openSUSE 11.1, KDE 3 desktop</name>
26
+ <description>Base system + KDE 3</description>
27
+ <basesystem>11.1</basesystem>
28
+ </template>
29
+ <template>
30
+ <appliance_id>2161</appliance_id>
31
+ <name>openSUSE 11.1, KDE 4 desktop</name>
32
+ <description>Base system + KDE 4</description>
33
+ <basesystem>11.1</basesystem>
34
+ </template>
35
+ <template>
36
+ <appliance_id>2162</appliance_id>
37
+ <name>openSUSE 11.1, GNOME desktop</name>
38
+ <description>Base system + GNOME</description>
39
+ <basesystem>11.1</basesystem>
40
+ </template>
41
+ <template>
42
+ <appliance_id>14769</appliance_id>
43
+ <name>SLED 10, KDE 3 desktop</name>
44
+ <description>SLED 10, with KDE</description>
45
+ <basesystem>SLED10_SP2</basesystem>
46
+ </template>
47
+ <template>
48
+ <appliance_id>14770</appliance_id>
49
+ <name>SLED 10, GNOME desktop</name>
50
+ <description>SLED 10, with GNOME</description>
51
+ <basesystem>SLED10_SP2</basesystem>
52
+ </template>
53
+ <template>
54
+ <appliance_id>14771</appliance_id>
55
+ <name>SLES 10, Server</name>
56
+ <description>SLES 10</description>
57
+ <basesystem>SLES10_SP2</basesystem>
58
+ </template>
59
+ <template>
60
+ <appliance_id>14772</appliance_id>
61
+ <name>SLED 11, KDE 4 desktop</name>
62
+ <description>SLED 11, with KDE 4</description>
63
+ <basesystem>SLED11</basesystem>
64
+ </template>
65
+ <template>
66
+ <appliance_id>14773</appliance_id>
67
+ <name>SLED 11, GNOME desktop</name>
68
+ <description>SLED 11, with GNOME</description>
69
+ <basesystem>SLED11</basesystem>
70
+ </template>
71
+ <template>
72
+ <appliance_id>14775</appliance_id>
73
+ <name>SLES 11, Server</name>
74
+ <description>SLES 11</description>
75
+ <basesystem>SLES11</basesystem>
76
+ </template>
77
+ <template>
78
+ <appliance_id>26667</appliance_id>
79
+ <name>SLES 11, Just enough OS (JeOS)</name>
80
+ <description>Minimal SLES</description>
81
+ <basesystem>SLES11</basesystem>
82
+ </template>
83
+ <template>
84
+ <appliance_id>26694</appliance_id>
85
+ <name>SLES 11, Just enough OS (JeOS)</name>
86
+ <description>Minimal SLES</description>
87
+ <basesystem>SLES11</basesystem>
88
+ </template>
89
+ <template>
90
+ <appliance_id>123663</appliance_id>
91
+ <name>openSUSE 11.2, Just enough OS (JeOS)</name>
92
+ <description>Tiny, minimalistic appliances</description>
93
+ <basesystem>11.2</basesystem>
94
+ </template>
95
+ <template>
96
+ <appliance_id>123664</appliance_id>
97
+ <name>openSUSE 11.2, Server</name>
98
+ <description>A text-only base</description>
99
+ <basesystem>11.2</basesystem>
100
+ </template>
101
+ <template>
102
+ <appliance_id>123665</appliance_id>
103
+ <name>openSUSE 11.2, Minimal X</name>
104
+ <description>Graphical system + IceWM</description>
105
+ <basesystem>11.2</basesystem>
106
+ </template>
107
+ <template>
108
+ <appliance_id>123666</appliance_id>
109
+ <name>openSUSE 11.2, KDE 4 desktop</name>
110
+ <description>Base system + KDE 4</description>
111
+ <basesystem>11.2</basesystem>
112
+ </template>
113
+ <template>
114
+ <appliance_id>123667</appliance_id>
115
+ <name>openSUSE 11.2, GNOME desktop</name>
116
+ <description>Base system + GNOME</description>
117
+ <basesystem>11.2</basesystem>
118
+ </template>
119
+ <template>
120
+ <appliance_id>202443</appliance_id>
121
+ <name>SLES 11 SP1, Just enough OS (JeOS)</name>
122
+ <description>Minimal SLES 11 SP1</description>
123
+ <basesystem>SLES11_SP1</basesystem>
124
+ </template>
125
+ <template>
126
+ <appliance_id>202444</appliance_id>
127
+ <name>SLES 11 SP1, Server</name>
128
+ <description>SLES 11 SP1</description>
129
+ <basesystem>SLES11_SP1</basesystem>
130
+ </template>
131
+ <template>
132
+ <appliance_id>202445</appliance_id>
133
+ <name>SLED 11 SP1, KDE 4 desktop</name>
134
+ <description>SLED 11 SP1, with KDE 4</description>
135
+ <basesystem>SLED11_SP1</basesystem>
136
+ </template>
137
+ <template>
138
+ <appliance_id>202446</appliance_id>
139
+ <name>SLED 11 SP1, GNOME desktop</name>
140
+ <description>SLED 11 SP1, with GNOME</description>
141
+ <basesystem>SLED11_SP1</basesystem>
142
+ </template>
143
+ <template>
144
+ <appliance_id>202458</appliance_id>
145
+ <name>SLED 11, KDE 4 desktop</name>
146
+ <description>SLED 11, with KDE 4</description>
147
+ <basesystem>SLED11</basesystem>
148
+ </template>
149
+ <template>
150
+ <appliance_id>202459</appliance_id>
151
+ <name>SLED 11, GNOME desktop</name>
152
+ <description>SLED 11, with GNOME</description>
153
+ <basesystem>SLED11</basesystem>
154
+ </template>
155
+ <template>
156
+ <appliance_id>202460</appliance_id>
157
+ <name>SLES 11, Just enough OS (JeOS)</name>
158
+ <description>Minimal SLES</description>
159
+ <basesystem>SLES11</basesystem>
160
+ </template>
161
+ <template>
162
+ <appliance_id>160586</appliance_id>
163
+ <name>openSUSE 11.2, Minimal X</name>
164
+ <description>Graphical system + IceWM</description>
165
+ <basesystem>11.2</basesystem>
166
+ </template>
167
+ <template>
168
+ <appliance_id>202461</appliance_id>
169
+ <name>SLES 11, Server</name>
170
+ <description>SLES 11</description>
171
+ <basesystem>SLES11</basesystem>
172
+ </template>
173
+ <template>
174
+ <appliance_id>202476</appliance_id>
175
+ <name>SLED 11 SP1, GNOME desktop</name>
176
+ <description>SLED 11 SP1, with GNOME</description>
177
+ <basesystem>SLED11_SP1</basesystem>
178
+ </template>
179
+ <template>
180
+ <appliance_id>232516</appliance_id>
181
+ <name>openSUSE 11.3, Just enough OS (JeOS)</name>
182
+ <description>Tiny, minimalistic appliances</description>
183
+ <basesystem>11.3</basesystem>
184
+ </template>
185
+ <template>
186
+ <appliance_id>232517</appliance_id>
187
+ <name>openSUSE 11.3, Server</name>
188
+ <description>A text-only base</description>
189
+ <basesystem>11.3</basesystem>
190
+ </template>
191
+ <template>
192
+ <appliance_id>232518</appliance_id>
193
+ <name>openSUSE 11.3, Minimal X</name>
194
+ <description>Graphical system + IceWM</description>
195
+ <basesystem>11.3</basesystem>
196
+ </template>
197
+ <template>
198
+ <appliance_id>232520</appliance_id>
199
+ <name>openSUSE 11.3, KDE 4 desktop</name>
200
+ <description>Base system + KDE 4</description>
201
+ <basesystem>11.3</basesystem>
202
+ </template>
203
+ <template>
204
+ <appliance_id>232521</appliance_id>
205
+ <name>openSUSE 11.3, GNOME desktop</name>
206
+ <description>Base system + GNOME</description>
207
+ <basesystem>11.3</basesystem>
208
+ </template>
209
+ <template>
210
+ <appliance_id>255146</appliance_id>
211
+ <name>SLED 11, KDE 4 desktop</name>
212
+ <description>SLED 11, with KDE 4</description>
213
+ <basesystem>SLED11</basesystem>
214
+ </template>
215
+ <template>
216
+ <appliance_id>255147</appliance_id>
217
+ <name>SLED 11, GNOME desktop</name>
218
+ <description>SLED 11, with GNOME</description>
219
+ <basesystem>SLED11</basesystem>
220
+ </template>
221
+ <template>
222
+ <appliance_id>272624</appliance_id>
223
+ <name>SLED 10 SP2, KDE 3 desktop</name>
224
+ <description>SLED 10 SP2, with KDE</description>
225
+ <basesystem>SLED10_SP2</basesystem>
226
+ </template>
227
+ <template>
228
+ <appliance_id>272625</appliance_id>
229
+ <name>SLED 10 SP2, GNOME desktop</name>
230
+ <description>SLED 10 SP2, with GNOME</description>
231
+ <basesystem>SLED10_SP2</basesystem>
232
+ </template>
233
+ <template>
234
+ <appliance_id>272626</appliance_id>
235
+ <name>SLED 10 SP3, KDE 3 desktop</name>
236
+ <description>SLED 10 SP3, with KDE</description>
237
+ <basesystem>SLED10_SP3</basesystem>
238
+ </template>
239
+ <template>
240
+ <appliance_id>272627</appliance_id>
241
+ <name>SLED 10 SP3, GNOME desktop</name>
242
+ <description>SLED 10 SP3, with GNOME</description>
243
+ <basesystem>SLED10_SP3</basesystem>
244
+ </template>
245
+ <template>
246
+ <appliance_id>272628</appliance_id>
247
+ <name>SLES 10 SP2, Server</name>
248
+ <description>SLES 10 SP2</description>
249
+ <basesystem>SLES10_SP2</basesystem>
250
+ </template>
251
+ <template>
252
+ <appliance_id>272629</appliance_id>
253
+ <name>SLES 10 SP3, Server</name>
254
+ <description>SLES 10 SP3</description>
255
+ <basesystem>SLES10_SP3</basesystem>
256
+ </template>
257
+ </template_set>
258
+ <template_set>
259
+ <name>mono</name>
260
+ <description>Mono templates</description>
261
+ <template>
262
+ <appliance_id>39570</appliance_id>
263
+ <name>Mono Desktop (openSUSE 11.1)</name>
264
+ <description>Base system + GNOME</description>
265
+ <basesystem>11.1</basesystem>
266
+ </template>
267
+ <template>
268
+ <appliance_id>39574</appliance_id>
269
+ <name>Mono Desktop</name>
270
+ <description>SLED 11, with GNOME</description>
271
+ <basesystem>SLED11</basesystem>
272
+ </template>
273
+ <template>
274
+ <appliance_id>39578</appliance_id>
275
+ <name>Mono ASP.NET Server (openSUSE 11.1)</name>
276
+ <description>A text-only base</description>
277
+ <basesystem>11.1</basesystem>
278
+ </template>
279
+ <template>
280
+ <appliance_id>39581</appliance_id>
281
+ <name>Mono ASP.NET Server (SLES 11)</name>
282
+ <description>SLES 11</description>
283
+ <basesystem>SLES11</basesystem>
284
+ </template>
285
+ </template_set>
286
+ <template_set>
287
+ <name>featured_appliances</name>
288
+ <description>Featured appliances for the gallery</description>
289
+ <template>
290
+ <appliance_id>223380</appliance_id>
291
+ <name>MiniSUSE</name>
292
+ <description>A text-only base</description>
293
+ <basesystem>11.3</basesystem>
294
+ </template>
295
+ <template>
296
+ <appliance_id>236941</appliance_id>
297
+ <name>BrowserBox</name>
298
+ <description>Base system + KDE 4</description>
299
+ <basesystem>11.3</basesystem>
300
+ </template>
301
+ <template>
302
+ <appliance_id>218302</appliance_id>
303
+ <name>PJS VMware Open View 4 - small</name>
304
+ <description>Graphical system + IceWM</description>
305
+ <basesystem>11.3</basesystem>
306
+ </template>
307
+ <template>
308
+ <appliance_id>138131</appliance_id>
309
+ <name>GNUmed Live</name>
310
+ <description>Base system + KDE 4</description>
311
+ <basesystem>11.3</basesystem>
312
+ </template>
313
+ <template>
314
+ <appliance_id>212675</appliance_id>
315
+ <name>OpenMedia</name>
316
+ <description>Base system + KDE 4</description>
317
+ <basesystem>11.3</basesystem>
318
+ </template>
319
+ <template>
320
+ <appliance_id>265217</appliance_id>
321
+ <name>Smeegol</name>
322
+ <description>Graphical system + IceWM</description>
323
+ <basesystem>11.3</basesystem>
324
+ </template>
325
+ <template>
326
+ <appliance_id>254152</appliance_id>
327
+ <name>FreeSWITCHBOX</name>
328
+ <description>Tiny, minimalistic appliances</description>
329
+ <basesystem>11.3</basesystem>
330
+ </template>
331
+ <template>
332
+ <appliance_id>259798</appliance_id>
333
+ <name>Illumination Software Creation Station</name>
334
+ <description>Base system + GNOME</description>
335
+ <basesystem>11.3</basesystem>
336
+ </template>
337
+ </template_set>
338
+ <template_set>
339
+ <name>partners</name>
340
+ <description/>
341
+ <template>
342
+ <appliance_id>170681</appliance_id>
343
+ <name>Ingres Server</name>
344
+ <description>SLES 11</description>
345
+ <basesystem>SLES11</basesystem>
346
+ </template>
347
+ <template>
348
+ <appliance_id>192690</appliance_id>
349
+ <name>Ingres Server 64 Bit</name>
350
+ <description>SLES 11</description>
351
+ <basesystem>SLES11</basesystem>
352
+ </template>
353
+ </template_set>
354
+ <template_set>
355
+ <name>opensuse</name>
356
+ <description>more openSUSE</description>
357
+ <template>
358
+ <appliance_id>130185</appliance_id>
359
+ <name>LAMP Server (32bit)</name>
360
+ <description>Tiny, minimalistic appliances</description>
361
+ <basesystem>11.2</basesystem>
362
+ </template>
363
+ <template>
364
+ <appliance_id>130166</appliance_id>
365
+ <name>KDE 4 Reloaded</name>
366
+ <description>Base system + KDE 4</description>
367
+ <basesystem>11.3</basesystem>
368
+ </template>
369
+ <template>
370
+ <appliance_id>130175</appliance_id>
371
+ <name>GNOME Reloaded</name>
372
+ <description>Base system + GNOME</description>
373
+ <basesystem>11.3</basesystem>
374
+ </template>
375
+ </template_set>
376
+ <template_set>
377
+ <name>partner_appliances</name>
378
+ <description>Featured partner appliances for the gallery</description>
379
+ </template_set>
380
+ </template_sets>
data/test/rpm_test.rb ADDED
@@ -0,0 +1,59 @@
1
+ require 'rubygems'
2
+ require 'active_support'
3
+ require 'active_resource/http_mock'
4
+ require 'mocha'
5
+ require 'test/unit'
6
+ require 'tempfile'
7
+ $:.unshift File.join( File.dirname(__FILE__), '..', 'lib')
8
+ require 'studio_api/rpm'
9
+ require 'studio_api/connection'
10
+ require 'studio_api/generic_request'
11
+
12
+ class RpmTest < Test::Unit::TestCase
13
+ APPLIANCE_ID = 269186
14
+ RPM_ID = 27653
15
+
16
+ def respond_load name
17
+ IO.read(File.join(File.dirname(__FILE__), "responses", name))
18
+ end
19
+
20
+ def setup
21
+ @connection = StudioApi::Connection.new("test", "test", "http://localhost")
22
+ StudioApi::Rpm.studio_connection = @connection
23
+
24
+ rpms_out = respond_load "rpms.xml"
25
+ rpm_out = respond_load "rpm.xml"
26
+
27
+ ActiveResource::HttpMock.respond_to do |mock|
28
+ mock.get "/rpms?base_system=sle11_sp1", {"Authorization"=>"Basic dGVzdDp0ZXN0"}, rpms_out, 200
29
+ mock.get "/rpms/#{RPM_ID}", {"Authorization"=>"Basic dGVzdDp0ZXN0"}, rpm_out, 200
30
+ mock.delete "/rpms/#{RPM_ID}", {"Authorization"=>"Basic dGVzdDp0ZXN0"}, rpm_out, 200
31
+ end
32
+ end
33
+
34
+ def test_find
35
+ res = StudioApi::Rpm.find :all, :params => {:base_system => "sle11_sp1"}
36
+ assert_equal 48, res.size
37
+ res = StudioApi::Rpm.find RPM_ID
38
+ assert "false", res.archive
39
+ end
40
+
41
+ def test_delete
42
+ rpm = StudioApi::Rpm.find RPM_ID
43
+ assert rpm.destroy
44
+ assert StudioApi::Rpm.delete RPM_ID
45
+ end
46
+
47
+ TEST_STRING = "My lovely testing string\n Doodla da da da nicht"
48
+ def test_download
49
+ StudioApi::GenericRequest.any_instance.stubs(:get).with("/rpms/#{RPM_ID}/data").returns(TEST_STRING)
50
+ assert_equal TEST_STRING, StudioApi::Rpm.new(:id=> RPM_ID).content
51
+ end
52
+
53
+ def test_upload
54
+ rpm_out = respond_load "rpm.xml"
55
+ StudioApi::GenericRequest.any_instance.stubs(:post).returns(rpm_out)
56
+ assert StudioApi::Rpm.upload(TEST_STRING, "SLE11")
57
+ end
58
+
59
+ end
@@ -0,0 +1,50 @@
1
+ require 'rubygems'
2
+ require 'active_support'
3
+ require 'active_resource/http_mock'
4
+ require 'mocha'
5
+ require 'test/unit'
6
+ $:.unshift File.join( File.dirname(__FILE__), '..', 'lib')
7
+ require 'studio_api/running_build'
8
+ require 'studio_api/connection'
9
+
10
+ class RunningBuildTest < Test::Unit::TestCase
11
+ BUILD_ID = 529783
12
+ APPLIANCE_ID = 269186
13
+
14
+ def respond_load name
15
+ IO.read(File.join(File.dirname(__FILE__), "responses", name))
16
+ end
17
+
18
+ def setup
19
+ @connection = StudioApi::Connection.new("test", "test", "http://localhost")
20
+ StudioApi::RunningBuild.studio_connection = @connection
21
+
22
+ running_builds_out = respond_load "running_builds.xml"
23
+ running_build_out = respond_load "running_build.xml"
24
+
25
+ ActiveResource::HttpMock.respond_to do |mock|
26
+ mock.get "/running_builds?appliance_id=#{APPLIANCE_ID}", {"Authorization"=>"Basic dGVzdDp0ZXN0"}, running_builds_out, 200
27
+ mock.get "/running_builds/#{BUILD_ID}", {"Authorization"=>"Basic dGVzdDp0ZXN0"}, running_build_out, 200
28
+ mock.delete "/running_builds/#{BUILD_ID}", {"Authorization"=>"Basic dGVzdDp0ZXN0"}, running_build_out, 200
29
+ mock.post "/running_builds?appliance_id=#{APPLIANCE_ID}&force=true", {"Authorization"=>"Basic dGVzdDp0ZXN0"}, running_build_out, 200
30
+ end
31
+ end
32
+
33
+ def test_find
34
+ res = StudioApi::RunningBuild.find :all, :params => {:appliance_id => APPLIANCE_ID}
35
+ assert_equal 3, res.size
36
+ res = StudioApi::RunningBuild.find BUILD_ID
37
+ assert_equal BUILD_ID, res.id.to_i
38
+ end
39
+
40
+ def test_cancel
41
+ running_build = StudioApi::RunningBuild.find BUILD_ID
42
+ assert running_build.destroy
43
+ assert StudioApi::RunningBuild.delete BUILD_ID
44
+ assert running_build.cancel #test alias
45
+ end
46
+
47
+ def test_run_new
48
+ assert StudioApi::RunningBuild.new(:appliance_id => APPLIANCE_ID, :force => true).save
49
+ end
50
+ end
@@ -0,0 +1,35 @@
1
+ require 'rubygems'
2
+ require 'active_support'
3
+ require 'active_resource/http_mock'
4
+ require 'mocha'
5
+ require 'test/unit'
6
+ require 'tempfile'
7
+ $:.unshift File.join( File.dirname(__FILE__), '..', 'lib')
8
+ require 'studio_api/template_set'
9
+ require 'studio_api/connection'
10
+ require 'studio_api/generic_request'
11
+
12
+ class TemplateSetTest < Test::Unit::TestCase
13
+
14
+ def respond_load name
15
+ IO.read(File.join(File.dirname(__FILE__), "responses", name))
16
+ end
17
+
18
+ def setup
19
+ @connection = StudioApi::Connection.new("test", "test", "http://localhost")
20
+ StudioApi::TemplateSet.studio_connection = @connection
21
+
22
+ template_sets_out = respond_load "template_sets.xml"
23
+
24
+ ActiveResource::HttpMock.respond_to do |mock|
25
+ mock.get "/template_sets", {"Authorization"=>"Basic dGVzdDp0ZXN0"}, template_sets_out, 200
26
+ end
27
+ end
28
+
29
+ def test_find
30
+ res = StudioApi::TemplateSet.find :all
31
+ assert_equal 6, res.size
32
+ assert_equal 42, res[0].template.size
33
+ end
34
+
35
+ end