yaccl 0.1.5 → 1.0.pre.alpha

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 (61) hide show
  1. checksums.yaml +4 -4
  2. data/lib/yaccl/children.rb +55 -0
  3. data/lib/yaccl/connection.rb +147 -0
  4. data/lib/yaccl/document.rb +62 -0
  5. data/lib/yaccl/folder.rb +76 -0
  6. data/lib/yaccl/helpers.rb +59 -0
  7. data/lib/yaccl/item.rb +11 -0
  8. data/lib/yaccl/object.rb +122 -0
  9. data/lib/yaccl/object_factory.rb +27 -0
  10. data/lib/yaccl/policy.rb +26 -0
  11. data/lib/yaccl/property_definition.rb +32 -0
  12. data/lib/yaccl/query.rb +53 -0
  13. data/lib/yaccl/query_result.rb +15 -0
  14. data/lib/yaccl/relationship.rb +18 -0
  15. data/lib/yaccl/repository.rb +108 -0
  16. data/lib/yaccl/server.rb +37 -0
  17. data/lib/yaccl/type.rb +106 -0
  18. data/lib/yaccl/version.rb +1 -1
  19. data/lib/yaccl.rb +21 -11
  20. data/readme.md +0 -3
  21. data/spec/{model/document_spec.rb → document_spec.rb} +4 -4
  22. data/spec/{model/folder_spec.rb → folder_spec.rb} +6 -6
  23. data/spec/helper.rb +12 -12
  24. data/spec/{model/object_spec.rb → object_spec.rb} +6 -6
  25. data/spec/relationship_spec.rb +19 -0
  26. data/spec/repository_spec.rb +150 -0
  27. data/spec/server_spec.rb +22 -0
  28. data/spec/{model/type_spec.rb → type_spec.rb} +6 -4
  29. data/yaccl.gemspec +1 -0
  30. metadata +48 -50
  31. data/examples/create_type_manual.rb +0 -40
  32. data/lib/yaccl/model/document.rb +0 -68
  33. data/lib/yaccl/model/folder.rb +0 -74
  34. data/lib/yaccl/model/item.rb +0 -9
  35. data/lib/yaccl/model/object.rb +0 -159
  36. data/lib/yaccl/model/object_factory.rb +0 -24
  37. data/lib/yaccl/model/policy.rb +0 -20
  38. data/lib/yaccl/model/property_definition.rb +0 -66
  39. data/lib/yaccl/model/relationship.rb +0 -22
  40. data/lib/yaccl/model/repository.rb +0 -155
  41. data/lib/yaccl/model/server.rb +0 -13
  42. data/lib/yaccl/model/type.rb +0 -146
  43. data/lib/yaccl/model.rb +0 -11
  44. data/lib/yaccl/services/acl_services.rb +0 -23
  45. data/lib/yaccl/services/discovery_services.rb +0 -29
  46. data/lib/yaccl/services/internal/browser_binding_service.rb +0 -170
  47. data/lib/yaccl/services/internal/simple_cache.rb +0 -103
  48. data/lib/yaccl/services/multi_filing_services.rb +0 -22
  49. data/lib/yaccl/services/navigation_services.rb +0 -84
  50. data/lib/yaccl/services/object_services.rb +0 -211
  51. data/lib/yaccl/services/policy_services.rb +0 -30
  52. data/lib/yaccl/services/relationship_services.rb +0 -18
  53. data/lib/yaccl/services/repository_services.rb +0 -67
  54. data/lib/yaccl/services/versioning_services.rb +0 -69
  55. data/lib/yaccl/services.rb +0 -34
  56. data/spec/model/relationship_spec.rb +0 -15
  57. data/spec/model/repository_spec.rb +0 -138
  58. data/spec/model/server_spec.rb +0 -16
  59. data/spec/services/navigation_services_spec.rb +0 -64
  60. data/spec/services/object_services_spec.rb +0 -44
  61. data/spec/services/repository_services_spec.rb +0 -35
