riddl 0.99.105
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.
- data/AUTHORS +1 -0
- data/COPYING +165 -0
- data/INSTALL +24 -0
- data/README.rdoc +2 -0
- data/Rakefile +17 -0
- data/TODO +17 -0
- data/contrib/riddl.jpg +0 -0
- data/contrib/riddl.png +0 -0
- data/contrib/riddl.svg +138 -0
- data/lib/riddl/client.rb +423 -0
- data/lib/riddl/commonlogger.rb +16 -0
- data/lib/riddl/constants.rb +5 -0
- data/lib/riddl/error.rb +8 -0
- data/lib/riddl/handlers.rb +14 -0
- data/lib/riddl/handlers/oauth.rb +19 -0
- data/lib/riddl/handlers/plain-type.rb +21 -0
- data/lib/riddl/handlers/relaxng.rb +16 -0
- data/lib/riddl/handlers/xmlschema.rb +16 -0
- data/lib/riddl/header.rb +9 -0
- data/lib/riddl/implementation.rb +57 -0
- data/lib/riddl/ns/common-patterns/addon-security/request.xml +25 -0
- data/lib/riddl/ns/common-patterns/addon-security/response.xml +25 -0
- data/lib/riddl/ns/common-patterns/downloadify/1.0/downloadify.xml +18 -0
- data/lib/riddl/ns/common-patterns/notifications-consumer/1.0/consumer.xml +100 -0
- data/lib/riddl/ns/common-patterns/notifications-producer/1.0/producer.xml +204 -0
- data/lib/riddl/ns/common-patterns/properties/1.0/properties.schema.schema +140 -0
- data/lib/riddl/ns/common-patterns/properties/1.0/properties.schema.xsl +89 -0
- data/lib/riddl/ns/common-patterns/properties/1.0/properties.xml +150 -0
- data/lib/riddl/ns/common/datatypes-1_0.rng +79 -0
- data/lib/riddl/ns/common/relaxng-modular.rng +330 -0
- data/lib/riddl/ns/common/relaxng.rng +10 -0
- data/lib/riddl/ns/declaration/1.0/declaration.rng +114 -0
- data/lib/riddl/ns/description/1.0/description.rng +302 -0
- data/lib/riddl/option.rb +9 -0
- data/lib/riddl/parameter.rb +54 -0
- data/lib/riddl/protocols/http/generator.rb +121 -0
- data/lib/riddl/protocols/http/parser.rb +199 -0
- data/lib/riddl/protocols/websocket.rb +103 -0
- data/lib/riddl/protocols/xmpp/generator.rb +176 -0
- data/lib/riddl/protocols/xmpp/parser.rb +118 -0
- data/lib/riddl/roles.rb +15 -0
- data/lib/riddl/roles/http%3A%2F%2Foauth.net%2F1.0%2Faccess_token.rb +30 -0
- data/lib/riddl/roles/http%3A%2F%2Foauth.net%2F1.0%2Fon_behalf.rb +22 -0
- data/lib/riddl/roles/http%3A%2F%2Foauth.net%2F1.0%2Frequest_token.rb +30 -0
- data/lib/riddl/roles/http%3A%2F%2Foauth.net%2F1.0/base.rb +67 -0
- data/lib/riddl/server.rb +519 -0
- data/lib/riddl/utils/description.rb +29 -0
- data/lib/riddl/utils/downloadify.rb +14 -0
- data/lib/riddl/utils/erbserve.rb +23 -0
- data/lib/riddl/utils/fileserve.rb +31 -0
- data/lib/riddl/utils/notifications_producer.rb +310 -0
- data/lib/riddl/utils/properties.rb +474 -0
- data/lib/riddl/utils/xsloverlay.rb +21 -0
- data/lib/riddl/wrapper.rb +280 -0
- data/lib/riddl/wrapper/declaration.rb +103 -0
- data/lib/riddl/wrapper/declaration/facade.rb +94 -0
- data/lib/riddl/wrapper/declaration/interface.rb +34 -0
- data/lib/riddl/wrapper/declaration/tile.rb +107 -0
- data/lib/riddl/wrapper/description.rb +69 -0
- data/lib/riddl/wrapper/description/access.rb +108 -0
- data/lib/riddl/wrapper/description/message_and_transformation.rb +131 -0
- data/lib/riddl/wrapper/description/resource.rb +271 -0
- data/lib/riddl/wrapper/layerchecker.rb +33 -0
- data/lib/riddl/wrapper/messageparser.rb +221 -0
- data/lib/riddl/wrapper/resourcechecker.rb +98 -0
- data/ns/common-patterns/addon-security/request.xml +25 -0
- data/ns/common-patterns/addon-security/response.xml +25 -0
- data/ns/common-patterns/downloadify/1.0/downloadify.xml +18 -0
- data/ns/common-patterns/notifications-consumer/1.0/consumer.xml +100 -0
- data/ns/common-patterns/notifications-producer/1.0/producer.xml +204 -0
- data/ns/common-patterns/properties/1.0/properties.schema.schema +140 -0
- data/ns/common-patterns/properties/1.0/properties.schema.xsl +89 -0
- data/ns/common-patterns/properties/1.0/properties.xml +150 -0
- data/ns/common/datatypes-1_0.rng +79 -0
- data/ns/common/relaxng-modular.rng +330 -0
- data/ns/common/relaxng.rng +10 -0
- data/ns/declaration/1.0/declaration.rng +114 -0
- data/ns/description/1.0/description.rng +302 -0
- data/riddl.gemspec +33 -0
- data/test/smartrunner.rb +48 -0
- data/test/tc_declaration-distributed.rb +79 -0
- data/test/tc_declaration-hybrid.rb +71 -0
- data/test/tc_declaration-local.rb +47 -0
- data/test/tc_helloworld.rb +17 -0
- data/test/tc_producer.rb +54 -0
- data/test/tc_properties.rb +72 -0
- data/tools/flash-policy-server.rb +12 -0
- data/tools/riddlcheck +36 -0
- data/tools/riddlcheck-1_0 +36 -0
- data/tools/riddlprocess +51 -0
- data/tools/riddlprocess-1_0 +51 -0
- metadata +291 -0
@@ -0,0 +1,302 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://riddl.org/ns/description/1.0">
|
3
|
+
<include href="../../common/relaxng-modular.rng"/>
|
4
|
+
<include href="../../common/datatypes-1_0.rng"/>
|
5
|
+
|
6
|
+
<start>
|
7
|
+
<element name="description">
|
8
|
+
<ref name="riddl-description"/>
|
9
|
+
</element>
|
10
|
+
</start>
|
11
|
+
|
12
|
+
<define name="riddl-description">
|
13
|
+
<attribute name="datatypeLibrary">
|
14
|
+
<data type="anyURI"/>
|
15
|
+
</attribute>
|
16
|
+
<ref name="riddl-description-other-atts"/>
|
17
|
+
<zeroOrMore>
|
18
|
+
<choice>
|
19
|
+
<element name="message">
|
20
|
+
<ref name="riddl-description-other-atts"/>
|
21
|
+
<ref name="riddl-message"/>
|
22
|
+
</element>
|
23
|
+
<element name="transformation">
|
24
|
+
<ref name="riddl-description-other-atts"/>
|
25
|
+
<ref name="riddl-transformation"/>
|
26
|
+
</element>
|
27
|
+
</choice>
|
28
|
+
</zeroOrMore>
|
29
|
+
<element name="resource">
|
30
|
+
<ref name="riddl-resource-dynamic"/>
|
31
|
+
</element>
|
32
|
+
</define>
|
33
|
+
|
34
|
+
<define name="riddl-message">
|
35
|
+
<ref name="riddl-att-name"/>
|
36
|
+
<zeroOrMore>
|
37
|
+
<ref name="riddl-header"/>
|
38
|
+
</zeroOrMore>
|
39
|
+
<zeroOrMore>
|
40
|
+
<ref name="riddl-message-other"/>
|
41
|
+
</zeroOrMore>
|
42
|
+
</define>
|
43
|
+
|
44
|
+
<define name="riddl-transformation">
|
45
|
+
<ref name="riddl-att-name"/>
|
46
|
+
<oneOrMore>
|
47
|
+
<choice>
|
48
|
+
<element name="add_header">
|
49
|
+
<oneOrMore>
|
50
|
+
<ref name="riddl-header"/>
|
51
|
+
</oneOrMore>
|
52
|
+
</element>
|
53
|
+
<element name="add_as_first">
|
54
|
+
<oneOrMore>
|
55
|
+
<ref name="riddl-parameter"/>
|
56
|
+
</oneOrMore>
|
57
|
+
</element>
|
58
|
+
<element name="add_as_last">
|
59
|
+
<oneOrMore>
|
60
|
+
<ref name="riddl-parameter"/>
|
61
|
+
</oneOrMore>
|
62
|
+
</element>
|
63
|
+
<element name="add_before">
|
64
|
+
<ref name="riddl-att-name-star"/>
|
65
|
+
<oneOrMore>
|
66
|
+
<ref name="riddl-parameter"/>
|
67
|
+
</oneOrMore>
|
68
|
+
</element>
|
69
|
+
<element name="add_after">
|
70
|
+
<ref name="riddl-att-name-star"/>
|
71
|
+
<oneOrMore>
|
72
|
+
<ref name="riddl-parameter"/>
|
73
|
+
</oneOrMore>
|
74
|
+
</element>
|
75
|
+
<element name="remove_each">
|
76
|
+
<ref name="riddl-att-col-remove"/>
|
77
|
+
</element>
|
78
|
+
<element name="remove_first">
|
79
|
+
<ref name="riddl-att-col-remove"/>
|
80
|
+
</element>
|
81
|
+
<element name="remove_last">
|
82
|
+
<ref name="riddl-att-col-remove"/>
|
83
|
+
</element>
|
84
|
+
</choice>
|
85
|
+
</oneOrMore>
|
86
|
+
</define>
|
87
|
+
|
88
|
+
<define name="riddl-header">
|
89
|
+
<element name="header">
|
90
|
+
<ref name="riddl-att-name"/>
|
91
|
+
<choice>
|
92
|
+
<ref name="riddl-fixed"/>
|
93
|
+
<ref name="data"/>
|
94
|
+
</choice>
|
95
|
+
</element>
|
96
|
+
</define>
|
97
|
+
|
98
|
+
<define name="riddl-message-other">
|
99
|
+
<choice>
|
100
|
+
<ref name="riddl-zeroOrMore"/>
|
101
|
+
<ref name="riddl-oneOrMore"/>
|
102
|
+
<ref name="riddl-optional"/>
|
103
|
+
<ref name="riddl-choice"/>
|
104
|
+
<ref name="riddl-parameter"/>
|
105
|
+
</choice>
|
106
|
+
</define>
|
107
|
+
<define name="riddl-message-other-trimmed">
|
108
|
+
<choice>
|
109
|
+
<ref name="riddl-zeroOrMore"/>
|
110
|
+
<ref name="riddl-oneOrMore"/>
|
111
|
+
<ref name="riddl-choice"/>
|
112
|
+
<ref name="riddl-group"/>
|
113
|
+
<ref name="riddl-parameter"/>
|
114
|
+
</choice>
|
115
|
+
</define>
|
116
|
+
|
117
|
+
<define name="riddl-zeroOrMore">
|
118
|
+
<element name="zeroOrMore">
|
119
|
+
<oneOrMore>
|
120
|
+
<ref name="riddl-message-other"/>
|
121
|
+
</oneOrMore>
|
122
|
+
</element>
|
123
|
+
</define>
|
124
|
+
<define name="riddl-oneOrMore">
|
125
|
+
<element name="oneOrMore">
|
126
|
+
<oneOrMore>
|
127
|
+
<ref name="riddl-message-other"/>
|
128
|
+
</oneOrMore>
|
129
|
+
</element>
|
130
|
+
</define>
|
131
|
+
<define name="riddl-optional">
|
132
|
+
<element name="optional">
|
133
|
+
<oneOrMore>
|
134
|
+
<ref name="riddl-message-other"/>
|
135
|
+
</oneOrMore>
|
136
|
+
</element>
|
137
|
+
</define>
|
138
|
+
<define name="riddl-choice">
|
139
|
+
<element name="choice">
|
140
|
+
<oneOrMore>
|
141
|
+
<ref name="riddl-message-other-trimmed"/>
|
142
|
+
</oneOrMore>
|
143
|
+
</element>
|
144
|
+
</define>
|
145
|
+
<define name="riddl-group">
|
146
|
+
<element name="group">
|
147
|
+
<oneOrMore>
|
148
|
+
<ref name="riddl-message-other"/>
|
149
|
+
</oneOrMore>
|
150
|
+
</element>
|
151
|
+
</define>
|
152
|
+
<define name="riddl-parameter">
|
153
|
+
<element name="parameter">
|
154
|
+
<ref name="riddl-att-name-star"/>
|
155
|
+
<ref name="riddl-description-other-atts"/>
|
156
|
+
<choice>
|
157
|
+
<ref name="riddl-fixed"/>
|
158
|
+
<ref name="data"/>
|
159
|
+
<group>
|
160
|
+
<attribute name="mimetype">
|
161
|
+
<data type="string">
|
162
|
+
<param name="pattern">(([\c]+|\*)/[\c\+]+)|([\c]+/([\c\+]+|\*))|\*</param>
|
163
|
+
</data>
|
164
|
+
</attribute>
|
165
|
+
<optional>
|
166
|
+
<attribute name="handler">
|
167
|
+
<data type="anyURI"/>
|
168
|
+
</attribute>
|
169
|
+
</optional>
|
170
|
+
<optional>
|
171
|
+
<ref name="any"/>
|
172
|
+
</optional>
|
173
|
+
</group>
|
174
|
+
</choice>
|
175
|
+
</element>
|
176
|
+
</define>
|
177
|
+
|
178
|
+
<define name="riddl-fixed">
|
179
|
+
<optional>
|
180
|
+
<attribute name="fixed">
|
181
|
+
<data type="string"/>
|
182
|
+
</attribute>
|
183
|
+
</optional>
|
184
|
+
</define>
|
185
|
+
|
186
|
+
<define name="riddl-resource-attributes">
|
187
|
+
<optional>
|
188
|
+
<attribute name="pattern">
|
189
|
+
<data type="anyURI"/>
|
190
|
+
</attribute>
|
191
|
+
</optional>
|
192
|
+
<optional>
|
193
|
+
<attribute name="role">
|
194
|
+
<data type="anyURI"/>
|
195
|
+
</attribute>
|
196
|
+
</optional>
|
197
|
+
<ref name="riddl-description-other-atts"/>
|
198
|
+
</define>
|
199
|
+
|
200
|
+
<define name="riddl-resource-recursive-choice">
|
201
|
+
<choice>
|
202
|
+
<attribute name="recursive">
|
203
|
+
<data type="boolean"/>
|
204
|
+
</attribute>
|
205
|
+
<group>
|
206
|
+
<ref name="riddl-resource-sub"/>
|
207
|
+
</group>
|
208
|
+
</choice>
|
209
|
+
</define>
|
210
|
+
|
211
|
+
<define name="riddl-resource-dynamic">
|
212
|
+
<ref name="riddl-resource-attributes"/>
|
213
|
+
<ref name="riddl-resource-content"/>
|
214
|
+
<ref name="riddl-resource-recursive-choice"/>
|
215
|
+
</define>
|
216
|
+
<define name="riddl-resource-named">
|
217
|
+
<ref name="riddl-resource-attributes"/>
|
218
|
+
<attribute name="relative">
|
219
|
+
<ref name="riddl-datatype-relpath"/>
|
220
|
+
</attribute>
|
221
|
+
<ref name="riddl-resource-content"/>
|
222
|
+
<ref name="riddl-resource-recursive-choice"/>
|
223
|
+
</define>
|
224
|
+
|
225
|
+
<define name="riddl-resource-sub">
|
226
|
+
<!-- One dynamic resources, multiple named ones, before or after the dynamic -->
|
227
|
+
<zeroOrMore>
|
228
|
+
<element name="resource">
|
229
|
+
<ref name="riddl-resource-named"/>
|
230
|
+
</element>
|
231
|
+
</zeroOrMore>
|
232
|
+
<optional>
|
233
|
+
<element name="resource">
|
234
|
+
<ref name="riddl-resource-dynamic"/>
|
235
|
+
</element>
|
236
|
+
</optional>
|
237
|
+
<zeroOrMore>
|
238
|
+
<element name="resource">
|
239
|
+
<ref name="riddl-resource-named"/>
|
240
|
+
</element>
|
241
|
+
</zeroOrMore>
|
242
|
+
</define>
|
243
|
+
|
244
|
+
<define name="riddl-resource-content">
|
245
|
+
<zeroOrMore>
|
246
|
+
<choice>
|
247
|
+
<element name="post">
|
248
|
+
<ref name="riddl-atts-request"/>
|
249
|
+
<ref name="riddl-description-others"/>
|
250
|
+
</element>
|
251
|
+
<element name="get">
|
252
|
+
<ref name="riddl-atts-request"/>
|
253
|
+
<ref name="riddl-description-others"/>
|
254
|
+
</element>
|
255
|
+
<element name="put">
|
256
|
+
<ref name="riddl-atts-request"/>
|
257
|
+
<ref name="riddl-description-others"/>
|
258
|
+
</element>
|
259
|
+
<element name="delete">
|
260
|
+
<ref name="riddl-atts-request"/>
|
261
|
+
<ref name="riddl-description-others"/>
|
262
|
+
</element>
|
263
|
+
<element name="request">
|
264
|
+
<ref name="riddl-att-method"/>
|
265
|
+
<ref name="riddl-atts-request"/>
|
266
|
+
<ref name="riddl-description-others"/>
|
267
|
+
</element>
|
268
|
+
<element name="websocket">
|
269
|
+
<empty/>
|
270
|
+
</element>
|
271
|
+
</choice>
|
272
|
+
</zeroOrMore>
|
273
|
+
</define>
|
274
|
+
|
275
|
+
<define name="riddl-description-others">
|
276
|
+
<ref name="other"/>
|
277
|
+
<zeroOrMore>
|
278
|
+
<attribute>
|
279
|
+
<anyName>
|
280
|
+
<except>
|
281
|
+
<nsName/>
|
282
|
+
<nsName ns=""/>
|
283
|
+
</except>
|
284
|
+
</anyName>
|
285
|
+
</attribute>
|
286
|
+
</zeroOrMore>
|
287
|
+
</define>
|
288
|
+
|
289
|
+
<define name="riddl-description-other-atts">
|
290
|
+
<zeroOrMore>
|
291
|
+
<attribute>
|
292
|
+
<anyName>
|
293
|
+
<except>
|
294
|
+
<nsName/>
|
295
|
+
<nsName ns=""/>
|
296
|
+
</except>
|
297
|
+
</anyName>
|
298
|
+
</attribute>
|
299
|
+
</zeroOrMore>
|
300
|
+
</define>
|
301
|
+
|
302
|
+
</grammar>
|
data/riddl.gemspec
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = "riddl"
|
3
|
+
s.version = "0.99.105"
|
4
|
+
s.platform = Gem::Platform::RUBY
|
5
|
+
s.license = "LGPL-3"
|
6
|
+
s.summary = "restful interface description and declaration language: tools and client/server libs"
|
7
|
+
|
8
|
+
s.description = "rest service interface definition, mixing, and evolution"
|
9
|
+
|
10
|
+
s.files = Dir['{lib/riddl/ns/**/*,tools/**/*,ns/**/*,contrib/**/*,lib/riddl/**/*,example/**/*}'] + %w(COPYING Rakefile riddl.gemspec README.rdoc TODO AUTHORS INSTALL)
|
11
|
+
s.require_path = 'lib'
|
12
|
+
s.extra_rdoc_files = ['README.rdoc']
|
13
|
+
s.bindir = 'tools'
|
14
|
+
s.executables = ['riddlcheck','riddlprocess']
|
15
|
+
s.test_files = Dir['test/tc_*.rb','test/smartrunner.rb']
|
16
|
+
|
17
|
+
|
18
|
+
s.authors = ['Juergen eTM Mangler']
|
19
|
+
s.email = 'juergen.mangler@gmail.com'
|
20
|
+
s.homepage = 'http://www.wst.univie.ac.at/communities/riddl/'
|
21
|
+
|
22
|
+
s.required_ruby_version = '>=1.9.3'
|
23
|
+
|
24
|
+
s.add_runtime_dependency 'xml-smart', '>=0.3.4'
|
25
|
+
s.add_runtime_dependency 'rack'
|
26
|
+
s.add_runtime_dependency 'thin'
|
27
|
+
s.add_runtime_dependency 'eventmachine', '>= 1.0.0'
|
28
|
+
s.add_runtime_dependency 'em-websocket', '>= 0.4.0'
|
29
|
+
s.add_runtime_dependency 'em-websocket-client'
|
30
|
+
s.add_runtime_dependency 'mime-types'
|
31
|
+
s.add_runtime_dependency 'minitest', '=4.7.4'
|
32
|
+
s.add_runtime_dependency 'blather'
|
33
|
+
end
|
data/test/smartrunner.rb
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
gem 'minitest', '=4.7.4'
|
3
|
+
require 'minitest/autorun'
|
4
|
+
require 'socket'
|
5
|
+
|
6
|
+
class TestServerInfo
|
7
|
+
attr_reader :server,:schema
|
8
|
+
attr_accessor :url, :port
|
9
|
+
|
10
|
+
def initialize(server,schema)
|
11
|
+
@server = server
|
12
|
+
@schema = schema
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
module ServerCase
|
17
|
+
def setup
|
18
|
+
self.class::SERVER.each do |s|
|
19
|
+
if self.class::NORUN
|
20
|
+
out = `#{s.server} info`
|
21
|
+
s.port = out.match(/:(\d+)\)/)[1].to_i
|
22
|
+
s.url = out.match(/\(([^\)]+)\)/)[1]
|
23
|
+
else
|
24
|
+
out = `#{s.server} start`
|
25
|
+
s.port = out.match(/:(\d+)\)/)[1].to_i
|
26
|
+
s.url = out.match(/\(([^\)]+)\)/)[1]
|
27
|
+
|
28
|
+
up = false
|
29
|
+
until up
|
30
|
+
begin
|
31
|
+
TCPSocket.new('localhost', s.port)
|
32
|
+
up = true
|
33
|
+
rescue => e
|
34
|
+
sleep 0.2
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def teardown
|
42
|
+
unless self.class::NORUN
|
43
|
+
self.class::SERVER.each do |s|
|
44
|
+
`#{s.server} stop`
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/smartrunner.rb')
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + '/../lib/riddl/client')
|
3
|
+
require 'xml/smart'
|
4
|
+
require 'pp'
|
5
|
+
|
6
|
+
class TestDecDi < MiniTest::Unit::TestCase
|
7
|
+
include ServerCase
|
8
|
+
|
9
|
+
SERVER = [
|
10
|
+
TestServerInfo.new(
|
11
|
+
File.expand_path(File.dirname(__FILE__) + '/../examples/declaration-server-distributed/main.rb'),
|
12
|
+
File.expand_path(File.dirname(__FILE__) + '/../examples/declaration-server-distributed/main.xml')
|
13
|
+
),
|
14
|
+
TestServerInfo.new(
|
15
|
+
File.expand_path(File.dirname(__FILE__) + '/../examples/declaration-server-distributed/properties.rb'),
|
16
|
+
File.expand_path(File.dirname(__FILE__) + '/../examples/declaration-server-distributed/properties.xml')
|
17
|
+
),
|
18
|
+
TestServerInfo.new(
|
19
|
+
File.expand_path(File.dirname(__FILE__) + '/../examples/declaration-server-distributed/xsloverlay.rb'),
|
20
|
+
File.expand_path(File.dirname(__FILE__) + '/../examples/declaration-server-distributed/xsloverlay.xml')
|
21
|
+
),
|
22
|
+
TestServerInfo.new(
|
23
|
+
File.expand_path(File.dirname(__FILE__) + '/../examples/declaration-server-distributed/declaration.rb'),
|
24
|
+
File.expand_path(File.dirname(__FILE__) + '/../examples/declaration-server-distributed/declaration.xml')
|
25
|
+
)
|
26
|
+
]
|
27
|
+
NORUN = false
|
28
|
+
|
29
|
+
def test_decdi
|
30
|
+
ep = Riddl::Client.interface(SERVER[3].url,SERVER[3].schema)
|
31
|
+
|
32
|
+
test = ep.resource('/')
|
33
|
+
status, res = test.get
|
34
|
+
assert status == 200
|
35
|
+
doc = XML::Smart.string(res[0].value.read)
|
36
|
+
assert doc.find('/processing-instruction("xml-stylesheet")').length == 1
|
37
|
+
assert doc.find('/processing-instruction("xml-stylesheet")').first.content =~ /instances\.xsl/
|
38
|
+
assert doc.find('/instances/instance').length == 2
|
39
|
+
|
40
|
+
test = ep.resource('/1')
|
41
|
+
status, res = test.get
|
42
|
+
assert status == 200
|
43
|
+
doc = XML::Smart.string(res[0].value.read)
|
44
|
+
assert doc.find('/processing-instruction("xml-stylesheet")').length == 1
|
45
|
+
assert doc.find('/processing-instruction("xml-stylesheet")').first.content =~ /info\.xsl/
|
46
|
+
assert doc.find('/info/properties').length == 1
|
47
|
+
|
48
|
+
test = ep.resource('/1/properties')
|
49
|
+
status, res = test.get
|
50
|
+
assert status == 200
|
51
|
+
doc = XML::Smart.string(res[0].value.read)
|
52
|
+
assert doc.find('/processing-instruction("xml-stylesheet")').length == 1
|
53
|
+
assert doc.find('/processing-instruction("xml-stylesheet")').first.content =~ /properties\.xsl/
|
54
|
+
assert doc.find('/xmlns:properties/xmlns:name').length == 1
|
55
|
+
assert doc.find('/xmlns:properties/xmlns:state').length == 1
|
56
|
+
assert doc.find('/xmlns:properties/xmlns:dataelements').length == 1
|
57
|
+
assert doc.find('/xmlns:properties/xmlns:endpoints').length == 1
|
58
|
+
assert doc.find('/xmlns:properties/xmlns:handlerwrapper').length == 1
|
59
|
+
assert doc.find('/xmlns:properties/xmlns:description').length == 1
|
60
|
+
|
61
|
+
test = ep.resource('/1/properties/values')
|
62
|
+
status, res = test.get
|
63
|
+
assert status == 200
|
64
|
+
doc = XML::Smart.string(res[0].value.read)
|
65
|
+
assert doc.find('/processing-instruction("xml-stylesheet")').length == 1
|
66
|
+
assert doc.find('/processing-instruction("xml-stylesheet")').first.content =~ /values\.xsl/
|
67
|
+
assert doc.find('/xmlns:properties/xmlns:property[.="name"]').length == 1
|
68
|
+
assert doc.find('/xmlns:properties/xmlns:property[.="state"]').length == 1
|
69
|
+
assert doc.find('/xmlns:properties/xmlns:property[.="dataelements"]').length == 1
|
70
|
+
assert doc.find('/xmlns:properties/xmlns:property[.="endpoints"]').length == 1
|
71
|
+
assert doc.find('/xmlns:properties/xmlns:property[.="handlerwrapper"]').length == 1
|
72
|
+
assert doc.find('/xmlns:properties/xmlns:property[.="description"]').length == 1
|
73
|
+
|
74
|
+
test = ep.resource('/1/properties/values/name')
|
75
|
+
status, res = test.get
|
76
|
+
assert status == 200
|
77
|
+
assert res[0].value == 'laller'
|
78
|
+
end
|
79
|
+
end
|