t2-server 0.9.1 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "t2-server"
8
- s.version = "0.9.1"
8
+ s.version = "0.9.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Robert Haines"]
@@ -37,14 +37,17 @@ class TestAdmin < Test::Unit::TestCase
37
37
  def test_admin
38
38
  T2Server::Server.new($uri, $conn_params) do |server|
39
39
 
40
- # unauthorized
40
+ # Test for a user that we know isn't configured on the server.
41
41
  assert_raise(T2Server::AuthorizationError) do
42
42
  server.administrator(T2Server::HttpBasic.new("u", "p"))
43
43
  end
44
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.
45
48
  begin
46
49
  server.administrator($creds)
47
- rescue T2Server::T2ServerError => e
50
+ rescue T2Server::AccessForbiddenError => e
48
51
  # ignore, just don't run more tests
49
52
  return
50
53
  end
@@ -79,6 +79,17 @@ class TestRun < Test::Unit::TestCase
79
79
  end
80
80
  end
81
81
 
82
+ # Test run with no input or output
83
+ def test_run_no_ports
84
+ T2Server::Run.create($uri, $wkf_no_io, $creds, $conn_params) do |run|
85
+ assert_nothing_raised { run.input_ports }
86
+ assert_nothing_raised { run.start }
87
+ assert(run.running?)
88
+ run.wait
89
+ assert_nothing_raised { run.output_ports }
90
+ end
91
+ end
92
+
82
93
  # Test run with list inputs
83
94
  def test_run_list_input
84
95
  T2Server::Run.create($uri, $wkf_lists, $creds, $conn_params) do |run|
@@ -40,11 +40,11 @@ class TestServer < Test::Unit::TestCase
40
40
  end
41
41
  end
42
42
 
43
- def test_run_creation_deletion
43
+ def test_run_creation
44
44
  T2Server::Server.new($uri, $conn_params) do |server|
45
45
  assert_nothing_raised(T2Server::T2ServerError) do
46
46
  run = server.create_run($wkf_pass, $creds)
47
- server.delete_run(run, $creds)
47
+ run.delete
48
48
  end
49
49
  end
50
50
  end
@@ -72,3 +72,47 @@ class TestUriStripping < Test::Unit::TestCase
72
72
  assert_equal(username, r_creds.username)
73
73
  end
74
74
  end
75
+
76
+ class TestUriPathAppending < Test::Unit::TestCase
77
+ def test_append
78
+ original = URI.parse("http://www.example.com:8080/old")
79
+ original_copy = URI.parse("http://www.example.com:8080/old")
80
+ extra_path = "new/bit"
81
+ blank_path = ""
82
+ appended = URI.parse("http://www.example.com:8080/old/new/bit")
83
+
84
+ # Prove it works.
85
+ assert_equal(appended, T2Server::Util.append_to_uri_path(original, extra_path))
86
+ assert_equal(original, T2Server::Util.append_to_uri_path(original, blank_path))
87
+
88
+ # Make sure the original is not changed!
89
+ assert_equal(original, original_copy)
90
+ end
91
+ end
92
+
93
+ class TestUriPathReplacement < Test::Unit::TestCase
94
+ def test_replace
95
+ original = URI.parse("http://www.example.com:8080/old/path")
96
+ original_copy = URI.parse("http://www.example.com:8080/old/path")
97
+ new_path = "/new/path"
98
+ replaced = URI.parse("http://www.example.com:8080/new/path")
99
+
100
+ # Prove it works.
101
+ assert_equal(replaced, T2Server::Util.replace_uri_path(original, new_path))
102
+
103
+ # Make sure the original is not changed!
104
+ assert_equal(original, original_copy)
105
+ end
106
+ end
107
+
108
+ class TestGetUriPathLeaf < Test::Unit::TestCase
109
+ def test_get_leaf
110
+ uri1 = URI.parse("http://www.example.com:8080/old/path")
111
+ uri2 = URI.parse("http://www.example.com:8080/")
112
+ uri3 = URI.parse("http://www.example.com:8080")
113
+
114
+ assert_equal("path", T2Server::Util.get_path_leaf_from_uri(uri1))
115
+ assert_equal("", T2Server::Util.get_path_leaf_from_uri(uri2))
116
+ assert_equal("", T2Server::Util.get_path_leaf_from_uri(uri3))
117
+ end
118
+ end
@@ -84,6 +84,7 @@ if address != ""
84
84
  $wkf_xml = File.read("test/workflows/xml_xpath.t2flow")
85
85
  $wkf_fail = File.read("test/workflows/always_fail.t2flow")
86
86
  $wkf_errors = File.read("test/workflows/list_with_errors.t2flow")
