inferno_core 0.1.1.pre → 0.1.3.pre

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 70e3295132f61902fb03d7dcfc6fd3f8593b9cdfb5dd5079a1ae7fe92d6c165c
4
- data.tar.gz: a3d26fbdbb272907f5f244d90971a5496466419d4204201cc21762bf6939f7ff
3
+ metadata.gz: e77fe0b6b1077a64dce0244964847c57ed6c57aa6a388bae212658f300563486
4
+ data.tar.gz: 52259f5560f7838e1d9c3763cff3a7686b0be12601e3e2cd5f5b7e9e380d6050
5
5
  SHA512:
6
- metadata.gz: 01cd288246ed891b29f77fd9cfeb57acd35e41fc894c164dba372e1317e3a2d3e8c0a59f3d1f5f62b528c457de0cde9aeb60b6c620387b42889121026570c803
7
- data.tar.gz: dd3664cc7873ffc8a998a04409632a3a53424b964e189bd5b0918cc8d372a76cdc161e1b0515a54012b43b6f787b79f60b1d1d2b1511ee97187a28c66efcbd6f
6
+ metadata.gz: 38665e97697ea4bb570d7721197e05f16345e8e09b05fb2d573b10ed3b25cde28734433e9bf2be8cc874beaa9849c379e10acf70310e3aea7df00941fad8216f
7
+ data.tar.gz: fd44ae1fb46bac9358cc7b0b8a444bd1dcdf545fbd75588afc10d175f489601c6b2211d143f7387119bf6ac363644dfe9984b9e706efaf2fe4968b147ce479c2
@@ -21,6 +21,8 @@ module Inferno
21
21
  return
22
22
  end
23
23
 
24
+ # TODO: This test run shouldn't be created until after the inputs
25
+ # and runnable are validated
24
26
  test_run = repo.create(create_params(params).merge(status: 'queued'))
25
27
  missing_inputs = test_run.runnable.missing_inputs(params[:inputs])
26
28
 
@@ -0,0 +1,39 @@
1
+ module Inferno
2
+ module Web
3
+ module Controllers
4
+ module TestRuns
5
+ class Destroy < Controller
6
+ include Import[
7
+ test_runs_repo: 'repositories.test_runs',
8
+ results_repo: 'repositories.results'
9
+ ]
10
+
11
+ def call(params)
12
+ test_run = test_runs_repo.find(params[:id])
13
+
14
+ if test_run.nil? || ['done', 'cancelling'].include?(test_run.status)
15
+ # If it doesn't exist, already finished, or currently being cancelled
16
+ self.status = 204
17
+ return
18
+ end
19
+
20
+ test_run_is_waiting = (test_run.status == 'waiting')
21
+ test_runs_repo.mark_as_cancelling(params[:id])
22
+
23
+ if test_run_is_waiting
24
+ waiting_result = results_repo.find_waiting_result(test_run_id: test_run.id)
25
+ results_repo.cancel_waiting_result(waiting_result.id, 'Test cancelled by user')
26
+ Jobs.perform(Jobs::ResumeTestRun, test_run.id)
27
+ end
28
+
29
+ self.status = 204
30
+ rescue StandardError => e
31
+ Application['logger'].error(e.full_message)
32
+ self.body = { errors: e.message }.to_json
33
+ self.status = 500
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -7,7 +7,7 @@ module Inferno
7
7
 
8
8
  Router = Hanami::Router.new(namespace: Inferno::Web::Controllers) do
9
9
  namespace 'api' do
10
- resources 'test_runs', only: [:create, :show] do
10
+ resources 'test_runs', only: [:create, :show, :destroy] do
11
11
  resources 'results', only: [:index]
12
12
  end
13
13
 
@@ -13,6 +13,10 @@ module Inferno
13
13
  return @config if new_configuration.blank?
14
14
 
15
15
  @config.apply(new_configuration)
16
+
17
+ children.each { |child| child.config(new_configuration) }
18
+
19
+ @config
16
20
  end
17
21
 
18
22
  # @private
@@ -53,7 +53,7 @@ module Inferno
53
53
 
54
54
  # Set the url of the validator service
55
55
  #
56
- # @param url [String]
56
+ # @param validator_url [String]
57
57
  def url(validator_url = nil)
58
58
  @url = validator_url if validator_url
59
59
 
@@ -456,12 +456,13 @@ module Inferno
456
456
 
457
457
  # @private
458
458
  def required_inputs(prior_outputs = [])
459
- required_inputs = inputs.select do |input|
460
- !input_definitions[input][:optional] && !prior_outputs.include?(input)
461
- end
462
- required_inputs.map! { |input_identifier| input_definitions[input_identifier][:name] }
459
+ required_inputs =
460
+ inputs
461
+ .reject { |input| input_definitions[input][:optional] }
462
+ .map { |input| config.input_name(input) }
463
+ .reject { |input| prior_outputs.include?(input) }
463
464
  children_required_inputs = children.flat_map { |child| child.required_inputs(prior_outputs) }
464
- prior_outputs.concat(outputs)
465
+ prior_outputs.concat(outputs.map { |output| config.output_name(output) })
465
466
  (required_inputs + children_required_inputs).flatten.uniq
466
467
  end
467
468
 
@@ -32,7 +32,7 @@ module Inferno
32
32
  # @return [String, nil] identfier for a waiting `TestRun`
33
33
  # @!attribute wait_timeout
34
34
  class TestRun < Entity
35
- STATUS_OPTIONS = ['queued', 'running', 'waiting', 'done'].freeze
35
+ STATUS_OPTIONS = ['queued', 'running', 'waiting', 'cancelling', 'done'].freeze
36
36
  ATTRIBUTES = [
37
37
  :id,
38
38
  :test_session_id,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "main.js": "/public/bundle.js",
3
- "main.png": "/public/e09b16f5cb645eb05f90c8f38f3409fb.png",
4
3
  "217.bundle.js": "/public/217.bundle.js",
5
- "inferno_logo.png": "/public/e09b16f5cb645eb05f90c8f38f3409fb.png"
4
+ "inferno_logo.png": "/public/e09b16f5cb645eb05f90c8f38f3409fb.png",
5
+ "inferno_icon.png": "/public/72a5cd989e6aea904540824ec865a0f8.png"
6
6
  }