adobe_connect_api 0.0.70.alpha → 0.1
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/lib/adobe_connect_api.rb
CHANGED
@@ -50,9 +50,21 @@ class AdobeConnectAPI
|
|
50
50
|
@sessionid
|
51
51
|
end
|
52
52
|
|
53
|
+
def pointconfig=(pointconfig)
|
54
|
+
if pointconfig == nil
|
55
|
+
pointconfig = YAML::load_file("#{root_directory}/config/config.breeze.yml")[environment]
|
56
|
+
else
|
57
|
+
@pointconfig = pointconfig
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
53
61
|
#The URL is the base URL of the Connect-Server, without the trailing slash
|
54
62
|
def initialize (url = nil, environment, root_directory)
|
55
|
-
|
63
|
+
begin
|
64
|
+
@pointconfig = YAML::load_file("#{root_directory}/config/config.breeze.yml")[environment]
|
65
|
+
rescue
|
66
|
+
# should not occur except when running tests
|
67
|
+
end
|
56
68
|
if (url == nil)
|
57
69
|
@url = @pointconfig["url"]
|
58
70
|
else
|
@@ -166,10 +178,7 @@ class AdobeConnectAPI
|
|
166
178
|
|
167
179
|
def get_my_meetings_folder(email)
|
168
180
|
# NOTE: this id does not change unless we set up AC new
|
169
|
-
|
170
|
-
# since we migrated to the new hardware, the tree_id changed
|
171
|
-
# i.e. sco-id of the user content folder, see: https://collab-test.switch.ch/api/xml?action=sco-shortcuts
|
172
|
-
tree_id = 11
|
181
|
+
tree_id = 14
|
173
182
|
|
174
183
|
filter = AdobeConnectApi::FilterDefinition.new
|
175
184
|
filter["name"] == email
|
@@ -211,9 +220,18 @@ class AdobeConnectAPI
|
|
211
220
|
return res.body
|
212
221
|
end
|
213
222
|
|
214
|
-
#
|
223
|
+
#action=group-membership-update&group-id=integer&principal-id=integer&is-member=boolean
|
224
|
+
def group_membership_update(group_id, principal_id, is_member)
|
225
|
+
res = query("group-membership-update",
|
226
|
+
"group-id" => group_id,
|
227
|
+
"principal-id" => principal_id,
|
228
|
+
"is-member" => is_member)
|
229
|
+
|
230
|
+
return res.body
|
231
|
+
end
|
232
|
+
|
215
233
|
def update_meeting(sco_id, description, language)
|
216
|
-
"action = sco-update&sco-id=&description=&lang="
|
234
|
+
# "action = sco-update&sco-id=&description=&lang="
|
217
235
|
res = query("sco-update",
|
218
236
|
"sco-id" => sco_id,
|
219
237
|
"description" => description,
|
@@ -223,17 +241,9 @@ class AdobeConnectAPI
|
|
223
241
|
end
|
224
242
|
|
225
243
|
|
226
|
-
# TODO KG: test statistic functions
|
227
244
|
|
228
|
-
#action=group-membership-update&group-id=integer&principal-id=integer&is-member=boolean
|
229
|
-
def group_membership_update(group_id, principal_id, is_member)
|
230
|
-
res = query("group-membership-update",
|
231
|
-
"group-id" => group_id,
|
232
|
-
"principal-id" => principal_id,
|
233
|
-
"is-member" => is_member)
|
234
245
|
|
235
|
-
|
236
|
-
end
|
246
|
+
### STATISTIC FUNCTIONS (NOTE: NOT YET TESTED) ###
|
237
247
|
|
238
248
|
# e.g. acl-field-update&acl-id=13117741&field-id=meeting-passcode&value=12345
|
239
249
|
def set_passcode(acl_id, passcode)
|
@@ -11,6 +11,8 @@ E_MAIL = 'testuser@switch.ch'
|
|
11
11
|
FIRST_NAME = 'Test'
|
12
12
|
LAST_NAME = 'User'
|
13
13
|
|
14
|
+
E_MAIL_2 = 'testuser2@switch.ch'
|
15
|
+
|
14
16
|
# API return values
|
15
17
|
STATUS_OK = 'ok'
|
16
18
|
NO_DATA = 'no-data'
|
@@ -21,7 +23,7 @@ CODE_DUPLICATE = 'duplicate'
|
|
21
23
|
describe AdobeConnectAPI do
|
22
24
|
|
23
25
|
before(:each) do
|
24
|
-
@interactconfig = YAML::load_file(
|
26
|
+
@interactconfig = YAML::load_file('./config/config.breeze.yml')[ENV["RAILS_ENV"]]
|
25
27
|
url = @interactconfig['url']
|
26
28
|
|
27
29
|
# open AdobeConnectAPI (use URL from config file)
|
@@ -70,6 +72,7 @@ describe AdobeConnectAPI do
|
|
70
72
|
|
71
73
|
it 'should return the id of my-meetings folder' do
|
72
74
|
folder = @acs.get_my_meetings_folder(@interactconfig['test_user'])
|
75
|
+
puts folder
|
73
76
|
@acs.get_folder_id(folder).to_i.should_not be 0
|
74
77
|
end
|
75
78
|
|
@@ -99,12 +102,18 @@ describe AdobeConnectAPI do
|
|
99
102
|
password = @interactconfig['password']
|
100
103
|
@acs.login(login, password)
|
101
104
|
|
102
|
-
# delete the
|
105
|
+
# delete the users if they already exist
|
103
106
|
filter = AdobeConnectApi::FilterDefinition.new
|
104
107
|
filter["email"] == E_MAIL
|
105
108
|
principal = @acs.get_principal(filter)
|
106
109
|
sco_id = @acs.get_principal_id(principal)
|
107
110
|
@acs.delete_user(sco_id) unless sco_id.nil?
|
111
|
+
|
112
|
+
filter2 = AdobeConnectApi::FilterDefinition.new
|
113
|
+
filter2["email"] == E_MAIL_2
|
114
|
+
principal2 = @acs.get_principal(filter2)
|
115
|
+
sco_id2 = @acs.get_principal_id(principal2)
|
116
|
+
@acs.delete_user(sco_id2) unless sco_id2.nil?
|
108
117
|
end
|
109
118
|
|
110
119
|
it 'should be able to create a user' do
|
@@ -117,6 +126,23 @@ describe AdobeConnectAPI do
|
|
117
126
|
# should return the sco-id of the new user
|
118
127
|
@acs.get_principal_id(res).to_i.should_not be 0
|
119
128
|
end
|
129
|
+
|
130
|
+
it 'should be able to update the group membership' do
|
131
|
+
# get id of the authors group
|
132
|
+
filter_authors = AdobeConnectApi::FilterDefinition.new
|
133
|
+
filter_authors["type"] == "authors"
|
134
|
+
res = @acs.get_principal(filter_authors)
|
135
|
+
authors_group_id = @acs.get_principal_id(res)
|
136
|
+
authors_group_id.to_i.should_not be 0
|
137
|
+
|
138
|
+
# create user
|
139
|
+
password = @interactconfig['generic_user_password']
|
140
|
+
res = @acs.create_user(E_MAIL_2, E_MAIL_2, password, FIRST_NAME, LAST_NAME)
|
141
|
+
sco_id = @acs.get_principal_id(res)
|
142
|
+
|
143
|
+
@acs.group_membership_update(authors_group_id, sco_id, true).should include(STATUS_OK)
|
144
|
+
end
|
145
|
+
|
120
146
|
end
|
121
147
|
|
122
148
|
|
@@ -176,6 +202,11 @@ describe AdobeConnectAPI do
|
|
176
202
|
@acs.get_sco_id(res).should eq @sco_id
|
177
203
|
end
|
178
204
|
|
205
|
+
it 'should update the meeting attributes' do
|
206
|
+
res = @acs.update_meeting(@sco_id, 'description', 'en')
|
207
|
+
@acs.get_status_code(res).should match STATUS_OK
|
208
|
+
end
|
209
|
+
|
179
210
|
end
|
180
211
|
|
181
212
|
end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: adobe_connect_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: '0.1'
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Christian Rohrer
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-05-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: xml-simple
|
@@ -81,9 +81,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
81
81
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
82
82
|
none: false
|
83
83
|
requirements:
|
84
|
-
- - ! '
|
84
|
+
- - ! '>='
|
85
85
|
- !ruby/object:Gem::Version
|
86
|
-
version:
|
86
|
+
version: '0'
|
87
87
|
requirements: []
|
88
88
|
rubyforge_project:
|
89
89
|
rubygems_version: 1.8.25
|