87
+ $wkf_no_io = File.read("test/workflows/no-ports.t2flow")
87
88
  $list_input = "test/workflows/empty_list_input.baclava"
88
89
  $file_input = "test/workflows/in.txt"
89
90
  $file_strs = "test/workflows/strings.txt"
@@ -0,0 +1,76 @@
1
+ <workflow xmlns="http://taverna.sf.net/2008/xml/t2flow" version="1" producedBy="taverna-2.4.0"><dataflow id="e304f436-2871-4ca7-b03d-bf4aaaddf81e" role="top"><name>Workflow1</name><inputPorts /><outputPorts /><processors><processor><name>Concatenate_two_strings</name><inputPorts><port><name>string1</name><depth>0</depth></port><port><name>string2</name><depth>0</depth></port></inputPorts><outputPorts /><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.4</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="string2" to="string2" /><map from="string1" to="string1" /></inputMap><outputMap /><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">
2
+ <inputs>
3
+ <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
4
+ <name>string1</name>
5
+ <depth>0</depth>
6
+ <mimeTypes>
7
+ <string>'text/plain'</string>
8
+ </mimeTypes>
9
+ <handledReferenceSchemes />
10
+ <translatedElementType>java.lang.String</translatedElementType>
11
+ <allowsLiteralValues>true</allowsLiteralValues>
12
+ </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
13
+ <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
14
+ <name>string2</name>
15
+ <depth>0</depth>
16
+ <mimeTypes>
17
+ <string>'text/plain'</string>
18
+ </mimeTypes>
19
+ <handledReferenceSchemes />
20
+ <translatedElementType>java.lang.String</translatedElementType>
21
+ <allowsLiteralValues>true</allowsLiteralValues>
22
+ </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
23
+ </inputs>
24
+ <outputs>
25
+ <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
26
+ <name>output</name>
27
+ <depth>0</depth>
28
+ <mimeTypes>
29
+ <string>'text/plain'</string>
30
+ </mimeTypes>
31
+ <granularDepth>0</granularDepth>
32
+ </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
33
+ </outputs>
34
+ <classLoaderSharing>workflow</classLoaderSharing>
35
+ <localDependencies />
36
+ <artifactDependencies />
37
+ <script>output = string1 + string2;</script>
38
+ <dependencies />
39
+ <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringConcat</localworkerName>
40
+ </net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">
41
+ <maxJobs>1</maxJobs>
42
+ </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">
43
+ <backoffFactor>1.0</backoffFactor>
44
+ <initialDelay>1000</initialDelay>
45
+ <maxDelay>5000</maxDelay>
46
+ <maxRetries>0</maxRetries>
47
+ </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="string1" depth="0" /><port name="string2" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Text_constant</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.4</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">
48
+ <value>Test</value>
49
+ </net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">
50
+ <maxJobs>1</maxJobs>
51
+ </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">
52
+ <backoffFactor>1.0</backoffFactor>
53
+ <initialDelay>1000</initialDelay>
54
+ <maxDelay>5000</maxDelay>
55
+ <maxRetries>0</maxRetries>
56
+ </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>string2_value</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.4</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">
57
+ <value>silly</value>
58
+ </net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">
59
+ <maxJobs>1</maxJobs>
60
+ </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">
61
+ <backoffFactor>1.0</backoffFactor>
62
+ <initialDelay>1000</initialDelay>
63
+ <maxDelay>5000</maxDelay>
64
+ <maxRetries>0</maxRetries>
65
+ </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.4</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Concatenate_two_strings</processor><port>string1</port></sink><source type="processor"><processor>Text_constant</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Concatenate_two_strings</processor><port>string2</port></sink><source type="processor"><processor>string2_value</processor><port>value</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
66
+ <annotationAssertions>
67
+ <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
68
+ <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">
69
+ <identification>e304f436-2871-4ca7-b03d-bf4aaaddf81e</identification>
70
+ </annotationBean>
71
+ <date>2012-09-12 09:11:13.768 UTC</date>
72
+ <creators />
73
+ <curationEventList />
74
+ </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
75
+ </annotationAssertions>
76
+ </net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow></workflow>
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 9
4
- :patch: 1
4
+ :patch: 2
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: t2-server
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-30 00:00:00.000000000 Z
12
+ date: 2012-10-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -195,6 +195,7 @@ files:
195
195
  - test/workflows/in.txt
196
196
  - test/workflows/list_and_value.t2flow
197
197
  - test/workflows/list_with_errors.t2flow
198
+ - test/workflows/no-ports.t2flow
198
199
  - test/workflows/pass_through.t2flow
199
200
  - test/workflows/secure/basic-http.t2flow
200
201
  - test/workflows/secure/basic-https.t2flow