rif-cs 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,228 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
-
3
- describe "RIFCS::Party" do
4
- class PartyExample
5
- require 'date'
6
- include RIFCS::Party
7
-
8
- attr_reader :party_key
9
-
10
- def initialize(key='a key')
11
- @party_key = key
12
- end
13
-
14
- def party_group
15
- 'test group'
16
- end
17
-
18
- def party_originating_source
19
- 'tomato'
20
- end
21
-
22
- def party_type
23
- 'person'
24
- end
25
-
26
- def party_date_modified
27
- Time.new(2012, 6, 14).utc
28
- end
29
-
30
- def party_identifiers
31
- [
32
- { value: 'http://example.com', type: 'uri' },
33
- { value: '123', type: 'local' }
34
- ]
35
- end
36
-
37
- def party_names
38
- [
39
- {
40
- type: 'primary',
41
- name_parts: [
42
- { type: 'title', value: 'Dr' },
43
- { type: 'given', value: 'John' },
44
- { type: 'family', value: 'Doe' }
45
- ]
46
- },
47
- ]
48
- end
49
-
50
- def party_related_info
51
- [
52
- {
53
- type: 'website',
54
- identifier: {
55
- value: 'http://example.com/personalsites/foo',
56
- type: 'uri'
57
- },
58
- title: 'This person\'s blog',
59
- notes: 'Another blog'
60
- },
61
- {
62
- type: 'publication',
63
- identifier: {
64
- value: '111',
65
- type: 'isbn'
66
- },
67
- title: 'The Ordering of Things',
68
- notes: 'Not available'
69
- }
70
- ]
71
- end
72
-
73
- def party_related_objects
74
- {
75
- has_association_with: [
76
- {
77
- key: 'b party',
78
- relation: {
79
- description: 'Supervisor'
80
- }
81
- }
82
- ],
83
- is_member_of: [
84
- {
85
- key: 'some group'
86
- }
87
- ]
88
- }
89
- end
90
-
91
- def party_locations
92
- [
93
- {
94
- date_from: Time.new(2012, 6, 14).utc,
95
- addresses: [
96
- {
97
- electronic: [
98
- {
99
- type: 'email',
100
- value: 'joe@example.com'
101
- },
102
- {
103
- type: 'uri',
104
- value: "http://example.com/people/#{@party_key}",
105
- args: [
106
- { value: 'placeholder', required: 'false' }
107
- ]
108
- }
109
- ],
110
- physical: [
111
- {
112
- type: 'postalAddress',
113
- address_parts: [
114
- {
115
- type: 'country',
116
- value: 'Austrlia'
117
- },
118
- ]
119
- },
120
- {
121
- address_parts: [
122
- {
123
- type: 'telephoneNumber',
124
- value: '+61 2 9123 4567'
125
- }
126
- ]
127
- }
128
- ]
129
- }
130
- ]
131
- }
132
- ]
133
- end
134
-
135
- def party_coverage
136
- [
137
- {
138
- spatials: [
139
- {
140
- value: '<gmlPoint gmlid="p21" srsName="http://www.opengis.net/def/crs/EPSG/0/4326"><gmlcoordinates>45.67, 88.56</gmlcoordinates></gmlPoint>',
141
- type: 'gml'
142
- }
143
- ],
144
- temporals: [
145
- {
146
- dates: [
147
- {
148
- value: Time.new(2012, 6, 14).utc,
149
- date_format: 'UTC',
150
- type: 'dateFrom'
151
- },
152
- {
153
- value: Time.new(2013, 6, 14).utc,
154
- date_format: 'UTC',
155
- type: 'dateTo'
156
- },
157
- ],
158
- text: ['Self destructs in 1 year']
159
- }
160
- ]
161
- }
162
- ]
163
- end
164
-
165
- def party_descriptions
166
- [
167
- {
168
- value: 'A researcher',
169
- type: 'brief',
170
- 'xmllang' => nil
171
- },
172
- {
173
- value: 'Not just any researcher',
174
- type: 'full'
175
- }
176
- ]
177
- end
178
-
179
- def party_existence_dates
180
- [
181
- {
182
- start_date: {
183
- value: Time.new(2012, 6, 14).utc,
184
- date_format: 'UTC'
185
- },
186
- end_date: {
187
- }
188
- }
189
- ]
190
- end
191
-
192
- def party_rights
193
- [
194
- {
195
- rights_statement: {
196
- rights_uri: 'http://www.intersect.org.au/policies',
197
- value: 'Copyright 2012 Intersect Australia Ltd.'
198
- },
199
- licence: {
200
- value: 'Attribution (CC BY)',
201
- rights_uri: 'http://creativecommons.org/licenses/by/3.0',
202
- type: ''
203
- },
204
- access_rights: {
205
- value: 'Available to all without restriction'
206
- }
207
- }
208
- ]
209
- end
210
-
211
- def party_subjects
212
- [
213
- {
214
- value: '123456',
215
- type: 'anzsrc-for'
216
- }
217
- ]
218
- end
219
-
220
- end
221
-
222
- it "should give a RIF-CS XML Party record for a model" do
223
- expected = IO.read(File.join(File.dirname(__FILE__), 'files', 'party.xml'))
224
- party = PartyExample.new
225
- party.to_rifcs.to_xml.should eq(expected)
226
- end
227
-
228
- end
@@ -1,223 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
- describe "RIFCS::Service" do
3
-
4
- class ServiceExample
5
- include RIFCS::Service
6
-
7
- attr_reader :service_key, :service_group
8
-
9
- def initialize(key, group='Intersect Australia')
10
- @service_key = key || 'service key'
11
- @service_group = group
12
- end
13
-
14
- def service_originating_source
15
- 'http://www.intersect.org.au'
16
- end
17
-
18
- def service_root
19
- {
20
- date_modified: Time.new(2012, 6, 14).utc,
21
- type: 'create'
22
- }
23
- end
24
-
25
- def service_identifiers
26
- [
27
- {
28
- type: 'local',
29
- value: 'hdl:1959.4/004_311'
30
- }
31
- ]
32
- end
33
-
34
- def service_names
35
- [
36
- {
37
- :date_from => Time.new(2012, 6, 14),
38
- :date_to => Time.new(2013, 6, 14),
39
- :type => 'create',
40
- :name_parts => [
41
- {
42
- :type => nil,
43
- :value => 'Autolab PGSTAT 12 Potentiostat'
44
- }
45
- ]
46
- }
47
- ]
48
- end
49
-
50
- def service_locations
51
- [
52
- {
53
- addresses: [
54
- {
55
- electronic: [
56
- {
57
- type: 'email',
58
- value: 'joe@example.com'
59
- },
60
- ],
61
- physical: [
62
- {
63
- type: 'postalAddress',
64
- address_parts: [
65
- {
66
- type: 'country',
67
- value: 'Austrlia'
68
- },
69
- ]
70
- },
71
- {
72
- address_parts: [
73
- {
74
- type: 'telephoneNumber',
75
- value: '+61 2 9123 4567'
76
- }
77
- ]
78
- }
79
- ]
80
- }
81
- ],
82
- spatials: [
83
- {
84
- value: '<gmlPoint gmlid="p21" srsName="http://www.opengis.net/def/crs/EPSG/0/4326"><gmlcoordinates>45.67, 88.56</gmlcoordinates></gmlPoint>',
85
- type: 'gml'
86
- }
87
- ]
88
- }
89
- ]
90
- end
91
-
92
- def service_coverage
93
- [
94
- {
95
- spatials: [
96
- {
97
- value: '<gmlPoint gmlid="p21" srsName="http://www.opengis.net/def/crs/EPSG/0/4326"><gmlcoordinates>45.67, 88.56</gmlcoordinates></gmlPoint>',
98
- type: 'gml'
99
- }
100
- ],
101
- temporals: [
102
- {
103
- dates: [
104
- {
105
- value: Time.new(2012,6,14).utc,
106
- date_format: 'UTC',
107
- type: 'dateFrom'
108
- },
109
- {
110
- value: Time.new(2013,6,14).utc,
111
- date_format: 'UTC',
112
- type: 'dateTo'
113
- },
114
- ],
115
- text: ['Self destructs in 1 year']
116
- }
117
- ]
118
- }
119
- ]
120
- end
121
-
122
- def service_related_objects
123
- {
124
- has_association_with: [
125
- {
126
- key: 'http://nla.gov.au/nla.party-593921',
127
- }
128
- ],
129
- is_presented_by: [
130
- {
131
- key: 'some group'
132
- }
133
- ]
134
- }
135
- end
136
-
137
- def service_subjects
138
- [
139
- ]
140
- end
141
-
142
- def service_descriptions
143
- [
144
- {
145
- type: 'deliverymethod',
146
- value: 'offline'
147
- },
148
- {
149
- type: 'full',
150
- value: 'General-purpose potentiostat.'
151
- }
152
- ]
153
- end
154
-
155
- def service_access_policies
156
- [
157
- { value: 'http://example.com/policy' }
158
- ]
159
- end
160
-
161
- def service_rights
162
- [
163
- {
164
- rights_statement: {
165
- rights_uri: 'http://www.intersect.org.au/policies',
166
- value: 'Copyright 2012 Intersect Australia Ltd.'
167
- },
168
- licence: {
169
- value: 'Attribution (CC BY)',
170
- rights_uri: 'http://creativecommons.org/licenses/by/3.0',
171
- type: ''
172
- },
173
- access_rights: {
174
- value: 'Available to all without restriction'
175
- }
176
- }
177
- ]
178
- end
179
-
180
- def service_existence_dates
181
- [
182
- {
183
- start_date: {
184
- value: Time.new(2012, 6, 14).utc,
185
- date_format: 'UTC'
186
- },
187
- end_date: {
188
- }
189
- }
190
- ]
191
- end
192
-
193
- def service_related_info
194
- [
195
- {
196
- type: 'website',
197
- identifier: {
198
- value: 'http://example.com/personalsites/foo',
199
- type: 'uri'
200
- },
201
- title: 'This person\'s blog',
202
- notes: 'Another blog'
203
- },
204
- {
205
- type: 'publication',
206
- identifier: {
207
- value: '111',
208
- type: 'isbn'
209
- },
210
- title: 'The Ordering of Things',
211
- notes: 'Not available'
212
- }
213
- ]
214
- end
215
-
216
- end
217
-
218
- it "should give a RIF-CS XML Service record for a model" do
219
- expected = IO.read(File.join(File.dirname(__FILE__), 'files', 'service.xml'))
220
- service = ServiceExample.new(nil)
221
- service.to_rifcs.to_xml.should eq(expected)
222
- end
223
- end