t2-server 0.9.1 → 0.9.2

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.
@@ -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