studio_api 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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