taverna-player 0.7.0 → 0.8.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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NDIzMTk5MTVmNTA4MWMzNDUyYWExMjFjMThiZTcxY2IzNDdmNTM1NA==
4
+ MTMxN2RmZDhiNDFhMmU2YjNhMDE5ZjA1OGY2N2IwZmM4MDkwMzZmZQ==
5
5
  data.tar.gz: !binary |-
6
- YzNjZTVjNzBhN2JkYmQxNjBkZWM3NTAwMGU0NmViMDBhYjRiZjc4Ng==
6
+ ZGI5MGZmN2VhOGYyZWYxZTkzY2Q0YjIyNzM5ODhlMTRlMWNiYzFjMQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MDNmNGNkMTI4MWI5NDJjYTQ5NGFlZWQ4NDYxMmQ2YjBkMjIwY2MyZDhmZGQw
10
- MTI5NzExNzE1MzRmMGMzM2UxYjNkYWVmNDcwZTJiYWY4Y2Y5NGU0YzFmZDRi
11
- MDRkMmQ4ZmMxYzk2MzIzNmM4MDgxOTY4ZGI0ZDI2ZjI1OTRkYzI=
9
+ YmFjZDI2NmYwNGZhNGU2ZWVkMWFkODU2MjUxZTMzYThiZTRiODU2YjMwNjJh
10
+ NzIyYzZhODdlMDVkNGEzNTVmODQwN2IyMjMwNWU5YTEyZDc5ZWJiZWE3Mzcz
11
+ MDU4MjVkY2ZlN2I0Mjk0NWEwNTg1YzIxMzBkNmU3OTI3NDQ1OTY=
12
12
  data.tar.gz: !binary |-
13
- MGVlM2MzNTk5ZDMyNDliYzY2YWJlOTM4YzM1NjAxYzE1Y2VhOWI1NGNjMzZk
14
- N2EwMDkxNmQ1YmFlYTYxMmZiMDZhZWY2YzEyMTU0MjFhNzYxNDllNmI5OTA2
15
- Y2U3N2RkYWUzZWNiMjA5ZDhkNDI2ZWQ3M2VjYzM5NWI5ODg5OGQ=
13
+ M2U2OWQ1MGRlNzI4ZTIzYTQyMjA1NjBmZWVhN2E5M2I4NzUzNjQ4MjJhYWFh
14
+ MDg2Yjk1YzBjMTZhYTA4M2ZlNWUzODExZjlmMjVhMzVjZTlkZDFkNTk4NTVm
15
+ NDlhN2JlNzJjNzFjMjI0MWQ5ZDYxYjVhOTE4ODhjNzllM2ZlOWQ=
@@ -2,7 +2,7 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.3
4
4
  - 2.0.0
5
- - 2.1.0
5
+ - 2.1.2
6
6
  script:
7
7
  - RAILS_ENV=test bundle exec rake db:schema:load
8
8
  - bundle exec rake test
@@ -1,5 +1,12 @@
1
1
  = Changes log for Taverna Player
2
2
 
3
+ == Version 0.8.0
4
+
5
+ * Add a note about Taverna Server compatibility to the ReadMe.
6
+ * [SERVINF-457] Clear "waiting for user input" message.
7
+ * Remove odd save! in worker code.
8
+ * Move to use the rubyzip 1.0 API.
9
+
3
10
  == Version 0.7.0
4
11
 
5
12
  * Refactor full run JSON output.
@@ -26,6 +26,20 @@ It, purposefully, does not:
26
26
  * Manage workflows
27
27
  * Manage users
28
28
 
