inferno_core 0.3.10 → 0.3.12
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 +4 -4
- data/lib/inferno/apps/cli/main.rb +13 -0
- data/lib/inferno/apps/cli/services.rb +56 -0
- data/lib/inferno/apps/web/index.html.erb +4 -0
- data/lib/inferno/apps/web/serializers/request.rb +2 -1
- data/lib/inferno/apps/web/serializers/result.rb +4 -1
- data/lib/inferno/config/boot.rb +6 -1
- data/lib/inferno/dsl/runnable.rb +5 -1
- data/lib/inferno/public/bundle.js +15 -15
- data/lib/inferno/version.rb +1 -1
- metadata +9 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b9bc9822a032ed4fa7c3b1639b24bc14c6ed977e271e60e424f6a1d60fbff657
|
4
|
+
data.tar.gz: 5d0a9a794ce081c3128e68d7cb6a1802a05aafddbcbb03ab7ee7667696ac81f5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8645e64fc2c5890378d9693734ce5268b219541c82307b13d14703f7a8e8ff70ddac9c00ddf254ba9db6121bb54015445222e497b0d519b9bc2de1d93ac1c06c
|
7
|
+
data.tar.gz: 67a64df05660cca2377009e45c13fb6baddae3cd39e3527d7fe85e6b64fc201b2cb871b894bf86c55ca6facc6f3790993e6548dec14ad245b563d8bbc5ac690f
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require_relative 'console'
|
2
2
|
require_relative 'migration'
|
3
|
+
require_relative 'services'
|
3
4
|
require_relative 'suite'
|
4
5
|
require_relative 'suites'
|
5
6
|
|
@@ -16,11 +17,23 @@ module Inferno
|
|
16
17
|
Migration.new.run
|
17
18
|
end
|
18
19
|
|
20
|
+
desc 'start', 'Start Inferno'
|
21
|
+
def start
|
22
|
+
if `gem list -i foreman`.chomp == 'false'
|
23
|
+
puts "You must install foreman with 'gem install foreman' prior to running inferno."
|
24
|
+
end
|
25
|
+
|
26
|
+
system 'foreman start --env=/dev/null'
|
27
|
+
end
|
28
|
+
|
19
29
|
desc 'suites', 'List available test suites'
|
20
30
|
def suites
|
21
31
|
Suites.new.run
|
22
32
|
end
|
23
33
|
|
34
|
+
desc 'services stop/start', 'Start or stop background services'
|
35
|
+
subcommand 'services', Services
|
36
|
+
|
24
37
|
desc 'suite SUBCOMMAND ...ARGS', 'Perform suite-based operations'
|
25
38
|
subcommand 'suite', Suite
|
26
39
|
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
module Inferno
|
2
|
+
module CLI
|
3
|
+
class Services < Thor
|
4
|
+
no_commands do
|
5
|
+
def base_command
|
6
|
+
'docker-compose -f docker-compose.background.yml'
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
desc 'start', 'Start background services'
|
11
|
+
option :foreground,
|
12
|
+
default: false,
|
13
|
+
type: :boolean,
|
14
|
+
desc: 'Run services in foreground'
|
15
|
+
def start
|
16
|
+
command = "#{base_command} up"
|
17
|
+
command += ' -d' unless options[:foreground]
|
18
|
+
|
19
|
+
system command
|
20
|
+
end
|
21
|
+
|
22
|
+
desc 'stop', 'Stop background services'
|
23
|
+
def stop
|
24
|
+
system "#{base_command} down"
|
25
|
+
end
|
26
|
+
|
27
|
+
desc 'build', 'Build background service images'
|
28
|
+
def build
|
29
|
+
system "#{base_command} build"
|
30
|
+
end
|
31
|
+
|
32
|
+
desc 'pull', 'Pull background service images'
|
33
|
+
def pull
|
34
|
+
system "#{base_command} pull"
|
35
|
+
end
|
36
|
+
|
37
|
+
desc 'logs', 'Display the logs for the background services'
|
38
|
+
option :follow,
|
39
|
+
default: false,
|
40
|
+
aliases: [:f],
|
41
|
+
type: :boolean,
|
42
|
+
desc: 'Follow log output'
|
43
|
+
option :tail,
|
44
|
+
banner: 'string',
|
45
|
+
default: 'all',
|
46
|
+
desc: 'Number of lines to show from the end of the logs for each container'
|
47
|
+
def logs
|
48
|
+
command = "#{base_command} logs"
|
49
|
+
command += ' -f' if options[:follow]
|
50
|
+
command += " --tail #{options[:tail]}" if options[:tail]
|
51
|
+
|
52
|
+
system command
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -38,14 +38,18 @@
|
|
38
38
|
height: 100%;
|
39
39
|
display: flex;
|
40
40
|
flex-direction: column;
|
41
|
+
overflow: hidden;
|
41
42
|
}
|
42
43
|
.banner {
|
43
44
|
flex-shrink: 1;
|
45
|
+
overflow: 'auto';
|
46
|
+
white-space: nowrap;
|
44
47
|
}
|
45
48
|
.app {
|
46
49
|
flex-grow: 1;
|
47
50
|
display: flex;
|
48
51
|
flex-direction: column;
|
52
|
+
overflow: auto;
|
49
53
|
}
|
50
54
|
</style>
|
51
55
|
<title>Inferno</title>
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'json'
|
2
|
+
require_relative 'request'
|
2
3
|
|
3
4
|
module Inferno
|
4
5
|
module Web
|
@@ -27,7 +28,9 @@ module Inferno
|
|
27
28
|
end
|
28
29
|
|
29
30
|
association :messages, blueprint: Message, if: :field_present?
|
30
|
-
|
31
|
+
field :requests do |result, _options|
|
32
|
+
Request.render_as_hash(result.requests.sort_by(&:index), view: :summary)
|
33
|
+
end
|
31
34
|
end
|
32
35
|
end
|
33
36
|
end
|
data/lib/inferno/config/boot.rb
CHANGED
@@ -4,4 +4,9 @@ ENV['APP_ENV'] ||= 'development'
|
|
4
4
|
|
5
5
|
root_path = Dir.pwd
|
6
6
|
|
7
|
-
Dotenv.load(
|
7
|
+
Dotenv.load(
|
8
|
+
File.join(root_path, ".env.#{ENV.fetch('APP_ENV', nil)}.local"),
|
9
|
+
File.join(root_path, '.env.local'),
|
10
|
+
File.join(root_path, ".env.#{ENV.fetch('APP_ENV', nil)}"),
|
11
|
+
File.join(root_path, '.env')
|
12
|
+
)
|
data/lib/inferno/dsl/runnable.rb
CHANGED
@@ -382,7 +382,11 @@ module Inferno
|
|
382
382
|
def test_count(selected_suite_options = [])
|
383
383
|
@test_counts ||= {}
|
384
384
|
|
385
|
-
|
385
|
+
options_json = selected_suite_options.to_json
|
386
|
+
|
387
|
+
return @test_counts[options_json] if @test_counts[options_json]
|
388
|
+
|
389
|
+
@test_counts[options_json] =
|
386
390
|
children(selected_suite_options)
|
387
391
|
&.reduce(0) { |sum, child| sum + child.test_count(selected_suite_options) } || 0
|
388
392
|
end
|