shibkit-meta_meta 0.2.2
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/.document +5 -0
- data/.rspec +1 -0
- data/Gemfile +21 -0
- data/Gemfile.lock +52 -0
- data/Icon.png +0 -0
- data/LICENSE.txt +177 -0
- data/README.md +789 -0
- data/Rakefile +38 -0
- data/VERSION +1 -0
- data/examples/biggest_entity_id.rb +4 -0
- data/lib/shibkit/meta_meta.rb +600 -0
- data/lib/shibkit/meta_meta/attribute.rb +73 -0
- data/lib/shibkit/meta_meta/config.rb +463 -0
- data/lib/shibkit/meta_meta/contact.rb +85 -0
- data/lib/shibkit/meta_meta/data/default_metadata/example_federation_metadata.xml +168 -0
- data/lib/shibkit/meta_meta/data/default_metadata/local_metadata.xml +66 -0
- data/lib/shibkit/meta_meta/data/default_metadata/uncommon_federation_metadata.xml +115 -0
- data/lib/shibkit/meta_meta/data/default_metadata_cache.yml +166 -0
- data/lib/shibkit/meta_meta/data/dev_sources.yml +86 -0
- data/lib/shibkit/meta_meta/data/real_sources.yml +163 -0
- data/lib/shibkit/meta_meta/entity.rb +219 -0
- data/lib/shibkit/meta_meta/federation.rb +161 -0
- data/lib/shibkit/meta_meta/idp.rb +81 -0
- data/lib/shibkit/meta_meta/logo.rb +216 -0
- data/lib/shibkit/meta_meta/metadata_item.rb +244 -0
- data/lib/shibkit/meta_meta/mixin/cached_downloads.rb +127 -0
- data/lib/shibkit/meta_meta/mixin/xpath_chores.rb +111 -0
- data/lib/shibkit/meta_meta/organisation.rb +73 -0
- data/lib/shibkit/meta_meta/provider.rb +195 -0
- data/lib/shibkit/meta_meta/provisioning/base.rb +33 -0
- data/lib/shibkit/meta_meta/requested_attribute.rb +29 -0
- data/lib/shibkit/meta_meta/service.rb +94 -0
- data/lib/shibkit/meta_meta/source.rb +558 -0
- data/lib/shibkit/meta_meta/sp.rb +79 -0
- data/shibkit-meta_meta.gemspec +154 -0
- data/spec/meta_meta/attribute/token +0 -0
- data/spec/meta_meta/config/autoloading_and_refreshing_spec.rb +72 -0
- data/spec/meta_meta/config/code_nspec.rb +13 -0
- data/spec/meta_meta/config/configuration_spec.rb +30 -0
- data/spec/meta_meta/config/creation_spec.rb +43 -0
- data/spec/meta_meta/config/downloading_and_caching_settings_spec.rb +216 -0
- data/spec/meta_meta/config/env_platform_settings.rb +129 -0
- data/spec/meta_meta/config/filtering_settings_spec.rb +123 -0
- data/spec/meta_meta/config/init.rb +8 -0
- data/spec/meta_meta/config/logger_settings_spec.rb +91 -0
- data/spec/meta_meta/config/smartcache_settings_spec.rb +110 -0
- data/spec/meta_meta/config/source_file_settings_spec.rb +99 -0
- data/spec/meta_meta/config/tagging_settings_spec.rb +81 -0
- data/spec/meta_meta/config/working_directory_settings_spec.rb +106 -0
- data/spec/meta_meta/config/xml_processing_settings_spec.rb +75 -0
- data/spec/meta_meta/contact/contact_oldspec.rb +0 -0
- data/spec/meta_meta/entity/entity_oldspec.rb +53 -0
- data/spec/meta_meta/federation/federation_oldspec.rb +0 -0
- data/spec/meta_meta/idp/token +0 -0
- data/spec/meta_meta/logo/token +0 -0
- data/spec/meta_meta/meta_meta/cache_example.yaml +141284 -0
- data/spec/meta_meta/meta_meta/meta_meta_spec.rb +269 -0
- data/spec/meta_meta/meta_meta/saved_sources.yaml +46 -0
- data/spec/meta_meta/metadata_item/token +0 -0
- data/spec/meta_meta/organisation/organisation_oldspec.rb +0 -0
- data/spec/meta_meta/provider/token +0 -0
- data/spec/meta_meta/requested_attribute/token +0 -0
- data/spec/meta_meta/service/token +0 -0
- data/spec/meta_meta/source/application_extras_spec.rb +234 -0
- data/spec/meta_meta/source/conversion_spec.rb +75 -0
- data/spec/meta_meta/source/creation_spec.rb +0 -0
- data/spec/meta_meta/source/downloads_and_caching_spec.rb +0 -0
- data/spec/meta_meta/source/federation_information_spec.rb +11 -0
- data/spec/meta_meta/source/fixtures.rb +24 -0
- data/spec/meta_meta/source/init.rb +1 -0
- data/spec/meta_meta/source/loading_and_saving_spec.rb +0 -0
- data/spec/meta_meta/source/metadata_details_spec.rb +0 -0
- data/spec/meta_meta/source/metadata_integrity_spec.rb +0 -0
- data/spec/meta_meta/source/selection_spec.rb +0 -0
- data/spec/meta_meta/source/source_oldspec.rb +353 -0
- data/spec/meta_meta/source/xml_parsing_spec.rb +0 -0
- data/spec/meta_meta/sp/token +0 -0
- data/spec/meta_meta/template +2 -0
- data/spec/moi/config_spec.rb +0 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +25 -0
- data/spec/support/supply_xml.rb +0 -0
- metadata +320 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '../../../spec_helper')
|
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + '/fixtures.rb')
|
|
3
|
+
|
|
4
|
+
describe Shibkit::MetaMeta::Source, "conversion to and from other classes" do
|
|
5
|
+
|
|
6
|
+
#require File.expand_path(File.dirname(__FILE__) + '/fixtures')
|
|
7
|
+
|
|
8
|
+
##
|
|
9
|
+
before(:each) do
|
|
10
|
+
@source = Shibkit::MetaMeta::Source.new
|
|
11
|
+
@class = Shibkit::MetaMeta::Source
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
describe "the Source class" do
|
|
15
|
+
|
|
16
|
+
it "should respond to from_hash" do
|
|
17
|
+
|
|
18
|
+
Shibkit::MetaMeta::Source.should respond_to :from_hash
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
#it "should be able to create a new Source object from a Hash" do
|
|
23
|
+
#
|
|
24
|
+
# Shibkit::MetaMeta::Source.from_hash({})
|
|
25
|
+
#
|
|
26
|
+
#end
|
|
27
|
+
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
subject { @source }
|
|
31
|
+
|
|
32
|
+
it { should respond_to :to_hash }
|
|
33
|
+
it { should respond_to :to_federation }
|
|
34
|
+
it { should respond_to :to_s }
|
|
35
|
+
|
|
36
|
+
it "should be able to output a hash"
|
|
37
|
+
|
|
38
|
+
describe "the saved hash" do
|
|
39
|
+
|
|
40
|
+
@parent = TYPICAL_SOURCE_OBJECT
|
|
41
|
+
|
|
42
|
+
it "should have all keys as symbols"
|
|
43
|
+
it "should have the same name_uri"
|
|
44
|
+
it "should have the same name"
|
|
45
|
+
it "should have the same refresh_delay (stored as epoch seconds)"
|
|
46
|
+
it "should have the same display_name"
|
|
47
|
+
it "should have the same type"
|
|
48
|
+
it "should have the same countries"
|
|
49
|
+
it "should have the same metadata_source"
|
|
50
|
+
it "should have the same certificate_source"
|
|
51
|
+
it "should have the same fingerprint"
|
|
52
|
+
it "should have the same refeds_info"
|
|
53
|
+
it "should have the same homepage"
|
|
54
|
+
it "should have the same languages"
|
|
55
|
+
it "should have the same support_email"
|
|
56
|
+
it "should have the same description"
|
|
57
|
+
it "should have the same active"
|
|
58
|
+
it "should have the same trustiness"
|
|
59
|
+
it "should have the same groups"
|
|
60
|
+
it "should have the same tags"
|
|
61
|
+
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
it "should be able to create a federation object"
|
|
65
|
+
|
|
66
|
+
describe "the federation object" do
|
|
67
|
+
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
it "should have a special to_s method that is its URI"
|
|
71
|
+
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '../../../spec_helper')
|
|
2
|
+
|
|
3
|
+
describe Shibkit::MetaMeta::Config, "automatic download and refresh settings" do
|
|
4
|
+
|
|
5
|
+
## Testing a singleton is tricky! Make a copy of the class each time
|
|
6
|
+
before(:each) do
|
|
7
|
+
@config_class = Shibkit::MetaMeta::Config.clone
|
|
8
|
+
@config = @config_class.instance
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
|
|
2
|
+
default_source_object = Shibkit::MetaMeta::Source.new
|
|
3
|
+
|
|
4
|
+
TYPICAL_SOURCE_OBJECT = Shibkit::MetaMeta::Source.new do |s|
|
|
5
|
+
s.name_uri = ""
|
|
6
|
+
s.name = "Unnown"
|
|
7
|
+
s.refresh_delay = 86400
|
|
8
|
+
s.display_name = "Unknown"
|
|
9
|
+
s.type = "federation"
|
|
10
|
+
s.countries = []
|
|
11
|
+
s.metadata_source = nil
|
|
12
|
+
s.certificate_source = nil
|
|
13
|
+
s.fingerprint = nil
|
|
14
|
+
s.refeds_url = nil
|
|
15
|
+
s.homepage = nil
|
|
16
|
+
s.languages = []
|
|
17
|
+
s.support_email = nil
|
|
18
|
+
s.description = ""
|
|
19
|
+
s.active = true
|
|
20
|
+
s.trustiness = 1
|
|
21
|
+
s.groups = []
|
|
22
|
+
s.tags = []
|
|
23
|
+
|
|
24
|
+
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
|
2
|
+
require 'shibkit/metameta/source'
|
|
3
|
+
|
|
4
|
+
describe Shibkit::MetaMeta::Source do
|
|
5
|
+
|
|
6
|
+
shared_examples "any source object" do
|
|
7
|
+
|
|
8
|
+
describe "#name_uri" do
|
|
9
|
+
|
|
10
|
+
it ""
|
|
11
|
+
it ""
|
|
12
|
+
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
describe "#name" do
|
|
16
|
+
|
|
17
|
+
it ""
|
|
18
|
+
it ""
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
describe "#display_name" do
|
|
23
|
+
|
|
24
|
+
it ""
|
|
25
|
+
it ""
|
|
26
|
+
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
describe "#type" do
|
|
31
|
+
|
|
32
|
+
it ""
|
|
33
|
+
it ""
|
|
34
|
+
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
describe "#refresh_delay" do
|
|
39
|
+
|
|
40
|
+
it ""
|
|
41
|
+
it ""
|
|
42
|
+
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
describe "#countries" do
|
|
47
|
+
|
|
48
|
+
it ""
|
|
49
|
+
it ""
|
|
50
|
+
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
describe "#metadata_source" do
|
|
55
|
+
|
|
56
|
+
it ""
|
|
57
|
+
it ""
|
|
58
|
+
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
describe "#certificate_source" do
|
|
63
|
+
|
|
64
|
+
it ""
|
|
65
|
+
it ""
|
|
66
|
+
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
describe "#fingerprint" do
|
|
71
|
+
|
|
72
|
+
it ""
|
|
73
|
+
it ""
|
|
74
|
+
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
describe "#refeds_info" do
|
|
79
|
+
|
|
80
|
+
it ""
|
|
81
|
+
it ""
|
|
82
|
+
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
describe "#homepage" do
|
|
87
|
+
|
|
88
|
+
it ""
|
|
89
|
+
it ""
|
|
90
|
+
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
describe "#languages" do
|
|
95
|
+
|
|
96
|
+
it ""
|
|
97
|
+
it ""
|
|
98
|
+
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
describe "#support_email" do
|
|
103
|
+
|
|
104
|
+
it ""
|
|
105
|
+
it ""
|
|
106
|
+
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
describe "#description" do
|
|
111
|
+
|
|
112
|
+
it ""
|
|
113
|
+
it ""
|
|
114
|
+
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
describe "#fetched_at" do
|
|
119
|
+
|
|
120
|
+
it ""
|
|
121
|
+
it ""
|
|
122
|
+
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
describe "#messages" do
|
|
127
|
+
|
|
128
|
+
it ""
|
|
129
|
+
it ""
|
|
130
|
+
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
describe "#status" do
|
|
135
|
+
|
|
136
|
+
it ""
|
|
137
|
+
it ""
|
|
138
|
+
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
describe "#refresh" do
|
|
143
|
+
|
|
144
|
+
it ""
|
|
145
|
+
it ""
|
|
146
|
+
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
describe "#fetch_metadata" do
|
|
151
|
+
|
|
152
|
+
it ""
|
|
153
|
+
it ""
|
|
154
|
+
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
describe "#fetch_certificate" do
|
|
159
|
+
|
|
160
|
+
it ""
|
|
161
|
+
it ""
|
|
162
|
+
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
describe "#validate" do
|
|
167
|
+
|
|
168
|
+
it ""
|
|
169
|
+
it ""
|
|
170
|
+
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
describe "#valid?" do
|
|
175
|
+
|
|
176
|
+
it ""
|
|
177
|
+
it ""
|
|
178
|
+
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
describe "#certificate_pem" do
|
|
183
|
+
|
|
184
|
+
it ""
|
|
185
|
+
it ""
|
|
186
|
+
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
describe "#content" do
|
|
191
|
+
|
|
192
|
+
it ""
|
|
193
|
+
it ""
|
|
194
|
+
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
describe "#ok?" do
|
|
199
|
+
|
|
200
|
+
it ""
|
|
201
|
+
it ""
|
|
202
|
+
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
shared_examples "a federation" do
|
|
208
|
+
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
shared_examples "a collection" do
|
|
213
|
+
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
shared_examples "a remote source" do
|
|
218
|
+
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
shared_examples "a local source" do
|
|
223
|
+
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
context "created with default values" do
|
|
227
|
+
|
|
228
|
+
it_behaves_like "any source object"
|
|
229
|
+
|
|
230
|
+
end
|
|
231
|
+
|
|
232
|
+
context "manually defined as a federation with remote metadata" do
|
|
233
|
+
|
|
234
|
+
it_behaves_like "any source object"
|
|
235
|
+
it_behaves_like "a federation"
|
|
236
|
+
it_behaves_like "a remote source"
|
|
237
|
+
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
context "manually defined as a federation with local metadata" do
|
|
241
|
+
|
|
242
|
+
it_behaves_like "any source object"
|
|
243
|
+
it_behaves_like "a federation"
|
|
244
|
+
it_behaves_like "a local source"
|
|
245
|
+
|
|
246
|
+
end
|
|
247
|
+
|
|
248
|
+
context "manually defined as a collection with local metadata" do
|
|
249
|
+
|
|
250
|
+
it_behaves_like "any source object"
|
|
251
|
+
it_behaves_like "a collection"
|
|
252
|
+
it_behaves_like "a local source"
|
|
253
|
+
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
context "manually defined as a collection with remote metadata" do
|
|
257
|
+
|
|
258
|
+
it_behaves_like "any source object"
|
|
259
|
+
it_behaves_like "a collection"
|
|
260
|
+
it_behaves_like "a remote source"
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
context "a collection loaded from the dev sourcefile" do
|
|
264
|
+
|
|
265
|
+
it_behaves_like "any source object"
|
|
266
|
+
it_behaves_like "a collection"
|
|
267
|
+
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
context "a federation loaded from the dev sourcefile" do
|
|
271
|
+
|
|
272
|
+
it_behaves_like "any source object"
|
|
273
|
+
it_behaves_like "a federation"
|
|
274
|
+
|
|
275
|
+
end
|
|
276
|
+
|
|
277
|
+
context "a collection loaded from the real sourcefile" do
|
|
278
|
+
|
|
279
|
+
it_behaves_like "any source object"
|
|
280
|
+
it_behaves_like "a collection"
|
|
281
|
+
|
|
282
|
+
end
|
|
283
|
+
|
|
284
|
+
context "a federation loaded from the real sourcefile" do
|
|
285
|
+
|
|
286
|
+
it_behaves_like "any source object"
|
|
287
|
+
it_behaves_like "a federation"
|
|
288
|
+
|
|
289
|
+
end
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
describe "Source#config" do
|
|
295
|
+
|
|
296
|
+
it ""
|
|
297
|
+
it ""
|
|
298
|
+
|
|
299
|
+
end
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
describe "Source#load" do
|
|
303
|
+
|
|
304
|
+
it ""
|
|
305
|
+
it ""
|
|
306
|
+
|
|
307
|
+
end
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
describe "Source#cache_options" do
|
|
311
|
+
|
|
312
|
+
it ""
|
|
313
|
+
it ""
|
|
314
|
+
|
|
315
|
+
end
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
describe "Source#environment" do
|
|
319
|
+
|
|
320
|
+
it ""
|
|
321
|
+
it ""
|
|
322
|
+
|
|
323
|
+
end
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
describe "Source#verbose?" do
|
|
327
|
+
|
|
328
|
+
it ""
|
|
329
|
+
it ""
|
|
330
|
+
|
|
331
|
+
end
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
describe "Source#auto_refresh" do
|
|
335
|
+
|
|
336
|
+
it ""
|
|
337
|
+
it ""
|
|
338
|
+
|
|
339
|
+
end
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
describe "Source#log_file" do
|
|
343
|
+
|
|
344
|
+
it ""
|
|
345
|
+
it ""
|
|
346
|
+
|
|
347
|
+
end
|
|
348
|
+
|
|
349
|
+
end
|
|
350
|
+
|
|
351
|
+
## Must have an ID/URI before considered useful - various method should raise
|
|
352
|
+
# exceptions when object is unsuitable.
|
|
353
|
+
|