inferno_core 0.3.10 → 0.3.12
Sign up to get free protection for your applications and to get access to all the features.
- 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
|