29
+ == Prerequisites
30
+
31
+ Taverna Player requires access to a
32
+ {Taverna Server}[http://www.taverna.org.uk/download/server/2-5/] version 2.5
33
+ or later.
34
+
35
+ == A note about rubyzip
36
+
37
+ This library uses the new {rubyzip}[https://rubygems.org/gems/rubyzip] API. If
38
+ your code, or any of its dependencies, need the old API then please read the
39
+ <em>Important note</em> in the
40
+ {rubyzip ReadMe}[https://github.com/rubyzip/rubyzip/blob/master/README.md] for
41
+ details of how to get everything working together.
42
+
29
43
  == Getting started
30
44
 
31
45
  These instructions assume that you are familiar with Rails and its concepts.
@@ -21,7 +21,7 @@ require "rails_autolink"
21
21
  require "t2-server"
22
22
  require "taverna-t2flow"
23
23
  require "tmpdir"
24
- require "zip/zip"
24
+ require "zip"
25
25
 
26
26
  # Grab everything in the taverna_player directory using the require_all gem.
27
27
  require_rel "taverna_player"
@@ -17,7 +17,7 @@ module TavernaPlayer
17
17
  extend ActiveSupport::Concern
18
18
 
19
19
  def read_file_from_zip(zip, file)
20
- ::Zip::ZipFile.open(zip) do |z|
20
+ ::Zip::File.open(zip) do |z|
21
21
  z.read(file)
22
22
  end
23
23
  end
@@ -11,5 +11,5 @@
11
11
  #------------------------------------------------------------------------------
12
12
 
13
13
  module TavernaPlayer
14
- VERSION = "0.7.0"
14
+ VERSION = "0.8.0"
15
15
  end
@@ -135,7 +135,6 @@ module TavernaPlayer
135
135
  new_int.save
136
136
  end
137
137
  else
138
- waiting = true unless note.has_reply?
139
138
  int = Interaction.find_or_initialize_by_run_id_and_serial(@run.id, note.serial)
140
139
 
141
140
  # Need to catch this here in case some other process has replied.
@@ -177,6 +176,8 @@ module TavernaPlayer
177
176
 
178
177
  int.save
179
178
  end
179
+
180
+ waiting = true unless int.replied?
180
181
  end
181
182
  end
182
183
 
@@ -306,7 +307,7 @@ module TavernaPlayer
306
307
 
307
308
  def status_message(key)
308
309
  @run.status_message_key = key
309
- @run.save!
310
+ @run.save
310
311
  end
311
312
 
312
313
  def cancelled?
@@ -39,7 +39,7 @@ Gem::Specification.new do |s|
39
39
  s.add_dependency "t2-server", "~> 1.1"
40
40
  s.add_dependency "delayed_job_active_record", "~> 4.0"
41
41
  s.add_dependency "daemons", "~> 1.1.9"
42
- s.add_dependency "rubyzip", "~> 0.9.9"
42
+ s.add_dependency "rubyzip", "~> 1.1.4"
43
43
  s.add_dependency "coderay", "~> 1.1"
44
44
  s.add_dependency "rails_autolink", "~> 1.1.0"
45
45
  s.add_dependency "require_all", "~> 1.3.1"
@@ -158,7 +158,7 @@ class WorkerTest < ActiveSupport::TestCase
158
158
  assert_not_nil @run.failure_message, "Run's failure message is nil"
159
159
  end
160
160
 
161
- test "cancelled run" do
161
+ test "immediately cancelled run" do
162
162
  # Stub the creation of a run on a Taverna Server with a failure.
163
163
  flexmock(T2Server::Server).new_instances do |s|
164
164
  s.should_receive(:initialize_run).once.
@@ -176,6 +176,71 @@ class WorkerTest < ActiveSupport::TestCase
176
176
  assert_equal :cancelled, @run.state, "Final run state not ':cancelled'"
177
177
  end
178
178
 
179
+ test "run cancelled while waiting to start" do
180
+ # Stub the creation of a run on a Taverna Server.
181
+ flexmock(T2Server::Server).new_instances do |s|
182
+ s.should_receive(:initialize_run).once.
183
+ and_return(URI.parse("http://localhost/run/02"))
184
+ end
185
+
186
+ # Stub the Taverna Server run calls.
187
+ flexmock(T2Server::Run).new_instances do |r|
188
+ r.should_receive(:status).and_return(:initialized)
189
+ r.should_receive(:create_time).and_return(Time.now)
190
+ r.should_receive(:add_password_credential).and_return(true)
191
+ r.should_receive(:name=).once.and_return(true)
192
+ r.should_receive(:start).and_return(false)
193
+ r.should_receive(:log).once.and_return(0)
194
+ r.should_receive(:delete).and_return_undefined
195
+ end
196
+
197
+ # Stub the TavernaPlayer::Worker.cancelled? method and set the internal
198
+ # run model state stop to true.
199
+ worker = TavernaPlayer::Worker.new(@run)
200
+ flexmock(worker).should_receive(:cancelled?).once.and_return(true)
201
+ @run.stop = true
202
+ @run.save
203
+
204
+ assert_equal :pending, @run.state, "Initial run state not ':pending'"
205
+
206
+ worker.perform
207
+
208
+ assert_equal :cancelled, @run.state, "Final run state not ':cancelled'"
209
+ end
210
+
211
+ test "run cancelled while running" do
212
+ # Stub the creation of a run on a Taverna Server.
213
+ flexmock(T2Server::Server).new_instances do |s|
214
+ s.should_receive(:initialize_run).once.
215
+ and_return(URI.parse("http://localhost/run/03"))
216
+ end
217
+
218
+ # Stub the Taverna Server run calls.
219
+ flexmock(T2Server::Run).new_instances do |r|
220
+ r.should_receive(:status).times(3).and_return(:initialized, :running, :running)
221
+ r.should_receive(:create_time).and_return(Time.now)
222
+ r.should_receive(:add_password_credential).and_return(true)
223
+ r.should_receive(:name=).once.and_return(true)
224
+ r.should_receive(:start).and_return(true)
225
+ r.should_receive(:start_time).and_return(Time.now)
226
+ r.should_receive(:log).once.and_return(0)
227
+ r.should_receive(:delete).and_return_undefined
228
+ end
229
+
230
+ # Stub the TavernaPlayer::Worker.cancelled? method and set the internal
231
+ # run model state stop to true.
232
+ worker = TavernaPlayer::Worker.new(@run)
233
+ flexmock(worker).should_receive(:cancelled?).once.and_return(true)
234
+ @run.stop = true
235
+ @run.save
236
+
237
+ assert_equal :pending, @run.state, "Initial run state not ':pending'"
238
+
239
+ worker.perform
240
+
241
+ assert_equal :cancelled, @run.state, "Final run state not ':cancelled'"
242
+ end
243
+
179
244
  test "fail in cancelled callback" do
180
245
  # Stub the creation of a run on a Taverna Server with a failure.
181
246
  flexmock(T2Server::Server).new_instances do |s|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: taverna-player
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Haines
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-28 00:00:00.000000000 Z
11
+ date: 2014-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - ~>
102
102
  - !ruby/object:Gem::Version
103
- version: 0.9.9
103
+ version: 1.1.4
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - ~>
109
109
  - !ruby/object:Gem::Version
110
- version: 0.9.9
110
+ version: 1.1.4
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: coderay
113
113
  requirement: !ruby/object:Gem::Requirement