t2-server 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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,80 @@
|
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Server: Apache-Coyote/1.1
|
3
|
+
Content-Type: application/atom+xml; type=feed;charset=UTF-8
|
4
|
+
Transfer-Encoding: chunked
|
5
|
+
|
6
|
+
<?xml version='1.0' encoding='UTF-8'?>
|
7
|
+
<feed xmlns="http://www.w3.org/2005/Atom">
|
8
|
+
<title type="text">Interactions for Taverna Run "Multi_interactor"</title>
|
9
|
+
<link href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/interaction" rel="self"/>
|
10
|
+
<link href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74" rel="workflowrun"/>
|
11
|
+
<entry xmlns:thr="http://purl.org/syndication/thread/1.0">
|
12
|
+
|
13
|
+
|
14
|
+
<title type="text">"A reply to db4c26e742a14bba93356a473e314ce4"</title>
|
15
|
+
|
16
|
+
|
17
|
+
<id>urn:uuid:f6a2bc46-2779-4346-a237-208206f56a71</id>
|
18
|
+
|
19
|
+
|
20
|
+
<content type="text"/>
|
21
|
+
|
22
|
+
|
23
|
+
<interaction:run-id xmlns:interaction="http://ns.taverna.org.uk/2012/interaction">a341b87f-25cc-4dfd-be36-f5b073a6ba74</interaction:run-id>
|
24
|
+
|
25
|
+
|
26
|
+
<interaction:in-reply-to xmlns:interaction="http://ns.taverna.org.uk/2012/interaction">db4c26e742a14bba93356a473e314ce4</interaction:in-reply-to>
|
27
|
+
|
28
|
+
|
29
|
+
<interaction:result-status xmlns:interaction="http://ns.taverna.org.uk/2012/interaction">OK</interaction:result-status>
|
30
|
+
|
31
|
+
<link href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/interaction/entry_3" rel="self"/>
|
32
|
+
|
33
|
+
<link href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74" rel="workflowrun"/>
|
34
|
+
|
35
|
+
<updated>2014-05-25T15:14:12.727Z</updated>
|
36
|
+
|
37
|
+
<published>2014-05-25T15:14:12.727Z</published>
|
38
|
+
</entry>
|
39
|
+
<updated>2014-05-25T15:14:12.727Z</updated>
|
40
|
+
<entry xmlns:interaction="http://ns.taverna.org.uk/2012/interaction">
|
41
|
+
|
42
|
+
<id>urn:uuid:7eb364c8-3462-4299-afcf-8362a56e94f7</id>
|
43
|
+
|
44
|
+
<published>2014-05-25T15:09:13.894Z</published>
|
45
|
+
|
46
|
+
<updated>2014-05-25T15:09:13.894Z</updated>
|
47
|
+
|
48
|
+
<author>
|
49
|
+
|
50
|
+
<name>Taverna</name>
|
51
|
+
</author>
|
52
|
+
|
53
|
+
<title type="text">Interaction from Taverna for 966ac40e-6c2a-4650-b094-f6c14d893de6:facade0:Multi_interactor:Nested_workflow:invocation3:facade1:Workflow10:Interaction:invocation7</title>
|
54
|
+
|
55
|
+
<interaction:run-id>a341b87f-25cc-4dfd-be36-f5b073a6ba74</interaction:run-id>
|
56
|
+
|
57
|
+
<interaction:path>Nested_workflow:Interaction</interaction:path>
|
58
|
+
|
59
|
+
<interaction:count>0</interaction:count>
|
60
|
+
|
61
|
+
<interaction:id>d1dfbdb616ae42598d2987837ffaa332</interaction:id>
|
62
|
+
|
63
|
+
<link href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/interactions/interactiond1dfbdb616ae42598d2987837ffaa332.html" rel="presentation"/>
|
64
|
+
|
65
|
+
<content type="xhtml">
|
66
|
+
|
67
|
+
<div xmlns="http://www.w3.org/1999/xhtml">
|
68
|
+
|
69
|
+
<p>
|
70
|
+
|
71
|
+
<a href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/interactions/interactiond1dfbdb616ae42598d2987837ffaa332.html">Open: https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/interactions/interactiond1dfbdb616ae42598d2987837ffaa332.html</a>
|
72
|
+
</p>
|
73
|
+
</div>
|
74
|
+
</content>
|
75
|
+
|
76
|
+
<link href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/interaction/entry_2" rel="self"/>
|
77
|
+
|
78
|
+
<link href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74" rel="workflowrun"/>
|
79
|
+
</entry>
|
80
|
+
</feed>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Server: Apache-Coyote/1.1
|
3
|
+
Content-Type: application/xml
|
4
|
+
Transfer-Encoding: chunked
|
5
|
+
|
6
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><port:workflowOutputs xmlns:port="http://ns.taverna.org.uk/2010/port/" xmlns:run="http://ns.taverna.org.uk/2010/run/" xmlns:xlink="http://www.w3.org/1999/xlink" port:workflowId="" port:workflowRun="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74" port:workflowRunId="a341b87f-25cc-4dfd-be36-f5b073a6ba74"><port:output port:name="OUT" port:depth="1"><port:list port:length="40" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT"><port:value port:contentFile="/out/OUT/1" port:contentType="text/plain" port:contentByteLength="7" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/1"/><port:value port:contentFile="/out/OUT/2" port:contentType="text/plain" port:contentByteLength="7" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/2"/><port:value port:contentFile="/out/OUT/3" port:contentType="text/plain" port:contentByteLength="7" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/3"/><port:value port:contentFile="/out/OUT/4" port:contentType="text/plain" port:contentByteLength="7" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/4"/><port:error port:errorFile="/out/OUT/5.error" port:errorByteLength="101" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/5.error"/><port:value port:contentFile="/out/OUT/6" port:contentType="text/plain" port:contentByteLength="7" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/6"/><port:value port:contentFile="/out/OUT/7" port:contentType="text/plain" port:contentByteLength="7" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/7"/><port:value port:contentFile="/out/OUT/8" port:contentType="text/plain" port:contentByteLength="7" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/8"/><port:value port:contentFile="/out/OUT/9" port:contentType="text/plain" port:contentByteLength="7" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/9"/><port:value port:contentFile="/out/OUT/10" port:contentType="text/plain" port:contentByteLength="7" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/10"/><port:error port:errorFile="/out/OUT/11.error" port:errorByteLength="101" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/11.error"/><port:error port:errorFile="/out/OUT/12.error" port:errorByteLength="101" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/12.error"/><port:value port:contentFile="/out/OUT/13" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/13"/><port:error port:errorFile="/out/OUT/14.error" port:errorByteLength="101" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/14.error"/><port:value port:contentFile="/out/OUT/15" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/15"/><port:value port:contentFile="/out/OUT/16" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/16"/><port:value port:contentFile="/out/OUT/17" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/17"/><port:value port:contentFile="/out/OUT/18" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/18"/><port:error port:errorFile="/out/OUT/19.error" port:errorByteLength="101" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/19.error"/><port:value port:contentFile="/out/OUT/20" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/20"/><port:error port:errorFile="/out/OUT/21.error" port:errorByteLength="101" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/21.error"/><port:value port:contentFile="/out/OUT/22" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/22"/><port:value port:contentFile="/out/OUT/23" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/23"/><port:value port:contentFile="/out/OUT/24" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/24"/><port:value port:contentFile="/out/OUT/25" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/25"/><port:error port:errorFile="/out/OUT/26.error" port:errorByteLength="101" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/26.error"/><port:value port:contentFile="/out/OUT/27" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/27"/><port:value port:contentFile="/out/OUT/28" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/28"/><port:value port:contentFile="/out/OUT/29" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/29"/><port:value port:contentFile="/out/OUT/30" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/30"/><port:value port:contentFile="/out/OUT/31" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/31"/><port:value port:contentFile="/out/OUT/32" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/32"/><port:value port:contentFile="/out/OUT/33" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/33"/><port:value port:contentFile="/out/OUT/34" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/34"/><port:value port:contentFile="/out/OUT/35" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/35"/><port:value port:contentFile="/out/OUT/36" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/36"/><port:value port:contentFile="/out/OUT/37" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/37"/><port:value port:contentFile="/out/OUT/38" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/38"/><port:value port:contentFile="/out/OUT/39" port:contentType="text/plain" port:contentByteLength="8" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/39"/><port:error port:errorFile="/out/OUT/40.error" port:errorByteLength="101" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT/40.error"/></port:list></port:output></port:workflowOutputs>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Server: Apache-Coyote/1.1
|
3
|
+
Content-Type: application/xml
|
4
|
+
Content-Length: 661
|
5
|
+
|
6
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><port:workflowOutputs xmlns:port="http://ns.taverna.org.uk/2010/port/" xmlns:run="http://ns.taverna.org.uk/2010/run/" xmlns:xlink="http://www.w3.org/1999/xlink" port:workflowId="" port:workflowRun="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74" port:workflowRunId="a341b87f-25cc-4dfd-be36-f5b073a6ba74"><port:output port:name="OUT" port:depth="0"><port:value port:contentFile="/out/OUT" port:contentType="text/plain" port:contentByteLength="5" xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd/out/OUT"/></port:output></port:workflowOutputs>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Server: Apache-Coyote/1.1
|
3
|
+
Content-Type: application/xml
|
4
|
+
Content-Length: 480
|
5
|
+
|
6
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ts-rest:permissionsDescriptor xmlns:ts="http://ns.taverna.org.uk/2010/xml/server/" xmlns:feed="http://ns.taverna.org.uk/2010/xml/server/feed/" xmlns:port="http://ns.taverna.org.uk/2010/port/" xmlns:ts-soap="http://ns.taverna.org.uk/2010/xml/server/soap/" xmlns:ts-rest="http://ns.taverna.org.uk/2010/xml/server/rest/" xmlns:admin="http://ns.taverna.org.uk/2010/xml/server/admin/" xmlns:xlink="http://www.w3.org/1999/xlink"/>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Server: Apache-Coyote/1.1
|
3
|
+
Content-Type: application/xml
|
4
|
+
Content-Length: 1098
|
5
|
+
|
6
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ts-rest:securityDescriptor xmlns:ts="http://ns.taverna.org.uk/2010/xml/server/" xmlns:feed="http://ns.taverna.org.uk/2010/xml/server/feed/" xmlns:port="http://ns.taverna.org.uk/2010/port/" xmlns:ts-soap="http://ns.taverna.org.uk/2010/xml/server/soap/" xmlns:ts-rest="http://ns.taverna.org.uk/2010/xml/server/rest/" xmlns:admin="http://ns.taverna.org.uk/2010/xml/server/admin/" xmlns:xlink="http://www.w3.org/1999/xlink" ts:serverVersion="2.5.4" ts:serverRevision="d285a5fbfa86b6e7e8e33baffb54830ecec256af (tag: jenkins-taverna-server-2.5-auto-263)" ts:serverBuildTimestamp="25.04.2014 @ 10:54:50 BST"><ts-rest:owner>test</ts-rest:owner><ts-rest:permissions xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/security/permissions"/><ts-rest:credentials xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/security/credentials"/><ts-rest:trusts xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/security/trusts"/></ts-rest:securityDescriptor>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Server: Apache-Coyote/1.1
|
3
|
+
Content-Type: application/xml
|
4
|
+
Content-Length: 3054
|
5
|
+
|
6
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ts-rest:runDescription xmlns:ts="http://ns.taverna.org.uk/2010/xml/server/" xmlns:feed="http://ns.taverna.org.uk/2010/xml/server/feed/" xmlns:port="http://ns.taverna.org.uk/2010/port/" xmlns:ts-soap="http://ns.taverna.org.uk/2010/xml/server/soap/" xmlns:ts-rest="http://ns.taverna.org.uk/2010/xml/server/rest/" xmlns:admin="http://ns.taverna.org.uk/2010/xml/server/admin/" xmlns:xlink="http://www.w3.org/1999/xlink" ts-rest:owner="test" ts:serverVersion="2.5.4" ts:serverRevision="d285a5fbfa86b6e7e8e33baffb54830ecec256af (tag: jenkins-taverna-server-2.5-auto-263)" ts:serverBuildTimestamp="25.04.2014 @ 10:54:50 BST"><ts-rest:expiry xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/expiry">20140501T203520.135+0100</ts-rest:expiry><ts-rest:creationWorkflow xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/workflow"/><ts-rest:createTime xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/createTime"/><ts-rest:startTime xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/startTime"/><ts-rest:finishTime xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/finishTime"/><ts-rest:status xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/status"/><ts-rest:workingDirectory xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/wd"/><ts-rest:inputs xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/input"/><ts-rest:output xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/output"/><ts-rest:securityContext xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/security"/><ts-rest:listeners xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/listeners"><ts-rest:listener xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/listeners/io"/></ts-rest:listeners><ts-rest:interaction xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/interaction"/><ts-rest:name xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/name"/><ts-rest:stdout xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/stdout"/><ts-rest:stderr xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/stderr"/><ts-rest:usage xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/usage"/><ts-rest:log xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/log"/><ts-rest:run-bundle xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/run-bundle"/><ts-rest:generate-provenance xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74/generate-provenance"/></ts-rest:runDescription>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Server: Apache-Coyote/1.1
|
3
|
+
Content-Type: application/xml
|
4
|
+
Content-Length: 657
|
5
|
+
|
6
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ts-rest:runList xmlns:ts="http://ns.taverna.org.uk/2010/xml/server/" xmlns:feed="http://ns.taverna.org.uk/2010/xml/server/feed/" xmlns:port="http://ns.taverna.org.uk/2010/port/" xmlns:ts-soap="http://ns.taverna.org.uk/2010/xml/server/soap/" xmlns:ts-rest="http://ns.taverna.org.uk/2010/xml/server/rest/" xmlns:admin="http://ns.taverna.org.uk/2010/xml/server/admin/" xmlns:xlink="http://www.w3.org/1999/xlink"><ts-rest:run xlink:href="https://localhost/taverna/rest/runs/a341b87f-25cc-4dfd-be36-f5b073a6ba74" ts:serverVersion="2.5.4">a341b87f-25cc-4dfd-be36-f5b073a6ba74</ts-rest:run></ts-rest:runList>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Server: Apache-Coyote/1.1
|
3
|
+
Content-Type: application/xml
|
4
|
+
Content-Length: 875
|
5
|
+
|
6
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ts-rest:serverDescription xmlns:ts="http://ns.taverna.org.uk/2010/xml/server/" xmlns:feed="http://ns.taverna.org.uk/2010/xml/server/feed/" xmlns:port="http://ns.taverna.org.uk/2010/port/" xmlns:ts-soap="http://ns.taverna.org.uk/2010/xml/server/soap/" xmlns:ts-rest="http://ns.taverna.org.uk/2010/xml/server/rest/" xmlns:admin="http://ns.taverna.org.uk/2010/xml/server/admin/" xmlns:xlink="http://www.w3.org/1999/xlink" ts:serverVersion="2.5.4" ts:serverRevision="d285a5fbfa86b6e7e8e33baffb54830ecec256af (tag: jenkins-taverna-server-2.5-auto-263)" ts:serverBuildTimestamp="25.04.2014 @ 10:54:50 BST"><ts-rest:runs xlink:href="https://localhost/taverna/rest/runs"/><ts-rest:policy xlink:href="https://localhost/taverna/rest/policy"/><ts-rest:feed xlink:href="https://localhost/taverna/feed"/></ts-rest:serverDescription>
|
@@ -0,0 +1 @@
|
|
1
|
+
A fake log message with 39 characters.
|
@@ -0,0 +1,107 @@
|
|
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 'webmock/test_unit'
|
34
|
+
|
35
|
+
module T2Server
|
36
|
+
module Mocks
|
37
|
+
|
38
|
+
def mock(path, options = {})
|
39
|
+
options = { :method => :get, :accept => "*/*" }.merge(options)
|
40
|
+
|
41
|
+
with = { :headers => { "Accept" => options[:accept] } }
|
42
|
+
if options[:body] && (options[:method] == :post || options[:method] == :put)
|
43
|
+
with[:body] = options[:body]
|
44
|
+
end
|
45
|
+
|
46
|
+
output =
|
47
|
+
if options[:output]
|
48
|
+
mocked_file(options[:output])
|
49
|
+
else
|
50
|
+
out = options[:status] ? add_to_hash(:status, options[:status]) : []
|
51
|
+
|
52
|
+
if options[:body] && options[:method] == :get
|
53
|
+
out = add_to_hash(:body, options[:body], out)
|
54
|
+
unless options[:body].instance_of?(File)
|
55
|
+
out = add_to_hash("Content-Length", options[:body].length, out)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
out = add_to_hash("Location", options[:location], out, true) if options[:location]
|
60
|
+
out
|
61
|
+
end
|
62
|
+
|
63
|
+
stub = stub_request(options[:method], uri(options[:credentials]) + path).
|
64
|
+
with(with)
|
65
|
+
stub = stub.to_return(output) unless output == []
|
66
|
+
stub = stub.to_raise(options[:raise]) if options[:raise]
|
67
|
+
options[:timeout] ? stub.to_timeout : stub
|
68
|
+
end
|
69
|
+
|
70
|
+
def mocked_file(name)
|
71
|
+
File.new(File.join(File.dirname(__FILE__), name))
|
72
|
+
end
|
73
|
+
|
74
|
+
private
|
75
|
+
|
76
|
+
def add_to_hash(param, values, hash = [], headers = false)
|
77
|
+
values = [*values]
|
78
|
+
|
79
|
+
hi = 0
|
80
|
+
values.each do |v|
|
81
|
+
hash[hi] ||= {}
|
82
|
+
|
83
|
+
if headers
|
84
|
+
hash[hi][:headers] ||= {}
|
85
|
+
hash[hi][:headers][param] = v
|
86
|
+
else
|
87
|
+
hash[hi][param] = v
|
88
|
+
end
|
89
|
+
|
90
|
+
hi += 1
|
91
|
+
end
|
92
|
+
|
93
|
+
hash
|
94
|
+
end
|
95
|
+
|
96
|
+
def uri(credentials)
|
97
|
+
if credentials.nil?
|
98
|
+
$uri.to_s
|
99
|
+
else
|
100
|
+
u = $uri.dup
|
101
|
+
u.userinfo = credentials
|
102
|
+
u.to_s
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
end
|
107
|
+
end
|
data/test/tc_admin.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c)
|
1
|
+
# Copyright (c) 2014 The University of Manchester, UK.
|
2
2
|
#
|
3
3
|
# All rights reserved.
|
4
4
|
#
|
@@ -30,37 +30,65 @@
|
|
30
30
|
#
|
31
31
|
# Author: Robert Haines
|
32
32
|
|
33
|
+
require 'mocked-server-responses/mocks'
|
33
34
|
require 't2-server'
|
34
35
|
|
35
36
|
class TestAdmin < Test::Unit::TestCase
|
37
|
+
include T2Server::Mocks
|
36
38
|
|
37
|
-
def
|
38
|
-
T2Server::Server.new($uri, $conn_params)
|
39
|
+
def setup
|
40
|
+
@server = T2Server::Server.new($uri, $conn_params)
|
39
41
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
42
|
+
mock("/admin", :accept => "application/xml", :output => "get-admin.raw",
|
43
|
+
:credentials => $userinfo)
|
44
|
+
mock("/admin/allowNew", :method => :options, :credentials => $userinfo,
|
45
|
+
:output => "options-admin-allownew.raw")
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_admin_init
|
49
|
+
@server.administrator($creds) do |admin|
|
50
|
+
assert_not_nil admin["allowNew"]
|
51
|
+
assert_nil admin["__not-here__"]
|
52
|
+
end
|
53
|
+
end
|
44
54
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
55
|
+
def test_admin_resource
|
56
|
+
@server.administrator($creds) do |admin|
|
57
|
+
resource = admin["allownew"]
|
58
|
+
|
59
|
+
assert_not_nil resource
|
60
|
+
assert_equal "allowNew", resource.name
|
61
|
+
assert resource.writable?
|
62
|
+
assert resource.respond_to?(:value=)
|
63
|
+
|
64
|
+
rEsOuRcE = admin["AlLOwnEW"]
|
65
|
+
assert_not_nil rEsOuRcE
|
66
|
+
assert_same resource, rEsOuRcE
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
def test_admin_read
|
71
|
+
value = ["true", "false"]
|
72
|
+
mock("/admin/allowNew", :credentials => $userinfo, :accept => "text/plain",
|
73
|
+
:body => value)
|
74
|
+
|
75
|
+
@server.administrator($creds) do |admin|
|
76
|
+
resource = admin["allownew"]
|
77
|
+
|
78
|
+
# Test that the value is fetched from the server each time.
|
79
|
+
assert_equal value[0], resource.value
|
80
|
+
assert_equal value[1], resource.value
|
81
|
+
end
|
82
|
+
end
|
54
83
|
|
55
|
-
|
56
|
-
|
84
|
+
def test_admin_write
|
85
|
+
value = false
|
86
|
+
mock("/admin/allowNew", :method => :put, :credentials => $userinfo,
|
87
|
+
:body => value.to_s, :status => 200)
|
57
88
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
admin["allownew"].value = save
|
62
|
-
assert_equal(admin["allownew"].value, save)
|
63
|
-
end
|
89
|
+
@server.administrator($creds) do |admin|
|
90
|
+
resource = admin["allownew"]
|
91
|
+
resource.value = value
|
64
92
|
end
|
65
93
|
end
|
66
94
|
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# Copyright (c) 2010-2012 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
|
+
class TestAdmin < Test::Unit::TestCase
|
36
|
+
|
37
|
+
def test_admin
|
38
|
+
T2Server::Server.new($uri, $conn_params) do |server|
|
39
|
+
|
40
|
+
# Test for a user that we know isn't configured on the server.
|
41
|
+
assert_raise(T2Server::AuthorizationError) do
|
42
|
+
server.administrator(T2Server::HttpBasic.new("u", "p"))
|
43
|
+
end
|
44
|
+
|
45
|
+
# Test for a user that is in the system but may or may not be a
|
46
|
+
# superuser. If the user is not a superuser then don't perform any more
|
47
|
+
# tests on the admin resource.
|
48
|
+
begin
|
49
|
+
server.administrator($creds)
|
50
|
+
rescue T2Server::AccessForbiddenError => e
|
51
|
+
# ignore, just don't run more tests
|
52
|
+
return
|
53
|
+
end
|
54
|
+
|
55
|
+
server.administrator($creds) do |admin|
|
56
|
+
assert_equal(admin["allownew"].name, "allowNew")
|
57
|
+
|
58
|
+
save = admin["allownew"].value
|
59
|
+
admin["allownew"].value = false
|
60
|
+
assert_equal(admin["allownew"].value, "false")
|
61
|
+
admin["allownew"].value = save
|
62
|
+
assert_equal(admin["allownew"].value, save)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,87 @@
|
|
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
|
+
class TestConnection < Test::Unit::TestCase
|
36
|
+
|
37
|
+
# Test URIs.
|
38
|
+
EXAMPLE_COM = "http://example.com"
|
39
|
+
EXAMPLE_COM_S = "https://example.com"
|
40
|
+
EXAMPLE_URI = URI.parse(EXAMPLE_COM)
|
41
|
+
EXAMPLE_URI_S = URI.parse(EXAMPLE_COM_S)
|
42
|
+
|
43
|
+
def test_bad_connection_addresses
|
44
|
+
# Should only pass in URI objects for the address.
|
45
|
+
assert_raise(URI::InvalidURIError) do
|
46
|
+
T2Server::ConnectionFactory.connect(EXAMPLE_COM, $conn_params)
|
47
|
+
end
|
48
|
+
|
49
|
+
# Should only try and handle http(s) schemes.
|
50
|
+
bad_scheme = URI.parse("httpx://example.com")
|
51
|
+
assert_raise(URI::InvalidURIError) do
|
52
|
+
T2Server::ConnectionFactory.connect(bad_scheme, $conn_params)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_bad_connection_params
|
57
|
+
assert_raise(ArgumentError) do
|
58
|
+
T2Server::ConnectionFactory.connect(EXAMPLE_URI, "wrong")
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def test_no_connection_params
|
63
|
+
assert_nothing_raised(ArgumentError) do
|
64
|
+
T2Server::ConnectionFactory.connect(EXAMPLE_URI)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
def test_return_same_connection_for_same_address
|
69
|
+
conn1 = T2Server::ConnectionFactory.connect(EXAMPLE_URI, $conn_params)
|
70
|
+
conn2 = T2Server::ConnectionFactory.connect(EXAMPLE_URI, $conn_params)
|
71
|
+
conn3 = T2Server::ConnectionFactory.connect(EXAMPLE_URI_S, $conn_params)
|
72
|
+
conn4 = T2Server::ConnectionFactory.connect(EXAMPLE_URI_S, $conn_params)
|
73
|
+
|
74
|
+
assert_same conn1, conn2
|
75
|
+
assert_same conn3, conn4
|
76
|
+
assert_not_same conn1, conn3
|
77
|
+
assert_not_same conn2, conn4
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_return_different_connection_for_different_address
|
81
|
+
conn1 = T2Server::ConnectionFactory.connect(EXAMPLE_URI, $conn_params)
|
82
|
+
conn2 = T2Server::ConnectionFactory.connect(EXAMPLE_URI_S, $conn_params)
|
83
|
+
|
84
|
+
assert_not_same conn1, conn2
|
85
|
+
end
|
86
|
+
|
87
|
+
end
|