t2-server 1.1.0 → 1.2.0
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.
- checksums.yaml +15 -0
- data/.gitignore +1 -0
- data/.ruby-env +1 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +7 -1
- data/CHANGES.rdoc +49 -0
- data/README.rdoc +10 -8
- data/bin/t2-delete-runs +0 -3
- data/lib/t2-server-cli.rb +16 -9
- data/lib/t2-server/exceptions.rb +7 -19
- data/lib/t2-server/net/connection.rb +14 -6
- data/lib/t2-server/net/credentials.rb +12 -1
- data/lib/t2-server/net/parameters.rb +3 -3
- data/lib/t2-server/port.rb +12 -29
- data/lib/t2-server/run.rb +54 -35
- data/lib/t2-server/server.rb +3 -4
- data/lib/t2-server/xml.rb +0 -1
- data/lib/t2-server/xml/methods.rb +97 -4
- data/t2-server.gemspec +4 -1
- data/test/helpers/fake-run.rb +47 -0
- data/test/helpers/test-cache.rb +49 -0
- data/test/helpers/test-xml.rb +36 -0
- data/test/helpers/timezone.rb +39 -0
- data/test/mocked-server-responses/.gitattributes +1 -0
- data/test/mocked-server-responses/get-admin.raw +6 -0
- data/test/mocked-server-responses/get-rest-policy-runlimit.raw +6 -0
- data/test/mocked-server-responses/get-rest-policy.raw +6 -0
- data/test/mocked-server-responses/get-rest-run-input-expected.raw +6 -0
- data/test/mocked-server-responses/get-rest-run-input.raw +6 -0
- data/test/mocked-server-responses/get-rest-run-interaction-feed-0.raw +11 -0
- data/test/mocked-server-responses/get-rest-run-interaction-feed-1.raw +92 -0
- data/test/mocked-server-responses/get-rest-run-interaction-feed-2.raw +80 -0
- data/test/mocked-server-responses/get-rest-run-name.raw +6 -0
- data/test/mocked-server-responses/get-rest-run-output-list-errors.raw +6 -0
- data/test/mocked-server-responses/get-rest-run-output.raw +6 -0
- data/test/mocked-server-responses/get-rest-run-security-permissions.raw +6 -0
- data/test/mocked-server-responses/get-rest-run-security.raw +6 -0
- data/test/mocked-server-responses/get-rest-run.raw +6 -0
- data/test/mocked-server-responses/get-rest-runs.raw +6 -0
- data/test/mocked-server-responses/get-rest.raw +6 -0
- data/test/mocked-server-responses/log.txt +1 -0
- data/test/mocked-server-responses/mocks.rb +107 -0
- data/test/mocked-server-responses/options-admin-allownew.raw +7 -0
- data/test/tc_admin.rb +52 -24
- data/test/tc_admin_live.rb +66 -0
- data/test/tc_connection.rb +87 -0
- data/test/tc_connection_exceptions.rb +86 -0
- data/test/tc_credentials.rb +73 -0
- data/test/tc_interaction.rb +182 -0
- data/test/{tc_misc.rb → tc_misc_live.rb} +3 -1
- data/test/tc_params.rb +82 -4
- data/test/tc_perms.rb +54 -101
- data/test/tc_perms_live.rb +150 -0
- data/test/tc_ports.rb +192 -0
- data/test/tc_run.rb +333 -350
- data/test/tc_run_live.rb +453 -0
- data/test/{tc_secure.rb → tc_secure_live.rb} +30 -29
- data/test/tc_server.rb +115 -42
- data/test/tc_server_live.rb +92 -0
- data/test/tc_server_version.rb +19 -0
- data/test/tc_xml_messages.rb +201 -0
- data/test/ts_t2server.rb +37 -43
- data/test/workflows/secure/heater-pk.pem +24 -18
- data/test/workflows/secure/user-cert.p12 +0 -0
- data/version.yml +1 -1
- metadata +136 -29
- data/lib/t2-server/xml/fragments.rb +0 -78
@@ -0,0 +1,201 @@
|
|
1
|
+
# Copyright (c) 2014 The University of Manchester, UK.
|
2
|
+
#
|
3
|
+
# All rights reserved.
|
4
|
+
#
|
5
|
+
# Redistribution and use in source and binary forms, with or without
|
6
|
+
# modification, are permitted provided that the following conditions are met:
|
7
|
+
#
|
8
|
+
# * Redistributions of source code must retain the above copyright notice,
|
9
|
+
# this list of conditions and the following disclaimer.
|
10
|
+
#
|
11
|
+
# * Redistributions in binary form must reproduce the above copyright notice,
|
12
|
+
# this list of conditions and the following disclaimer in the documentation
|
13
|
+
# and/or other materials provided with the distribution.
|
14
|
+
#
|
15
|
+
# * Neither the names of The University of Manchester nor the names of its
|
16
|
+
# contributors may be used to endorse or promote products derived from this
|
17
|
+
# software without specific prior written permission.
|
18
|
+
#
|
19
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
20
|
+
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
21
|
+
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
22
|
+
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
23
|
+
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
24
|
+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
25
|
+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
26
|
+
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
27
|
+
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
28
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
29
|
+
# POSSIBILITY OF SUCH DAMAGE.
|
30
|
+
#
|
31
|
+
# Author: Robert Haines
|
32
|
+
|
33
|
+
require 't2-server'
|
34
|
+
|
35
|
+
require 'helpers/test-xml'
|
36
|
+
|
37
|
+
class TestXMLMessages < Test::Unit::TestCase
|
38
|
+
|
39
|
+
def setup
|
40
|
+
@test = TestXML.new
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_mkdir_fragment
|
44
|
+
dir_name = "new_dir"
|
45
|
+
fragment = @test.xml_mkdir_fragment(dir_name)
|
46
|
+
|
47
|
+
root = get_and_check_root(fragment, "mkdir")
|
48
|
+
|
49
|
+
assert_equal [], root.children
|
50
|
+
assert_equal "", root.content
|
51
|
+
|
52
|
+
assert root.attributes?
|
53
|
+
assert_equal dir_name, root["name"]
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_upload_fragment
|
57
|
+
file_name = "/file/name.txt"
|
58
|
+
file_data = "test & data"
|
59
|
+
fragment = @test.xml_upload_fragment(file_name, file_data)
|
60
|
+
|
61
|
+
root = get_and_check_root(fragment, "upload")
|
62
|
+
|
63
|
+
assert_equal file_data, root.content
|
64
|
+
|
65
|
+
assert root.attributes?
|
66
|
+
assert_equal file_name, root["name"]
|
67
|
+
end
|
68
|
+
|
69
|
+
def test_input_value_fragment
|
70
|
+
input_value = "test & input"
|
71
|
+
fragment = @test.xml_input_fragment(input_value)
|
72
|
+
|
73
|
+
root = get_and_check_root(fragment, "runInput")
|
74
|
+
|
75
|
+
refute root.attributes?
|
76
|
+
|
77
|
+
check_child_nodes(root, "value" => input_value)
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_input_file_fragment
|
81
|
+
file_name = "/file/name.txt"
|
82
|
+
fragment = @test.xml_input_fragment(file_name, :file)
|
83
|
+
|
84
|
+
root = get_and_check_root(fragment, "runInput")
|
85
|
+
|
86
|
+
refute root.attributes?
|
87
|
+
|
88
|
+
check_child_nodes(root, "file" => file_name)
|
89
|
+
end
|
90
|
+
|
91
|
+
def test_trust_fragment
|
92
|
+
cert_data = "test contents"
|
93
|
+
cert_type = "X509"
|
94
|
+
fragment = @test.xml_trust_fragment(cert_data, cert_type)
|
95
|
+
|
96
|
+
root = get_and_check_root(fragment, "trustedIdentity")
|
97
|
+
|
98
|
+
refute root.attributes?
|
99
|
+
|
100
|
+
check_child_nodes(root, "certificateBytes" => cert_data,
|
101
|
+
"fileType" => cert_type)
|
102
|
+
end
|
103
|
+
|
104
|
+
def test_permissions_fragment
|
105
|
+
username = "taverna"
|
106
|
+
permission = "destroy"
|
107
|
+
fragment = @test.xml_permissions_fragment(username, permission)
|
108
|
+
|
109
|
+
root = get_and_check_root(fragment, "permissionUpdate")
|
110
|
+
|
111
|
+
refute root.attributes?
|
112
|
+
|
113
|
+
check_child_nodes(root, "userName" => username,
|
114
|
+
"permission" => permission)
|
115
|
+
end
|
116
|
+
|
117
|
+
def test_password_cred_fragment
|
118
|
+
service = "http://example.com/service"
|
119
|
+
username = "taverna"
|
120
|
+
password = "T@v3rNa!"
|
121
|
+
fragment = @test.xml_password_cred_fragment(service, username, password)
|
122
|
+
|
123
|
+
root = get_and_check_root(fragment, "credential")
|
124
|
+
|
125
|
+
refute root.attributes?
|
126
|
+
|
127
|
+
check_child_nodes(root, "userpass" => {
|
128
|
+
"serviceURI" => service,
|
129
|
+
"username" => username,
|
130
|
+
"password" => password
|
131
|
+
}
|
132
|
+
)
|
133
|
+
end
|
134
|
+
|
135
|
+
def test_keypair_cred_fragment
|
136
|
+
service = "http://example.com/service"
|
137
|
+
cred_name = "test_name"
|
138
|
+
cred_bytes = "example cred"
|
139
|
+
cred_type = "PKCS12"
|
140
|
+
password = "T@v3rNa!"
|
141
|
+
fragment = @test.xml_keypair_cred_fragment(service, cred_name, cred_bytes,
|
142
|
+
cred_type, password)
|
143
|
+
|
144
|
+
root = get_and_check_root(fragment, "credential")
|
145
|
+
|
146
|
+
refute root.attributes?
|
147
|
+
|
148
|
+
check_child_nodes(root, "keypair" => {
|
149
|
+
"serviceURI" => service,
|
150
|
+
"credentialName" => cred_name,
|
151
|
+
"credentialBytes" => cred_bytes,
|
152
|
+
"fileType" => cred_type,
|
153
|
+
"unlockPassword" => password
|
154
|
+
}
|
155
|
+
)
|
156
|
+
end
|
157
|
+
|
158
|
+
private
|
159
|
+
|
160
|
+
def check_child_nodes(node, children)
|
161
|
+
names = children.keys
|
162
|
+
num_children = 0
|
163
|
+
|
164
|
+
node.each_element do |child|
|
165
|
+
num_children += 1
|
166
|
+
assert names.include?(child.name)
|
167
|
+
if children[child.name].instance_of?(Hash)
|
168
|
+
check_child_nodes(child, children[child.name])
|
169
|
+
else
|
170
|
+
assert_equal children[child.name], child.content
|
171
|
+
end
|
172
|
+
end
|
173
|
+
|
174
|
+
assert_equal names.length, num_children
|
175
|
+
end
|
176
|
+
|
177
|
+
def get_and_check_root(fragment, root_name)
|
178
|
+
assert fragment.instance_of?(String)
|
179
|
+
|
180
|
+
doc = LibXML::XML::Document.string(fragment)
|
181
|
+
root = doc.root
|
182
|
+
assert_equal root_name, root.name
|
183
|
+
check_namespaces(root)
|
184
|
+
|
185
|
+
root
|
186
|
+
end
|
187
|
+
|
188
|
+
def check_namespaces(node)
|
189
|
+
namespaces = node.namespaces
|
190
|
+
assert_nil namespaces.default
|
191
|
+
|
192
|
+
ns_list = namespaces.definitions
|
193
|
+
assert_equal 4, ns_list.count
|
194
|
+
|
195
|
+
ns_list.each do |ns|
|
196
|
+
assert T2Server::XML::Namespaces::MAP.has_key?(ns.prefix)
|
197
|
+
assert T2Server::XML::Namespaces::MAP.has_value?(ns.href)
|
198
|
+
end
|
199
|
+
end
|
200
|
+
|
201
|
+
end
|
data/test/ts_t2server.rb
CHANGED
@@ -30,6 +30,9 @@
|
|
30
30
|
#
|
31
31
|
# Author: Robert Haines
|
32
32
|
|
33
|
+
require 'coveralls'
|
34
|
+
Coveralls.wear!
|
35
|
+
|
33
36
|
require 'test/unit'
|
34
37
|
require 't2-server'
|
35
38
|
|
@@ -37,32 +40,11 @@ require 't2-server'
|
|
37
40
|
# command line.
|
38
41
|
if ARGV.size != 0
|
39
42
|
address = ARGV[0]
|
40
|
-
|
41
|
-
|
42
|
-
user1, pass1 = ARGV[1].split(":")
|
43
|
-
user1 = nil if pass1.nil?
|
44
|
-
end
|
45
|
-
|
46
|
-
unless ARGV[2].nil?
|
47
|
-
user2, pass2 = ARGV[2].split(":")
|
48
|
-
user2 = nil if pass2.nil?
|
49
|
-
end
|
50
|
-
|
51
|
-
puts "Using server at: #{address}"
|
52
|
-
puts " With user(s): #{user1} #{user2}" if user1
|
43
|
+
user1 = ARGV[1]
|
44
|
+
user2 = ARGV[2]
|
53
45
|
|
54
46
|
# Clear the commandline arguments so that we don't confuse runit.
|
55
47
|
ARGV.clear
|
56
|
-
elsif !ENV["TRAVIS"]
|
57
|
-
# get a server address to test if not in travis - 30 second timeout
|
58
|
-
print "\nPlease supply a valid Taverna 2 Server address.\n\nNOTE that " +
|
59
|
-
"these tests will fully load the server and then delete all the runs " +
|
60
|
-
"that it has permission to do so - if you are not using security ALL " +
|
61
|
-
"runs will be deleted!\n(leave blank to skip tests): "
|
62
|
-
$stdout.flush
|
63
|
-
if select([$stdin], [], [], 30)
|
64
|
-
address = $stdin.gets.chomp
|
65
|
-
end
|
66
48
|
end
|
67
49
|
|
68
50
|
# If address is still unset then set it to something.
|
@@ -70,26 +52,38 @@ address ||= ""
|
|
70
52
|
|
71
53
|
# the testcases to run
|
72
54
|
require 'tc_util'
|
55
|
+
require 'tc_xml_messages'
|
73
56
|
require 'tc_params'
|
57
|
+
require 'tc_connection'
|
74
58
|
require 'tc_server_version'
|
75
|
-
|
59
|
+
require 'tc_credentials'
|
60
|
+
|
61
|
+
# Only run tests against a live server if we have an address for one.
|
62
|
+
if address == ""
|
63
|
+
$uri = URI.parse("https://localhost/taverna")
|
64
|
+
$userinfo = "test:test"
|
65
|
+
$userinfo1 = "test1:test1"
|
66
|
+
$creds = T2Server::HttpBasic.parse($userinfo)
|
67
|
+
$creds1 = T2Server::HttpBasic.parse($userinfo1)
|
68
|
+
$conn_params = T2Server::DefaultConnectionParameters.new
|
69
|
+
|
70
|
+
require 'tc_connection_exceptions'
|
71
|
+
require 'tc_server'
|
72
|
+
require 'tc_ports'
|
73
|
+
require 'tc_perms'
|
74
|
+
require 'tc_run'
|
75
|
+
require 'tc_interaction'
|
76
|
+
require 'tc_admin'
|
77
|
+
else
|
76
78
|
$uri, $creds = T2Server::Util.strip_uri_credentials(address)
|
77
79
|
|
78
80
|
# override creds if passed in on the command line
|
79
|
-
$creds = T2Server::HttpBasic.
|
80
|
-
$creds1 = T2Server::HttpBasic.
|
81
|
+
$creds = T2Server::HttpBasic.parse(user1) if user1
|
82
|
+
$creds1 = T2Server::HttpBasic.parse(user2) if user2
|
81
83
|
|
82
|
-
|
83
|
-
|
84
|
-
$
|
85
|
-
$wkf_xml = "test/workflows/xml_xpath.t2flow"
|
86
|
-
$wkf_fail = "test/workflows/always_fail.t2flow"
|
87
|
-
$wkf_errors = "test/workflows/list_with_errors.t2flow"
|
88
|
-
$wkf_no_io = "test/workflows/no-ports.t2flow"
|
89
|
-
$wkf_miss_o = "test/workflows/missing_outputs.t2flow"
|
90
|
-
$list_input = "test/workflows/empty_list_input.baclava"
|
91
|
-
$file_input = "test/workflows/in.txt"
|
92
|
-
$file_strs = "test/workflows/strings.txt"
|
84
|
+
puts "Running tests against a live server at: #{$uri}"
|
85
|
+
print " With user(s): #{$creds.username}" if $creds
|
86
|
+
puts $creds1.nil? ? "" : " #{$creds1.username}"
|
93
87
|
|
94
88
|
if $uri.scheme == "http"
|
95
89
|
$conn_params = T2Server::DefaultConnectionParameters.new
|
@@ -102,15 +96,15 @@ unless address == ""
|
|
102
96
|
# This will drop out before further tests are run
|
103
97
|
T2Server::Server.new($uri, $conn_params)
|
104
98
|
|
105
|
-
require '
|
106
|
-
require '
|
107
|
-
require '
|
108
|
-
require '
|
109
|
-
require '
|
99
|
+
require 'tc_server_live'
|
100
|
+
require 'tc_run_live'
|
101
|
+
require 'tc_admin_live'
|
102
|
+
require 'tc_secure_live'
|
103
|
+
require 'tc_misc_live'
|
110
104
|
|
111
105
|
# if we have two sets of credentials we can run permissions tests
|
112
106
|
if $creds1
|
113
|
-
require '
|
107
|
+
require 'tc_perms_live'
|
114
108
|
end
|
115
109
|
rescue RuntimeError => e
|
116
110
|
puts "!!!\nNo tests on the remote server could be run.\n#{e.message}\n!!!"
|
@@ -1,20 +1,26 @@
|
|
1
1
|
-----BEGIN CERTIFICATE-----
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
2
|
+
MIIEczCCA1ugAwIBAgIQPNDfg7NaMsjkGjowei7/JjANBgkqhkiG9w0BAQUFADA2
|
3
|
+
MQswCQYDVQQGEwJOTDEPMA0GA1UEChMGVEVSRU5BMRYwFAYDVQQDEw1URVJFTkEg
|
4
|
+
U1NMIENBMB4XDTEzMDUyMjAwMDAwMFoXDTE2MDUyMTIzNTk1OVowQTEhMB8GA1UE
|
5
|
+
CxMYRG9tYWluIENvbnRyb2wgVmFsaWRhdGVkMRwwGgYDVQQDExNoZWF0ZXIuY3Mu
|
6
|
+
bWFuLmFjLnVrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2egVdh/d
|
7
|
+
PbrglnEp/BATt2UWk48tplWdt0aFcpvatItJZ4+CY0Rfd0TCIRKDp+PppbE1/PcE
|
8
|
+
pe77Zngiu1YYnOpAIoS3Mfgc/yxssEHJj/tAjY1d4/NFa8jwY/MIoSPZrNGtTEpf
|
9
|
+
IMn7OUNsEh1YyWYdDmvNaxQFdLVjO/QhFqtQedUJEg7YaD1/OacmQoWAZvOPkXeQ
|
10
|
+
lUHpieiFjGeJYI/RCqWE1tjU6E/4WtczOsXXA50kFJ/XykQVwto3e8ckKju6HI0g
|
11
|
+
FL1R/7wrhfSJ5rkiwmlPWZd5Keik/va/8JJKlWG3OzYaLb5qPTqgaKTTKbWvU/nX
|
12
|
+
cPeKaIZ0Sa7AYwIDAQABo4IBcDCCAWwwHwYDVR0jBBgwFoAUDL2TaAzz3qujSWsr
|
13
|
+
N1dH6pDjue0wHQYDVR0OBBYEFEKp10paTphB4PCL5kK5C/aVod4+MA4GA1UdDwEB
|
14
|
+
/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEF
|
15
|
+
BQcDAjAiBgNVHSAEGzAZMA0GCysGAQQBsjEBAgIdMAgGBmeBDAECATA6BgNVHR8E
|
16
|
+
MzAxMC+gLaArhilodHRwOi8vY3JsLnRjcy50ZXJlbmEub3JnL1RFUkVOQVNTTENB
|
17
|
+
LmNybDBtBggrBgEFBQcBAQRhMF8wNQYIKwYBBQUHMAKGKWh0dHA6Ly9jcnQudGNz
|
18
|
+
LnRlcmVuYS5vcmcvVEVSRU5BU1NMQ0EuY3J0MCYGCCsGAQUFBzABhhpodHRwOi8v
|
19
|
+
b2NzcC50Y3MudGVyZW5hLm9yZzAeBgNVHREEFzAVghNoZWF0ZXIuY3MubWFuLmFj
|
20
|
+
LnVrMA0GCSqGSIb3DQEBBQUAA4IBAQCIO7fl98dU24AfcCGyZDPA2zHi0coqAZbA
|
21
|
+
SZ31z5IPezLXpPkpN/msiYuUkIx5DjWjzv9w/sAQ952YUGz0z7AFDamMcyETlMb+
|
22
|
+
trWedNHk0FghwoQTNW+WXxBa9My8K3IeO1FOt58lKVay9aqVZjiumt+P3LKocXfP
|
23
|
+
0cNAPNHR57j9MO+D0fWOCMfbfYk3jEuz1k6vMZomZi35tb61QQ/mYbva7EodBxRt
|
24
|
+
HrzOsWPG1jgt32zRibnCc1C6cBry5BkWQ1/9dpJ2LHM6JVVknoRGYng+L91OLfj8
|
25
|
+
8PB6BTrehrqH5fe5kcgW02XlezIkaKpzEYc4Jpdf817A1rOSVuBv
|
20
26
|
-----END CERTIFICATE-----
|
Binary file
|
data/version.yml
CHANGED
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: t2-server
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
5
|
-
prerelease:
|
4
|
+
version: 1.2.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Robert Haines
|
@@ -10,12 +9,11 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date: 2014-
|
12
|
+
date: 2014-09-24 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: rake
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
18
|
- - ~>
|
21
19
|
- !ruby/object:Gem::Version
|
@@ -23,7 +21,6 @@ dependencies:
|
|
23
21
|
type: :development
|
24
22
|
prerelease: false
|
25
23
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
24
|
requirements:
|
28
25
|
- - ~>
|
29
26
|
- !ruby/object:Gem::Version
|
@@ -31,7 +28,6 @@ dependencies:
|
|
31
28
|
- !ruby/object:Gem::Dependency
|
32
29
|
name: bundler
|
33
30
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
31
|
requirements:
|
36
32
|
- - ~>
|
37
33
|
- !ruby/object:Gem::Version
|
@@ -39,7 +35,6 @@ dependencies:
|
|
39
35
|
type: :development
|
40
36
|
prerelease: false
|
41
37
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
38
|
requirements:
|
44
39
|
- - ~>
|
45
40
|
- !ruby/object:Gem::Version
|
@@ -47,7 +42,6 @@ dependencies:
|
|
47
42
|
- !ruby/object:Gem::Dependency
|
48
43
|
name: rdoc
|
49
44
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
45
|
requirements:
|
52
46
|
- - ~>
|
53
47
|
- !ruby/object:Gem::Version
|
@@ -55,7 +49,6 @@ dependencies:
|
|
55
49
|
type: :development
|
56
50
|
prerelease: false
|
57
51
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
52
|
requirements:
|
60
53
|
- - ~>
|
61
54
|
- !ruby/object:Gem::Version
|
@@ -63,7 +56,6 @@ dependencies:
|
|
63
56
|
- !ruby/object:Gem::Dependency
|
64
57
|
name: launchy
|
65
58
|
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
59
|
requirements:
|
68
60
|
- - ~>
|
69
61
|
- !ruby/object:Gem::Version
|
@@ -71,7 +63,6 @@ dependencies:
|
|
71
63
|
type: :development
|
72
64
|
prerelease: false
|
73
65
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
66
|
requirements:
|
76
67
|
- - ~>
|
77
68
|
- !ruby/object:Gem::Version
|
@@ -79,7 +70,6 @@ dependencies:
|
|
79
70
|
- !ruby/object:Gem::Dependency
|
80
71
|
name: hirb
|
81
72
|
requirement: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
73
|
requirements:
|
84
74
|
- - ~>
|
85
75
|
- !ruby/object:Gem::Version
|
@@ -87,15 +77,41 @@ dependencies:
|
|
87
77
|
type: :development
|
88
78
|
prerelease: false
|
89
79
|
version_requirements: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
80
|
requirements:
|
92
81
|
- - ~>
|
93
82
|
- !ruby/object:Gem::Version
|
94
83
|
version: '0.7'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: webmock
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - ~>
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '1.17'
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ~>
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '1.17'
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: coveralls
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ! '>='
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
105
|
+
type: :development
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ! '>='
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
95
112
|
- !ruby/object:Gem::Dependency
|
96
113
|
name: net-http-persistent
|
97
114
|
requirement: !ruby/object:Gem::Requirement
|
98
|
-
none: false
|
99
115
|
requirements:
|
100
116
|
- - ~>
|
101
117
|
- !ruby/object:Gem::Version
|
@@ -103,7 +119,6 @@ dependencies:
|
|
103
119
|
type: :runtime
|
104
120
|
prerelease: false
|
105
121
|
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
122
|
requirements:
|
108
123
|
- - ~>
|
109
124
|
- !ruby/object:Gem::Version
|
@@ -111,7 +126,6 @@ dependencies:
|
|
111
126
|
- !ruby/object:Gem::Dependency
|
112
127
|
name: taverna-baclava
|
113
128
|
requirement: !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
129
|
requirements:
|
116
130
|
- - ~>
|
117
131
|
- !ruby/object:Gem::Version
|
@@ -119,7 +133,6 @@ dependencies:
|
|
119
133
|
type: :runtime
|
120
134
|
prerelease: false
|
121
135
|
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
none: false
|
123
136
|
requirements:
|
124
137
|
- - ~>
|
125
138
|
- !ruby/object:Gem::Version
|
@@ -127,7 +140,6 @@ dependencies:
|
|
127
140
|
- !ruby/object:Gem::Dependency
|
128
141
|
name: ratom
|
129
142
|
requirement: !ruby/object:Gem::Requirement
|
130
|
-
none: false
|
131
143
|
requirements:
|
132
144
|
- - ~>
|
133
145
|
- !ruby/object:Gem::Version
|
@@ -135,7 +147,6 @@ dependencies:
|
|
135
147
|
type: :runtime
|
136
148
|
prerelease: false
|
137
149
|
version_requirements: !ruby/object:Gem::Requirement
|
138
|
-
none: false
|
139
150
|
requirements:
|
140
151
|
- - ~>
|
141
152
|
- !ruby/object:Gem::Version
|
@@ -143,7 +154,6 @@ dependencies:
|
|
143
154
|
- !ruby/object:Gem::Dependency
|
144
155
|
name: libxml-ruby
|
145
156
|
requirement: !ruby/object:Gem::Requirement
|
146
|
-
none: false
|
147
157
|
requirements:
|
148
158
|
- - ~>
|
149
159
|
- !ruby/object:Gem::Version
|
@@ -151,7 +161,6 @@ dependencies:
|
|
151
161
|
type: :runtime
|
152
162
|
prerelease: false
|
153
163
|
version_requirements: !ruby/object:Gem::Requirement
|
154
|
-
none: false
|
155
164
|
requirements:
|
156
165
|
- - ~>
|
157
166
|
- !ruby/object:Gem::Version
|
@@ -173,6 +182,9 @@ extra_rdoc_files:
|
|
173
182
|
- CHANGES.rdoc
|
174
183
|
files:
|
175
184
|
- .gitignore
|
185
|
+
- .ruby-env
|
186
|
+
- .ruby-gemset
|
187
|
+
- .ruby-version
|
176
188
|
- .travis.yml
|
177
189
|
- CHANGES.rdoc
|
178
190
|
- Gemfile
|
@@ -200,20 +212,53 @@ files:
|
|
200
212
|
- lib/t2-server/util.rb
|
201
213
|
- lib/t2-server/version.rb
|
202
214
|
- lib/t2-server/xml.rb
|
203
|
-
- lib/t2-server/xml/fragments.rb
|
204
215
|
- lib/t2-server/xml/methods.rb
|
205
216
|
- lib/t2-server/xml/namespaces.rb
|
206
217
|
- lib/t2-server/xml/xpath_cache.rb
|
207
218
|
- t2-server.gemspec
|
219
|
+
- test/helpers/fake-run.rb
|
220
|
+
- test/helpers/test-cache.rb
|
221
|
+
- test/helpers/test-xml.rb
|
222
|
+
- test/helpers/timezone.rb
|
223
|
+
- test/mocked-server-responses/.gitattributes
|
224
|
+
- test/mocked-server-responses/get-admin.raw
|
225
|
+
- test/mocked-server-responses/get-rest-policy-runlimit.raw
|
226
|
+
- test/mocked-server-responses/get-rest-policy.raw
|
227
|
+
- test/mocked-server-responses/get-rest-run-input-expected.raw
|
228
|
+
- test/mocked-server-responses/get-rest-run-input.raw
|
229
|
+
- test/mocked-server-responses/get-rest-run-interaction-feed-0.raw
|
230
|
+
- test/mocked-server-responses/get-rest-run-interaction-feed-1.raw
|
231
|
+
- test/mocked-server-responses/get-rest-run-interaction-feed-2.raw
|
232
|
+
- test/mocked-server-responses/get-rest-run-name.raw
|
233
|
+
- test/mocked-server-responses/get-rest-run-output-list-errors.raw
|
234
|
+
- test/mocked-server-responses/get-rest-run-output.raw
|
235
|
+
- test/mocked-server-responses/get-rest-run-security-permissions.raw
|
236
|
+
- test/mocked-server-responses/get-rest-run-security.raw
|
237
|
+
- test/mocked-server-responses/get-rest-run.raw
|
238
|
+
- test/mocked-server-responses/get-rest-runs.raw
|
239
|
+
- test/mocked-server-responses/get-rest.raw
|
240
|
+
- test/mocked-server-responses/log.txt
|
241
|
+
- test/mocked-server-responses/mocks.rb
|
242
|
+
- test/mocked-server-responses/options-admin-allownew.raw
|
208
243
|
- test/tc_admin.rb
|
209
|
-
- test/
|
244
|
+
- test/tc_admin_live.rb
|
245
|
+
- test/tc_connection.rb
|
246
|
+
- test/tc_connection_exceptions.rb
|
247
|
+
- test/tc_credentials.rb
|
248
|
+
- test/tc_interaction.rb
|
249
|
+
- test/tc_misc_live.rb
|
210
250
|
- test/tc_params.rb
|
211
251
|
- test/tc_perms.rb
|
252
|
+
- test/tc_perms_live.rb
|
253
|
+
- test/tc_ports.rb
|
212
254
|
- test/tc_run.rb
|
213
|
-
- test/
|
255
|
+
- test/tc_run_live.rb
|
256
|
+
- test/tc_secure_live.rb
|
214
257
|
- test/tc_server.rb
|
258
|
+
- test/tc_server_live.rb
|
215
259
|
- test/tc_server_version.rb
|
216
260
|
- test/tc_util.rb
|
261
|
+
- test/tc_xml_messages.rb
|
217
262
|
- test/ts_t2server.rb
|
218
263
|
- test/workflows/always_fail.t2flow
|
219
264
|
- test/workflows/empty_list.t2flow
|
@@ -239,6 +284,7 @@ files:
|
|
239
284
|
homepage: http://www.taverna.org.uk/
|
240
285
|
licenses:
|
241
286
|
- BSD
|
287
|
+
metadata: {}
|
242
288
|
post_install_message:
|
243
289
|
rdoc_options:
|
244
290
|
- -N
|
@@ -247,22 +293,83 @@ rdoc_options:
|
|
247
293
|
require_paths:
|
248
294
|
- lib
|
249
295
|
required_ruby_version: !ruby/object:Gem::Requirement
|
250
|
-
none: false
|
251
296
|
requirements:
|
252
297
|
- - ! '>='
|
253
298
|
- !ruby/object:Gem::Version
|
254
|
-
version:
|
299
|
+
version: 1.9.3
|
255
300
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
256
|
-
none: false
|
257
301
|
requirements:
|
258
302
|
- - ! '>='
|
259
303
|
- !ruby/object:Gem::Version
|
260
304
|
version: '0'
|
261
305
|
requirements: []
|
262
306
|
rubyforge_project:
|
263
|
-
rubygems_version:
|
307
|
+
rubygems_version: 2.2.2
|
264
308
|
signing_key:
|
265
|
-
specification_version:
|
309
|
+
specification_version: 4
|
266
310
|
summary: Support for interacting with Taverna 2 Server.
|
267
311
|
test_files:
|
312
|
+
- test/helpers/fake-run.rb
|
313
|
+
- test/helpers/test-cache.rb
|
314
|
+
- test/helpers/test-xml.rb
|
315
|
+
- test/helpers/timezone.rb
|
316
|
+
- test/mocked-server-responses/.gitattributes
|
317
|
+
- test/mocked-server-responses/get-admin.raw
|
318
|
+
- test/mocked-server-responses/get-rest-policy-runlimit.raw
|
319
|
+
- test/mocked-server-responses/get-rest-policy.raw
|
320
|
+
- test/mocked-server-responses/get-rest-run-input-expected.raw
|
321
|
+
- test/mocked-server-responses/get-rest-run-input.raw
|
322
|
+
- test/mocked-server-responses/get-rest-run-interaction-feed-0.raw
|
323
|
+
- test/mocked-server-responses/get-rest-run-interaction-feed-1.raw
|
324
|
+
- test/mocked-server-responses/get-rest-run-interaction-feed-2.raw
|
325
|
+
- test/mocked-server-responses/get-rest-run-name.raw
|
326
|
+
- test/mocked-server-responses/get-rest-run-output-list-errors.raw
|
327
|
+
- test/mocked-server-responses/get-rest-run-output.raw
|
328
|
+
- test/mocked-server-responses/get-rest-run-security-permissions.raw
|
329
|
+
- test/mocked-server-responses/get-rest-run-security.raw
|
330
|
+
- test/mocked-server-responses/get-rest-run.raw
|
331
|
+
- test/mocked-server-responses/get-rest-runs.raw
|
332
|
+
- test/mocked-server-responses/get-rest.raw
|
333
|
+
- test/mocked-server-responses/log.txt
|
334
|
+
- test/mocked-server-responses/mocks.rb
|
335
|
+
- test/mocked-server-responses/options-admin-allownew.raw
|
336
|
+
- test/tc_admin.rb
|
337
|
+
- test/tc_admin_live.rb
|
338
|
+
- test/tc_connection.rb
|
339
|
+
- test/tc_connection_exceptions.rb
|
340
|
+
- test/tc_credentials.rb
|
341
|
+
- test/tc_interaction.rb
|
342
|
+
- test/tc_misc_live.rb
|
343
|
+
- test/tc_params.rb
|
344
|
+
- test/tc_perms.rb
|
345
|
+
- test/tc_perms_live.rb
|
346
|
+
- test/tc_ports.rb
|
347
|
+
- test/tc_run.rb
|
348
|
+
- test/tc_run_live.rb
|
349
|
+
- test/tc_secure_live.rb
|
350
|
+
- test/tc_server.rb
|
351
|
+
- test/tc_server_live.rb
|
352
|
+
- test/tc_server_version.rb
|
353
|
+
- test/tc_util.rb
|
354
|
+
- test/tc_xml_messages.rb
|
268
355
|
- test/ts_t2server.rb
|
356
|
+
- test/workflows/always_fail.t2flow
|
357
|
+
- test/workflows/empty_list.t2flow
|
358
|
+
- test/workflows/empty_list_input.baclava
|
359
|
+
- test/workflows/in.txt
|
360
|
+
- test/workflows/list_and_value.t2flow
|
361
|
+
- test/workflows/list_with_errors.t2flow
|
362
|
+
- test/workflows/missing_outputs.t2flow
|
363
|
+
- test/workflows/no-ports.t2flow
|
364
|
+
- test/workflows/pass_through.t2flow
|
365
|
+
- test/workflows/secure/basic-http.t2flow
|
366
|
+
- test/workflows/secure/basic-https.t2flow
|
367
|
+
- test/workflows/secure/client-https.t2flow
|
368
|
+
- test/workflows/secure/digest-http.t2flow
|
369
|
+
- test/workflows/secure/digest-https.t2flow
|
370
|
+
- test/workflows/secure/heater-pk.pem
|
371
|
+
- test/workflows/secure/user-cert.p12
|
372
|
+
- test/workflows/secure/ws-http.t2flow
|
373
|
+
- test/workflows/secure/ws-https.t2flow
|
374
|
+
- test/workflows/strings.txt
|
375
|
+
- test/workflows/xml_xpath.t2flow
|