@@ -1,84 +0,0 @@
1
- module YACCL
2
- module NavigationServices
3
- def get_children(repository_id, folder_id, filter, order_by, include_allowable_actions, include_relationships, rendition_filter, include_path_segment, max_items, skip_count, succinct=false)
4
- required = {succinct: succinct,
5
- cmisselector: 'children',
6
- repositoryId: repository_id,
7
- objectId: folder_id}
8
- optional = {filter: filter,
9
- orderBy: order_by,
10
- includeAllowableActions: include_allowable_actions,
11
- includeRelationships: include_relationships,
12
- renditionFilter: rendition_filter,
13
- includePathSegment: include_path_segment,
14
- maxItems: max_items,
15
- skipCount: skip_count}
16
- perform_request(required, optional)
17
- end
18
-
19
- def get_descendants(repository_id, folder_id, depth, filter, include_allowable_actions, include_relationships, rendition_filter, include_path_segment, succinct=false)
20
- required = {succinct: succinct,
21
- cmisselector: 'descendants',
22
- repositoryId: repository_id,
23
- objectId: folder_id}
24
- optional = {depth: depth,
25
- filter: filter,
26
- includeAllowableActions: include_allowable_actions,
27
- includeRelationships: include_relationships,
28
- renditionFilter: rendition_filter,
29
- includePathSegment: include_path_segment}
30
- perform_request(required, optional)
31
- end
32
-
33
- def get_folder_tree(repository_id, folder_id, depth, filter, include_allowable_actions, include_relationships, rendition_filter, include_path_segment, succinct=false)
34
- required = {succinct: succinct,
35
- cmisselector: 'folderTree',
36
- repositoryId: repository_id,
37
- objectId: folder_id}
38
- optional = {depth: depth,
39
- filter: filter,
40
- includeAllowableActions: include_allowable_actions,
41
- includeRelationships: include_relationships,
42
- renditionFilter: rendition_filter,
43
- includePathSegment: include_path_segment}
44
- perform_request(required, optional)
45
- end
46
-
47
- def get_folder_parent(repository_id, folder_id, filter, succinct=false)
48
- required = {succinct: succinct,
49
- cmisselector: 'parent',
50
- repositoryId: repository_id,
51
- objectId: folder_id}
52
- optional = {filter: filter}
53
- perform_request(required, optional)
54
- end
55
-
56
- def get_object_parents(repository_id, cmis_object_id, filter, include_allowable_actions, include_relationships, rendition_filter, include_relative_path_segment, succinct=false)
57
- required = {succinct: succinct,
58
- cmisselector: 'parents',
59
- repositoryId: repository_id,
60
- objectId: cmis_object_id}
61
- optional = {filter: filter,
62
- includeAllowableActions: include_allowable_actions,
63
- includeRelationships: include_relationships,
64
- renditionFilter: rendition_filter,
65
- includeRelativePathSegment: include_relative_path_segment}
66
- perform_request(required, optional)
67
- end
68
-
69
- def get_checked_out_docs(repository_id, folder_id, filter, order_by, include_allowable_actions, include_relationships, rendition_filter, max_items, skip_count, succinct=false)
70
- required = {succinct: succinct,
71
- cmisselector: 'checkedout',
72
- repositoryId: repository_id}
73
- optional = {objectId: folder_id,
74
- filter: filter,
75
- orderBy: order_by,
76
- includeAllowableActions: include_allowable_actions,
77
- includeRelationships: include_relationships,
78
- renditionFilter: rendition_filter,
79
- maxItems: max_items,
80
- skipCount: skip_count}
81
- perform_request(required, optional)
82
- end
83
- end
84
- end
@@ -1,211 +0,0 @@
1
- module YACCL
2
- module ObjectServices
3
- def get_object(repository_id, cmis_object_id, filter, include_allowable_actions, include_relationships, rendition_filter, include_policy_ids, include_acl, succinct=false)
4
- required = {succinct: succinct,
5
- cmisselector: 'object',
6
- repositoryId: repository_id,
7
- objectId: cmis_object_id}
8
- optional = {filter: filter,
9
- includeAllowableActions: include_allowable_actions,
10
- includeRelationships: include_relationships,
11
- renditionFilter: rendition_filter,
12
- includePolicyIds: include_policy_ids,
13
- includeAcl: include_acl}
14
- perform_request(required, optional)
15
- end
16
-
17
- def get_properties(repository_id, cmis_object_id, filter, succinct=false)
18
- required = {succinct: succinct,
19
- cmisselector: 'properties',
20
- repositoryId: repository_id,
21
- objectId: cmis_object_id}
22
- optional = {filter: filter}
23
- perform_request(required, optional)
24
- end
25
-
26
- def create_document(repository_id, properties, folder_id, content, versioning_state, policies, add_aces, remove_aces, succinct=false)
27
- required = {succinct: succinct,
28
- cmisaction: 'createDocument',
29
- repositoryId: repository_id,
30
- properties: properties,
31
- objectId: folder_id}
32
- optional = {folderId: folder_id,
33
- content: content,
34
- versioningState: versioning_state,
35
- policies: policies,
36
- addACEs: add_aces,
37
- removeACEs: remove_aces}
38
- perform_request(required, optional)
39
- end
40
-
41
- def create_document_from_source(repository_id, source_id, properties, folder_id, versioning_state, policies, add_aces, remove_aces, succinct=false)
42
- required = {succinct: succinct,
43
- cmisaction: 'createDocument',
44
- repositoryId: repository_id,
45
- sourceId: source_id}
46
- optional = {properties: properties,
47
- objectId: folder_id,
48
- versioningState: versioning_state,
49
- policies: policies,
50
- addACEs: add_aces,
51
- removeACEs: remove_aces}
52
- perform_request(required, optional)
53
- end
54
-
55
- def create_folder(repository_id, properties, folder_id, policies, add_aces, remove_aces, succinct=false)
56
- required = {succinct: succinct,
57
- cmisaction: 'createFolder',
58
- repositoryId: repository_id,
59
- properties: properties,
60
- objectId: folder_id}
61
- optional = {policies: policies,
62
- addACEs: add_aces,
63
- removeACEs: remove_aces}
64
- perform_request(required, optional)
65
- end
66
-
67
- def create_relationship(repository_id, properties, policies, add_aces, remove_aces, succinct=false)
68
- required = {succinct: succinct,
69
- cmisaction: 'createRelationship',
70
- repositoryId: repository_id,
71
- properties: properties}
72
- optional = {policies: policies,
73
- addACEs: add_aces,
74
- removeACEs: remove_aces}
75
- perform_request(required, optional)
76
- end
77
-
78
- def create_policy(repository_id, properties, folder_id, policies, add_aces, remove_aces, succinct=false)
79
- required = {succinct: succinct,
80
- cmisaction: 'createPolicy',
81
- repositoryId: repository_id,
82
- properties: properties}
83
- optional = {objectId: folder_id,
84
- policies: policies,
85
- addACEs: add_aces,
86
- removeACEs: remove_aces}
87
- perform_request(required, optional)
88
- end
89
-
90
- def create_item(repository_id, properties, folder_id, policies, add_aces, remove_aces, succinct=false)
91
- required = {succinct: succinct,
92
- cmisaction: 'createItem',
93
- repositoryId: repository_id,
94
- properties: properties}
95
- optional = {objectId: folder_id,
96
- policies: policies,
97
- addACEs: add_aces,
98
- removeACEs: remove_aces}
99
- perform_request(required, optional)
100
- end
101
-
102
- def get_allowable_actions(repository_id, cmis_object_id, succinct=false)
103
- required = {succinct: succinct,
104
- cmisselector: 'allowableActions',
105
- repositoryId: repository_id,
106
- objectId: cmis_object_id}
107
- perform_request(required)
108
- end
109
-
110
- def get_renditions(repository_id, cmis_object_id, rendition_filter, max_items, skip_count, succinct=false)
111
- required = {succinct: succinct,
112
- cmisselector: 'renditions',
113
- repositoryId: repository_id,
114
- objectId: cmis_object_id}
115
- optional = {renditionFilter: rendition_filter,
116
- maxItems: max_items,
117
- skipCount: skip_count}
118
- perform_request(required, optional)
119
- end
120
-
121
- def get_object_by_path(repository_id, path, filter, include_allowable_actions, include_relationships, rendition_filter, include_policy_ids, include_acl, succinct=false)
122
- raise 'Not supported.'
123
- end
124
-
125
- def get_content_stream(repository_id, cmis_object_id, stream_id, offset, length, succinct=false)
126
- required = {succinct: succinct,
127
- cmisselector: 'content',
128
- repositoryId: repository_id,
129
- objectId: cmis_object_id}
130
- optional = {streamId: stream_id,
131
- offset: offset,
132
- length: length}
133
- perform_request(required, optional)
134
- end
135
-
136
- def update_properties(repository_id, cmis_object_id, change_token, properties, succinct=false)
137
- required = {succinct: succinct,
138
- cmisaction: 'update',
139
- repositoryId: repository_id,
140
- objectId: cmis_object_id,
141
- properties: properties}
142
- optional = {changeToken: change_token}
143
- perform_request(required, optional)
144
- end
145
-
146
- def bulk_update_properties(repository_id, cmis_object_ids_and_change_tokens, properties, add_secondary_type_ids, remove_secondary_type_ids, succinct=false)
147
- # TODO
148
- end
149
-
150
- def move_object(repository_id, cmis_object_id, target_folder_id, source_folder_id, succinct=false)
151
- required = {succinct: succinct,
152
- cmisaction: 'move',
153
- repositoryId: repository_id,
154
- objectId: cmis_object_id,
155
- targetFolderId: target_folder_id,
156
- sourceFolderId: source_folder_id}
157
- perform_request(required)
158
- end
159
-
160
- def delete_object(repository_id, cmis_object_id, all_versions, succinct=false)
161
- required = {succinct: succinct,
162
- cmisaction: 'delete',
163
- repositoryId: repository_id,
164
- objectId: cmis_object_id}
165
- optional = {allVersions: all_versions}
166
- perform_request(required, optional)
167
- end
168
-
169
- def delete_tree(repository_id, folder_id, all_versions, unfile_objects, continue_on_failure, succinct=false)
170
- required = {succinct: succinct,
171
- cmisaction: 'deleteTree',
172
- repositoryId: repository_id,
173
- objectId: folder_id}
174
- optional = {allVersions: all_versions,
175
- unfileObjects: unfile_objects,
176
- continueOnFailure: continue_on_failure}
177
- perform_request(required, optional)
178
- end
179
-
180
- def set_content_stream(repository_id, cmis_object_id, overwrite_flag, change_token, content, succinct=false)
181
- required = {succinct: succinct,
182
- cmisaction: 'setContent',
183
- repositoryId: repository_id,
184
- objectId: cmis_object_id,
185
- content: content}
186
- optional = {overwriteFlag: overwrite_flag,
187
- changeToken:change_token}
188
- perform_request(required, optional)
189
- end
190
-
191
- def delete_content_stream(repository_id, cmis_object_id, change_token, succinct=false)
192
- required = {succinct: succinct,
193
- cmisaction: 'deleteContent',
194
- repositoryId: repository_id,
195
- objectId: cmis_object_id}
196
- optional = {changeToken: change_token}
197
- perform_request(required, optional)
198
- end
199
-
200
- def append_content_stream(repository_id, cmis_object_id, change_token, content, is_last_chunk, succinct=false)
201
- required = {succinct: succinct,
202
- cmisaction: 'appendContent',
203
- repositoryId: repository_id,
204
- objectId: cmis_object_id,
205
- content: content}
206
- optional = {isLastChunk: is_last_chunk,
207
- changeToken: change_token}
208
- perform_request(required, optional)
209
- end
210
- end
211
- end
@@ -1,30 +0,0 @@
1
- module YACCL
2
- module PolicyServices
3
- def apply_policy(repository_id, policy_id, cmis_object_id, succinct=false)
4
- required = {succinct: succinct,
5
- cmisaction: 'applyPolicy',
6
- repositoryId: repository_id,
7
- policyId: policy_id,
8
- objectId: cmis_object_id}
9
- perform_request(required)
10
- end
11
-
12
- def remove_policy(repository_id, policy_id, cmis_object_id, succinct=false)
13
- required = {succinct: succinct,
14
- cmisaction: 'removePolicy',
15
- repositoryId: repository_id,
16
- policyId: policy_id,
17
- objectId: cmis_object_id}
18
- perform_request(required)
19
- end
20
-
21
- def get_applied_policies(repository_id, cmis_object_id, filter, succinct=false)
22
- required = {succinct: succinct,
23
- cmisselector: 'policies',
24
- repositoryId: repository_id,
25
- objectId: cmis_object_id}
26
- optional = {filter: filter}
27
- perform_request(required, optional)
28
- end
29
- end
30
- end
@@ -1,18 +0,0 @@
1
- module YACCL
2
- module RelationshipServices
3
- def get_object_relationships(repository_id, cmis_object_id, include_sub_relationship_types, relationship_direction, type_id, filter, include_allowable_actions, max_items, skip_count, succinct=false)
4
- required = {succinct: succinct,
5
- cmisselector: 'relationships',
6
- repositoryId: repository_id,
7
- objectId: cmis_object_id}
8
- optional = {includeSubRelationshipTypes: include_sub_relationship_types,
9
- relationshipDirection: relationship_direction,
10
- typeId: type_id,
11
- filter: filter,
12
- includeAllowableActions: include_allowable_actions,
13
- maxItems: max_items,
14
- skipCount: skip_count}
15
- perform_request(required, optional)
16
- end
17
- end
18
- end
@@ -1,67 +0,0 @@
1
- module YACCL
2
- module RepositoryServices
3
- def get_repositories
4
- perform_request
5
- end
6
-
7
- def get_repository_info(repository_id, succinct=false)
8
- required = {succinct: succinct,
9
- cmisselector: 'repositoryInfo',
10
- repositoryId: repository_id}
11
- perform_request(required)
12
- end
13
-
14
- def get_type_children(repository_id, type_id, include_property_definitions, max_items, skip_count, succinct=false)
15
- required = {succinct: succinct,
16
- cmisselector: 'typeChildren',
17
- repositoryId: repository_id}
18
- optional = {typeId: type_id,
19
- includePropertyDefinitions: include_property_definitions,
20
- maxItems: max_items,
21
- skipCount: skip_count}
22
- perform_request(required, optional)
23
- end
24
-
25
- def get_type_descendants(repository_id, type_id, depth, include_property_definitions, succinct=false)
26
- required = {succinct: succinct,
27
- cmisselector: 'typeDescendants',
28
- repositoryId: repository_id}
29
- optional = {typeId: type_id,
30
- depth: depth,
31
- includePropertyDefinitions: include_property_definitions}
32
- perform_request(required, optional)
33
- end
34
-
35
- def get_type_definition(repository_id, type_id, succinct=false)
36
- required = {succinct: succinct,
37
- cmisselector: 'typeDefinition',
38
- repositoryId: repository_id,
39
- typeId: type_id}
40
- perform_request(required)
41
- end
42
-
43
- def create_type(repository_id, type, succinct=false)
44
- required = {succinct: succinct,
45
- cmisaction: 'createType',
46
- repositoryId: repository_id,
47
- type: MultiJson.dump(type)}
48
- perform_request(required)
49
- end
50
-
51
- def update_type(repository_id, type, succinct=false)
52
- required = {succinct: succinct,
53
- cmisaction: 'updateType',
54
- repositoryId: repository_id,
55
- type: MultiJson.dump(type)}
56
- perform_request(required)
57
- end
58
-
59
- def delete_type(repository_id, type_id, succinct=false)
60
- required = {succinct: succinct,
61
- cmisaction: 'deleteType',
62
- repositoryId: repository_id,
63
- typeId: type_id}
64
- perform_request(required)
65
- end
66
- end
67
- end
@@ -1,69 +0,0 @@
1
- module YACCL
2
- module VersioningServices # TODO Check 'version_series_id' confusion.
3
- def check_out(repository_id, cmis_object_id, succinct=false)
4
- required = {succinct: succinct,
5
- cmisaction: 'checkOut',
6
- repositoryId: repository_id,
7
- objectId: cmis_object_id}
8
- perform_request(required)
9
- end
10
-
11
- def cancel_check_out(repository_id, cmis_object_id, succinct=false)
12
- required = {succinct: succinct,
13
- cmisaction: 'cancelCheckOut',
14
- repositoryId: repository_id,
15
- objectId: cmis_object_id}
16
- perform_request(required)
17
- end
18
-
19
- def check_in(repository_id, cmis_object_id, major, properties, content, checkin_comment, policies, add_aces, remove_aces, succinct=false)
20
- required = {succinct: succinct,
21
- cmisaction: 'checkIn',
22
- repositoryId: repository_id,
23
- objectId: cmis_object_id}
24
- optional = {major: major,
25
- properties: properties,
26
- content: content,
27
- checkinComment: checkin_comment,
28
- policies: policies,
29
- addACEs: add_aces,
30
- removeACEs: remove_aces}
31
- perform_request(required, optional)
32
- end
33
-
34
- def get_object_of_latest_version(repository_id, version_series_id, major, filter, include_allowable_actions, include_relationships, rendition_filter, include_policy_ids, include_acl, succinct=false)
35
- required = {succinct: succinct,
36
- cmisselector: 'object',
37
- repositoryId: repository_id,
38
- objectId: version_series_id}
39
- optional = {major: major,
40
- filter: filter,
41
- includeAllowableActions: include_allowable_actions,
42
- includeRelationships: include_relationships,
43
- renditionFilter: rendition_filter,
44
- includePolicyIds: include_policy_ids,
45
- includeACL: include_acl}
46
- perform_request(required, optional)
47
- end
48
-
49
- def get_properties_of_latest_version(repository_id, version_series_id, major, filter, succinct=false)
50
- required = {succinct: succinct,
51
- cmisselector: 'properties',
52
- repositoryId: repository_id,
53
- objectId: version_series_id}
54
- optional = {major: major,
55
- filter: filter}
56
- perform_request(required, optional)
57
- end
58
-
59
- def get_all_versions(repository_id, version_series_id, filter, include_allowable_actions, succinct=false)
60
- required = {succinct: succinct,
61
- cmisselector: 'versions',
62
- repositoryId: repository_id,
63
- objectId: version_series_id}
64
- optional = {filter: filter,
65
- includeAllowableActions: include_allowable_actions}
66
- perform_request(required, optional)
67
- end
68
- end
69
- end
@@ -1,34 +0,0 @@
1
- require 'yaccl/services/internal/browser_binding_service'
2
- require 'yaccl/services/repository_services'
3
- require 'yaccl/services/navigation_services'
4
- require 'yaccl/services/object_services'
5
- require 'yaccl/services/multi_filing_services'
6
- require 'yaccl/services/discovery_services'
7
- require 'yaccl/services/versioning_services'
8
- require 'yaccl/services/relationship_services'
9
- require 'yaccl/services/policy_services'
10
- require 'yaccl/services/acl_services'
11
-
12
- module YACCL
13
- module Services
14
- class << self
15
- def perform_request(*params)
16
- service = Internal::BrowserBindingService.new(YACCL::SERVICE_URL,
17
- YACCL::BASIC_AUTH_USERNAME,
18
- YACCL::BASIC_AUTH_PASSWORD,
19
- YACCL::SUCCINCT_PROPERTIES)
20
- service.perform_request(*params)
21
- end
22
-
23
- include RepositoryServices
24
- include NavigationServices
25
- include ObjectServices
26
- include MultiFilingServices
27
- include DiscoveryServices
28
- include VersioningServices
29
- include RelationshipServices
30
- include PolicyServices
31
- include ACLServices
32
- end
33
- end
34
- end
@@ -1,15 +0,0 @@
1
- require_relative '../helper'
2
-
3
- describe YACCL::Model::Relationship do
4
-
5
- it 'should make properties accessible through method' do
6
- new_object = YACCL::Model::Relationship.new('repoId', {succinctProperties: {myProp: 'myValue'}})
7
- new_object.myProp.should eq 'myValue'
8
- end
9
-
10
- it 'should raise methodmissing for unknown property' do
11
- new_object = YACCL::Model::Relationship.new('repoId', {succinctProperties: {'myProp' => 'myValue'}})
12
- expect {new_object.myOtherProp}.to raise_error(NoMethodError, /undefined method `myOtherProp'/)
13
- end
14
-
15
- end
@@ -1,138 +0,0 @@
1
- require_relative '../helper'
2
-
3
- describe YACCL::Model::Repository do
4
-
5
- context 'generic' do
6
- before do
7
- @id = 'meta'
8
- @repo = YACCL::Model::Server.repository(@id)
9
- end
10
-
11
- it 'id' do
12
- @repo.id.should.eql? @id
13
- end
14
-
15
- it 'fields' do
16
- @repo.id.should_not be_nil
17
- @repo.name.should_not be_nil
18
- @repo.product_version.should_not be_nil
19
- @repo.description.should_not be_nil
20
- @repo.root_folder_id.should_not be_nil
21
- @repo.capabilities.should_not be_nil
22
- @repo.url.should_not be_nil
23
- @repo.changes_on_type.should_not be_nil
24
- @repo.root_folder_url.should_not be_nil
25
- @repo.product_name.should_not be_nil
26
- @repo.product_version.should_not be_nil
27
-
28
- %w(1.0 1.1).should include @repo.cmis_version_supported
29
- end
30
-
31
- it 'new object' do
32
- @repo.new_folder.should be_a_kind_of YACCL::Model::Folder
33
- @repo.new_document.should be_a_kind_of YACCL::Model::Document
34
- @repo.new_relationship.should be_a_kind_of YACCL::Model::Relationship
35
- @repo.new_policy.should be_a_kind_of YACCL::Model::Policy
36
- @repo.new_item.should be_a_kind_of YACCL::Model::Item
37
- end
38
-
39
- it 'root' do
40
- root = @repo.root
41
- root.should be_a_kind_of YACCL::Model::Folder
42
- root.cmis_object_id.should eq @repo.root_folder_id
43
- end
44
-
45
- it 'object' do
46
- id = @repo.root_folder_id
47
- object = @repo.object(id)
48
- object.should be_a_kind_of YACCL::Model::Folder
49
- object.cmis_object_id.should eq id
50
- end
51
-
52
- it 'type - document' do
53
- document = @repo.type('cmis:document')
54
- document.should be_a_kind_of YACCL::Model::Type
55
- document.id.should eq 'cmis:document'
56
- end
57
-
58
- it 'type - folder' do
59
- folder = @repo.type('cmis:folder')
60
- folder.should be_a_kind_of YACCL::Model::Type
61
- folder.id.should eq 'cmis:folder'
62
- end
63
- end
64
-
65
- context 'upn' do
66
- before :all do
67
- @repo = create_repository('testrepository')
68
- end
69
-
70
- after :all do
71
- delete_repository('testrepository')
72
- end
73
-
74
- it 'type - relationship' do
75
- relationship = @repo.type('cmis:relationship')
76
- relationship.should be_a_kind_of YACCL::Model::Type
77
- relationship.id.should eq 'cmis:relationship'
78
- end
79
-
80
- it 'type - policy' do
81
- policy = @repo.type('cmis:policy')
82
- policy.should be_a_kind_of YACCL::Model::Type
83
- policy.id.should eq 'cmis:policy'
84
- end
85
-
86
- it 'type - item' do
87
- begin
88
- item = @repo.type('cmis:item')
89
- item.should be_a_kind_of YACCL::Model::Type
90
- item.id.should eq 'cmis:item'
91
- end unless @repo.cmis_version_supported < '1.1'
92
- end
93
-
94
- it 'create, get, delete type - document' do
95
- begin
96
- type_id = 'apple'
97
-
98
- type = YACCL::Model::Type.new
99
- type.id = type_id
100
- type.local_name = 'apple'
101
- type.query_name = 'apple'
102
- type.display_name = 'apple'
103
- type.parent_id = 'cmis:document'
104
- type.base_id = 'cmis:document'
105
- type.description = 'appel'
106
- type.creatable = true
107
- type.fileable = true
108
- type.queryable = true
109
- type.controllable_policy = true
110
- type.controllable_acl = true
111
- type.fulltext_indexed = true
112
- type.included_in_supertype_query = true
113
- type.content_stream_allowed = 'allowed'
114
- type.versionable = false
115
-
116
- type.add_property_definition(id: 'color',
117
- localName: 'color',
118
- queryName: 'color',
119
- displayName: 'color',
120
- description: 'color',
121
- propertyType: 'string',
122
- cardinality: 'single',
123
- updatability: 'readwrite',
124
- inherited: false,
125
- required: false,
126
- queryable: true,
127
- orderable: true)
128
-
129
- @repo.create_type(type)
130
- @repo.type(type_id).tap do |t|
131
- t.should be_a_kind_of YACCL::Model::Type
132
- t.id.should eq type_id
133
- end
134
- @repo.type(type_id).delete
135
- end unless @repo.cmis_version_supported < '1.1'
136
- end
137
- end
138
- end
@@ -1,16 +0,0 @@
1
- require_relative '../helper'
2
-
3
- describe YACCL::Model::Server do
4
- it 'repositories' do
5
- YACCL::Model::Server.repositories.each do |repo|
6
- repo.should be_a_kind_of YACCL::Model::Repository
7
- end
8
- end
9
-
10
- it 'repository' do
11
- id = 'meta'
12
- repo = YACCL::Model::Server.repository(id)
13
- repo.should be_a_kind_of YACCL::Model::Repository
14
- repo.id.should eq id
15
- end
16
- end