opentox-client 0.0.2pre → 1.0.0pre1
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/.gitignore +2 -1
- data/ChangeLog +2 -0
- data/README.markdown +16 -1
- data/Rakefile +0 -10
- data/VERSION +1 -0
- data/bin/opentox-client-install +46 -0
- data/lib/authorization.rb +9 -7
- data/lib/compound.rb +40 -20
- data/lib/dataset.rb +126 -16
- data/lib/error.rb +41 -83
- data/lib/model.rb +3 -2
- data/lib/opentox-client.rb +17 -12
- data/lib/opentox.rb +122 -96
- data/lib/overwrite.rb +20 -3
- data/lib/policy.rb +17 -2
- data/lib/rest-client-wrapper.rb +24 -5
- data/lib/task.rb +36 -18
- data/opentox-client.gemspec +2 -1
- metadata +60 -38
- data/test/authorization.rb +0 -107
- data/test/compound.rb +0 -52
- data/test/data/CPDBAS_v5c_1547_29Apr2008part.sdf +0 -13553
- data/test/data/EPAFHM.csv +0 -618
- data/test/data/EPAFHM.mini.csv +0 -21
- data/test/data/ISSCAN-multi.csv +0 -59
- data/test/data/cpdb_100.csv +0 -101
- data/test/data/hamster_carcinogenicity.csv +0 -86
- data/test/data/hamster_carcinogenicity.mini.csv +0 -11
- data/test/data/hamster_carcinogenicity.sdf +0 -2805
- data/test/data/hamster_carcinogenicity.xls +0 -0
- data/test/data/hamster_carcinogenicity.yaml +0 -352
- data/test/data/hamster_carcinogenicity_with_errors.csv +0 -88
- data/test/data/kazius.csv +0 -4069
- data/test/data/multi_cell_call.csv +0 -1067
- data/test/data/multicolumn.csv +0 -5
- data/test/dataset.rb +0 -99
- data/test/error.rb +0 -35
- data/test/feature.rb +0 -36
- data/test/policy.rb +0 -120
- data/test/task.rb +0 -85
data/lib/rest-client-wrapper.rb
CHANGED
@@ -17,14 +17,14 @@ module OpenTox
|
|
17
17
|
|
18
18
|
# check input
|
19
19
|
@subjectid = headers[:subjectid] ? headers[:subjectid] : nil
|
20
|
-
bad_request_error "Invalid URI: '#{uri}'" unless URI.valid? uri
|
21
|
-
|
22
|
-
bad_request_error "Headers are not a hash: #{headers.inspect}" unless headers==nil or headers.is_a?(Hash)
|
20
|
+
bad_request_error "Invalid URI: '#{uri}'", uri unless URI.valid? uri
|
21
|
+
#resource_not_found_error "URI '#{uri}' not found.", uri unless URI.accessible?(uri, @subjectid) unless URI.ssl?(uri)
|
22
|
+
bad_request_error "Headers are not a hash: #{headers.inspect}", uri unless headers==nil or headers.is_a?(Hash)
|
23
23
|
# make sure that no header parameters are set in the payload
|
24
24
|
[:accept,:content_type,:subjectid].each do |header|
|
25
25
|
if defined? $aa || URI(uri).host == URI($aa[:uri]).host
|
26
26
|
else
|
27
|
-
bad_request_error "#{header} should be submitted in the headers" if payload and payload.is_a?(Hash) and payload[header]
|
27
|
+
bad_request_error "#{header} should be submitted in the headers", uri if payload and payload.is_a?(Hash) and payload[header]
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
@@ -42,13 +42,32 @@ module OpenTox
|
|
42
42
|
@response = @request.execute do |response, request, result|
|
43
43
|
if [301, 302, 307].include? response.code and request.method == :get
|
44
44
|
response.follow_redirection(request, result)
|
45
|
+
elsif response.code >= 400 and !URI.task?(uri)
|
46
|
+
message = response.to_s
|
47
|
+
parameters = request.args
|
48
|
+
parameters[:headers][:subjectid] = "REMOVED" if parameters[:headers] and parameters[:headers][:subjectid]
|
49
|
+
message += "\nREST paramenters:\n#{parameters.inspect}"
|
50
|
+
error = known_errors.collect{|e| e if e[:code] == response.code}.compact.first
|
51
|
+
Object.method(error[:method]).call message, uri # call error method
|
45
52
|
else
|
46
|
-
raise OpenTox::RestCallError.new response.to_s, request, uri unless response.code < 400 or URI.task? uri
|
47
53
|
response
|
48
54
|
end
|
49
55
|
end
|
50
56
|
end
|
51
57
|
end
|
52
58
|
|
59
|
+
def self.known_errors
|
60
|
+
errors = []
|
61
|
+
RestClient::STATUSES.each do |code,k|
|
62
|
+
if code >= 400
|
63
|
+
method = k.underscore.gsub(/ |'/,'_')
|
64
|
+
method += "_error" unless method.match(/_error$/)
|
65
|
+
klass = method.split("_").collect{|s| s.capitalize}.join("")
|
66
|
+
errors << {:code => code, :method => method.to_sym, :class => klass}
|
67
|
+
end
|
68
|
+
end
|
69
|
+
errors
|
70
|
+
end
|
71
|
+
|
53
72
|
end
|
54
73
|
end
|
data/lib/task.rb
CHANGED
@@ -6,15 +6,23 @@ module OpenTox
|
|
6
6
|
|
7
7
|
attr_accessor :pid, :observer_pid
|
8
8
|
|
9
|
-
def self.create service_uri, params={}
|
9
|
+
def self.create service_uri, subjectid=nil, params={}
|
10
10
|
|
11
|
-
|
11
|
+
uri = File.join(service_uri,SecureRandom.uuid)
|
12
|
+
task = Task.new uri, subjectid
|
13
|
+
task[RDF::OT.hasStatus] = "Running"
|
14
|
+
params.each { |k,v| task[k] = v }
|
15
|
+
task.put false
|
12
16
|
pid = fork do
|
13
17
|
begin
|
14
18
|
result_uri = yield
|
15
19
|
task.completed result_uri
|
16
20
|
rescue
|
17
|
-
|
21
|
+
if $!.respond_to? :to_ntriples
|
22
|
+
RestClientWrapper.put(File.join(task.uri,'Error'),:errorReport => $!.to_ntriples,:content_type => 'text/plain')
|
23
|
+
else
|
24
|
+
RestClientWrapper.put(File.join(task.uri,'Error'))
|
25
|
+
end
|
18
26
|
task.kill
|
19
27
|
end
|
20
28
|
end
|
@@ -39,27 +47,27 @@ module OpenTox
|
|
39
47
|
def kill
|
40
48
|
Process.kill(9,@pid)
|
41
49
|
Process.kill(9,@observer_pid)
|
42
|
-
rescue # no need to raise an
|
50
|
+
rescue # no need to raise an exception if processes are not running
|
43
51
|
end
|
44
52
|
|
45
53
|
def description
|
46
|
-
|
47
|
-
self.[](RDF::DC.description).uniq.first
|
54
|
+
self.[](RDF::DC.description)
|
48
55
|
end
|
49
56
|
|
50
57
|
def creator
|
51
|
-
|
52
|
-
self.[](RDF::DC.creator).uniq.first
|
58
|
+
self.[](RDF::DC.creator)
|
53
59
|
end
|
54
60
|
|
55
61
|
def cancel
|
56
62
|
kill
|
57
|
-
|
63
|
+
self.[]=(RDF::OT.hasStatus, "Cancelled")
|
64
|
+
put false
|
58
65
|
end
|
59
66
|
|
60
67
|
def completed(uri)
|
61
|
-
|
62
|
-
|
68
|
+
self.[]=(RDF::OT.resultURI, uri)
|
69
|
+
self.[]=(RDF::OT.hasStatus, "Completed")
|
70
|
+
put false
|
63
71
|
end
|
64
72
|
|
65
73
|
# waits for a task, unless time exceeds or state is no longer running
|
@@ -68,7 +76,7 @@ module OpenTox
|
|
68
76
|
def wait
|
69
77
|
start_time = Time.new
|
70
78
|
due_to_time = start_time + DEFAULT_TASK_MAX_DURATION
|
71
|
-
dur = 0
|
79
|
+
dur = 0.3
|
72
80
|
while running?
|
73
81
|
sleep dur
|
74
82
|
dur = [[(Time.new - start_time)/20.0,0.3].max,300.0].min
|
@@ -96,19 +104,29 @@ module OpenTox
|
|
96
104
|
code >= 400 and code != 503
|
97
105
|
end
|
98
106
|
|
99
|
-
|
100
|
-
# TODO: fix rdf output at task service
|
101
|
-
not_implemented_error "RDF output of errorReports has to be fixed at task service"
|
102
|
-
end
|
103
|
-
|
104
|
-
[:hasStatus, :resultURI].each do |method|
|
107
|
+
[:hasStatus, :resultURI, :finished_at].each do |method|
|
105
108
|
define_method method do
|
109
|
+
get
|
106
110
|
response = self.[](RDF::OT[method])
|
107
111
|
response = self.[](RDF::OT1[method]) unless response # API 1.1 compatibility
|
108
112
|
response
|
109
113
|
end
|
110
114
|
end
|
111
115
|
|
116
|
+
def error_report
|
117
|
+
report = {}
|
118
|
+
query = RDF::Query.new({
|
119
|
+
:report => {
|
120
|
+
RDF.type => RDF::OT.ErrorReport,
|
121
|
+
:property => :value,
|
122
|
+
}
|
123
|
+
})
|
124
|
+
query.execute(@rdf).each do |solution|
|
125
|
+
report[solution.property] = solution.value.to_s
|
126
|
+
end
|
127
|
+
report
|
128
|
+
end
|
129
|
+
|
112
130
|
#TODO: subtasks (only for progress)
|
113
131
|
|
114
132
|
end
|
data/opentox-client.gemspec
CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "opentox-client"
|
6
|
-
s.version = "
|
6
|
+
s.version = File.read("./VERSION").strip
|
7
7
|
s.authors = ["Christoph Helma, Martin Guetlein, Andreas Maunz, Micha Rautenberg, David Vorgrimmler"]
|
8
8
|
s.email = ["helma@in-silico.ch"]
|
9
9
|
s.homepage = "http://github.com/opentox/opentox-client"
|
@@ -23,6 +23,7 @@ Gem::Specification.new do |s|
|
|
23
23
|
s.add_runtime_dependency "rest-client"
|
24
24
|
s.add_runtime_dependency "rdf"
|
25
25
|
s.add_runtime_dependency "rdf-raptor"
|
26
|
+
s.add_runtime_dependency 'rdf-n3'
|
26
27
|
s.add_runtime_dependency "open4"
|
27
28
|
|
28
29
|
# external requirements
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opentox-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.0.0pre1
|
5
5
|
prerelease: 5
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-08-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: rest-client
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '0'
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: rdf
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,10 +53,31 @@ dependencies:
|
|
43
53
|
version: '0'
|
44
54
|
type: :runtime
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: rdf-raptor
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: rdf-n3
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
50
81
|
none: false
|
51
82
|
requirements:
|
52
83
|
- - ! '>='
|
@@ -54,10 +85,15 @@ dependencies:
|
|
54
85
|
version: '0'
|
55
86
|
type: :runtime
|
56
87
|
prerelease: false
|
57
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
58
94
|
- !ruby/object:Gem::Dependency
|
59
95
|
name: open4
|
60
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
61
97
|
none: false
|
62
98
|
requirements:
|
63
99
|
- - ! '>='
|
@@ -65,19 +101,29 @@ dependencies:
|
|
65
101
|
version: '0'
|
66
102
|
type: :runtime
|
67
103
|
prerelease: false
|
68
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
69
110
|
description: Ruby wrapper for the OpenTox REST API (http://www.opentox.org)
|
70
111
|
email:
|
71
112
|
- helma@in-silico.ch
|
72
|
-
executables:
|
113
|
+
executables:
|
114
|
+
- opentox-client-install
|
73
115
|
extensions: []
|
74
116
|
extra_rdoc_files: []
|
75
117
|
files:
|
76
118
|
- .gitignore
|
119
|
+
- ChangeLog
|
77
120
|
- Gemfile
|
121
|
+
- Gemfile.lock
|
78
122
|
- LICENSE
|
79
123
|
- README.markdown
|
80
124
|
- Rakefile
|
125
|
+
- VERSION
|
126
|
+
- bin/opentox-client-install
|
81
127
|
- lib/algorithm.rb
|
82
128
|
- lib/authorization.rb
|
83
129
|
- lib/compound.rb
|
@@ -94,27 +140,6 @@ files:
|
|
94
140
|
- lib/templates/default_guest_policy.xml
|
95
141
|
- lib/templates/default_policy.xml
|
96
142
|
- opentox-client.gemspec
|
97
|
-
- test/authorization.rb
|
98
|
-
- test/compound.rb
|
99
|
-
- test/data/CPDBAS_v5c_1547_29Apr2008part.sdf
|
100
|
-
- test/data/EPAFHM.csv
|
101
|
-
- test/data/EPAFHM.mini.csv
|
102
|
-
- test/data/ISSCAN-multi.csv
|
103
|
-
- test/data/cpdb_100.csv
|
104
|
-
- test/data/hamster_carcinogenicity.csv
|
105
|
-
- test/data/hamster_carcinogenicity.mini.csv
|
106
|
-
- test/data/hamster_carcinogenicity.sdf
|
107
|
-
- test/data/hamster_carcinogenicity.xls
|
108
|
-
- test/data/hamster_carcinogenicity.yaml
|
109
|
-
- test/data/hamster_carcinogenicity_with_errors.csv
|
110
|
-
- test/data/kazius.csv
|
111
|
-
- test/data/multi_cell_call.csv
|
112
|
-
- test/data/multicolumn.csv
|
113
|
-
- test/dataset.rb
|
114
|
-
- test/error.rb
|
115
|
-
- test/feature.rb
|
116
|
-
- test/policy.rb
|
117
|
-
- test/task.rb
|
118
143
|
homepage: http://github.com/opentox/opentox-client
|
119
144
|
licenses:
|
120
145
|
- GPL-3
|
@@ -129,9 +154,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
129
154
|
- - ! '>='
|
130
155
|
- !ruby/object:Gem::Version
|
131
156
|
version: '0'
|
132
|
-
segments:
|
133
|
-
- 0
|
134
|
-
hash: -571051053
|
135
157
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
136
158
|
none: false
|
137
159
|
requirements:
|
@@ -141,7 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
141
163
|
requirements:
|
142
164
|
- libraptor-dev
|
143
165
|
rubyforge_project: opentox-client
|
144
|
-
rubygems_version: 1.8.
|
166
|
+
rubygems_version: 1.8.18
|
145
167
|
signing_key:
|
146
168
|
specification_version: 3
|
147
169
|
summary: Ruby wrapper for the OpenTox REST API
|
data/test/authorization.rb
DELETED
@@ -1,107 +0,0 @@
|
|
1
|
-
require 'test/unit'
|
2
|
-
$LOAD_PATH << File.join(File.dirname(__FILE__),'..','lib')
|
3
|
-
require File.expand_path(File.join(File.dirname(__FILE__),'..','lib','opentox-client.rb'))
|
4
|
-
TEST_URI = "http://only_a_test/test/" + rand(1000000).to_s
|
5
|
-
AA ||= "https://opensso.in-silico.ch"
|
6
|
-
AA_USER = "guest"
|
7
|
-
AA_PASS = "guest"
|
8
|
-
@@subjectid = OpenTox::Authorization.authenticate(AA_USER,AA_PASS)
|
9
|
-
|
10
|
-
class TestOpenToxAuthorizationBasic < Test::Unit::TestCase
|
11
|
-
|
12
|
-
def test_01_server
|
13
|
-
assert_equal(AA, OpenTox::Authorization.server)
|
14
|
-
end
|
15
|
-
|
16
|
-
def test_02_get_token
|
17
|
-
assert_not_nil @@subjectid
|
18
|
-
end
|
19
|
-
|
20
|
-
def test_03_is_valid_token
|
21
|
-
tok = login
|
22
|
-
assert_not_nil tok
|
23
|
-
assert OpenTox::Authorization.is_token_valid(tok)
|
24
|
-
logout(tok)
|
25
|
-
end
|
26
|
-
|
27
|
-
def test_04_logout
|
28
|
-
tok = login
|
29
|
-
assert logout(tok)
|
30
|
-
assert_equal false, OpenTox::Authorization.is_token_valid(tok)
|
31
|
-
end
|
32
|
-
|
33
|
-
def test_05_list_policies
|
34
|
-
assert_kind_of Array, OpenTox::Authorization.list_policies(@@subjectid)
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
class TestOpenToxAuthorizationLDAP < Test::Unit::TestCase
|
40
|
-
|
41
|
-
def test_01_list_user_groups
|
42
|
-
assert_kind_of Array, OpenTox::Authorization.list_user_groups(AA_USER, @@subjectid)
|
43
|
-
end
|
44
|
-
|
45
|
-
def test_02_get_user
|
46
|
-
assert_equal AA_USER, OpenTox::Authorization.get_user(@@subjectid)
|
47
|
-
end
|
48
|
-
|
49
|
-
end
|
50
|
-
|
51
|
-
class TestOpenToxAuthorizationLDAP < Test::Unit::TestCase
|
52
|
-
|
53
|
-
def test_01_create_check_delete_default_policies
|
54
|
-
res = OpenTox::Authorization.send_policy(TEST_URI, @@subjectid)
|
55
|
-
assert res
|
56
|
-
assert OpenTox::Authorization.uri_has_policy(TEST_URI, @@subjectid)
|
57
|
-
policies = OpenTox::Authorization.list_uri_policies(TEST_URI, @@subjectid)
|
58
|
-
assert_kind_of Array, policies
|
59
|
-
policies.each do |policy|
|
60
|
-
assert OpenTox::Authorization.delete_policy(policy, @@subjectid)
|
61
|
-
end
|
62
|
-
assert_equal false, OpenTox::Authorization.uri_has_policy(TEST_URI, @@subjectid)
|
63
|
-
end
|
64
|
-
|
65
|
-
def test_02_check_policy_rules
|
66
|
-
tok_anonymous = OpenTox::Authorization.authenticate("anonymous","anonymous")
|
67
|
-
assert_not_nil tok_anonymous
|
68
|
-
res = OpenTox::Authorization.send_policy(TEST_URI, @@subjectid)
|
69
|
-
assert res
|
70
|
-
assert OpenTox::Authorization.uri_has_policy(TEST_URI, @@subjectid)
|
71
|
-
owner_rights = {"GET" => true, "POST" => true, "PUT" => true, "DELETE" => true}
|
72
|
-
groupmember_rights = {"GET" => true, "POST" => nil, "PUT" => nil, "DELETE" => nil}
|
73
|
-
owner_rights.each do |request, right|
|
74
|
-
assert_equal right, OpenTox::Authorization.authorize(TEST_URI, request, @@subjectid), "#{AA_USER} requests #{request} to #{TEST_URI}"
|
75
|
-
end
|
76
|
-
groupmember_rights.each do |request, r|
|
77
|
-
assert_equal r, OpenTox::Authorization.authorize(TEST_URI, request, tok_anonymous), "anonymous requests #{request} to #{TEST_URI}"
|
78
|
-
end
|
79
|
-
|
80
|
-
policies = OpenTox::Authorization.list_uri_policies(TEST_URI, @@subjectid)
|
81
|
-
assert_kind_of Array, policies
|
82
|
-
policies.each do |policy|
|
83
|
-
assert OpenTox::Authorization.delete_policy(policy, @@subjectid)
|
84
|
-
end
|
85
|
-
logout(tok_anonymous)
|
86
|
-
end
|
87
|
-
|
88
|
-
def test_03_check_different_uris
|
89
|
-
res = OpenTox::Authorization.send_policy(TEST_URI, @@subjectid)
|
90
|
-
assert OpenTox::Authorization.uri_has_policy(TEST_URI, @@subjectid)
|
91
|
-
assert OpenTox::Authorization.authorize(TEST_URI, "GET", @@subjectid), "GET request"
|
92
|
-
policies = OpenTox::Authorization.list_uri_policies(TEST_URI, @@subjectid)
|
93
|
-
policies.each do |policy|
|
94
|
-
assert OpenTox::Authorization.delete_policy(policy, @@subjectid)
|
95
|
-
end
|
96
|
-
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
|
-
|
101
|
-
def logout (token)
|
102
|
-
OpenTox::Authorization.logout(token)
|
103
|
-
end
|
104
|
-
|
105
|
-
def login
|
106
|
-
OpenTox::Authorization.authenticate(AA_USER,AA_PASS)
|
107
|
-
end
|