lucian 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/lucian/engine.rb +16 -8
- data/lib/lucian/version.rb +1 -1
- data/lib/rspec/core/example_group.rb +5 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz: '
|
3
|
+
metadata.gz: 36a2aad29327c96309baf4d47fa898365fe5ada1
|
4
|
+
data.tar.gz: '069a6d575ec431edf9db16163c8de43de07486ee'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec346803a19995e42de73804ae031a17e039f2eacbfa1bacd2a9576186739a1647f447139177981b4072bcb11c33e08ebdf9f293a527e3fc6de4e8fa012d7066
|
7
|
+
data.tar.gz: 3720f36dfc354700eaa4b115a9facb4f49c9bff1a7d1d3e1a0ec5401ae48226e2dba2a0c98fca0db4c99ecada5dfd3ea8217d3b820290d1db1ce6e896f207a7f
|
data/lib/lucian/engine.rb
CHANGED
@@ -7,6 +7,7 @@ module Lucian
|
|
7
7
|
class Engine
|
8
8
|
attr_reader :compose_file, :compose_data, :compose_directory, :network_name #lucian_files
|
9
9
|
|
10
|
+
attr_reader :running_services
|
10
11
|
attr_reader :docker_compose, :network_name, :examples
|
11
12
|
|
12
13
|
##
|
@@ -26,6 +27,7 @@ module Lucian
|
|
26
27
|
@examples = examples
|
27
28
|
config_compose
|
28
29
|
require 'lucian_helper' if File.exist?(@lucian_helper)
|
30
|
+
@running_services ||= []
|
29
31
|
Lucian.engine = self
|
30
32
|
end
|
31
33
|
|
@@ -51,20 +53,26 @@ module Lucian
|
|
51
53
|
|
52
54
|
##
|
53
55
|
# Run and validate services status
|
54
|
-
def run_docker_service(services_names)
|
56
|
+
def run_docker_service(services_names=[])
|
55
57
|
services_names.collect!(&:to_s)
|
56
|
-
services_names
|
57
|
-
|
58
|
+
services_names = services_names - @running_services
|
59
|
+
if services_names.count > 0
|
60
|
+
@docker_compose.up(*services_names, {:detached => true})
|
61
|
+
@running_services += services_names
|
62
|
+
@running_services.uniq!
|
63
|
+
exited = @docker_compose.ps.where { |c| !c.up? && services_names.include?(c.image) }
|
64
|
+
raise "We have some exited containers: " + exited.join(', ') if exited.count > 0
|
58
65
|
end
|
59
|
-
exited = @docker_compose.ps.where { |c| !c.up? && services_names.include?(c.image) }
|
60
|
-
raise "We have some exited containers: " + exited.join(', ') if exited.count > 0
|
61
66
|
end
|
62
67
|
|
63
68
|
##
|
64
69
|
# Stop docker service
|
65
70
|
def stop_docker_service(services_names)
|
66
|
-
services_names.
|
67
|
-
|
71
|
+
if services_names.count > 0
|
72
|
+
puts "\n"
|
73
|
+
@docker_compose.stop(*services_names)
|
74
|
+
@running_services -= services_names
|
75
|
+
@running_services.uniq!
|
68
76
|
end
|
69
77
|
end
|
70
78
|
|
@@ -79,7 +87,7 @@ module Lucian
|
|
79
87
|
##
|
80
88
|
# Run lucian test
|
81
89
|
def run_lucian_test(example)
|
82
|
-
BoardCaster.print("Running lucian test ..", "yellow")
|
90
|
+
# BoardCaster.print("Running lucian test ..", "yellow")
|
83
91
|
Lucian.container.exec(['lucian', '--example', example])
|
84
92
|
end
|
85
93
|
|
data/lib/lucian/version.rb
CHANGED
@@ -55,7 +55,7 @@ module RSpec::Core
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def self.run(reporter=RSpec::Core::NullReporter)
|
58
|
-
|
58
|
+
self_services = self.metadata[:services] || []
|
59
59
|
parent_services = []
|
60
60
|
unless self.metadata[:parent_example_group].nil?
|
61
61
|
current_parent = self.metadata[:parent_example_group]
|
@@ -64,8 +64,9 @@ module RSpec::Core
|
|
64
64
|
break if current_parent[:parent_example_group].nil?
|
65
65
|
current_parent = current_parent[:parent_example_group]
|
66
66
|
end
|
67
|
+
self_services = parent_services.flatten.uniq - self_services
|
67
68
|
end
|
68
|
-
services = (
|
69
|
+
services = (self_services+parent_services).flatten.compact.uniq
|
69
70
|
if services.count > 0 && ENV['LUCIAN_DOCKER'] == nil
|
70
71
|
Lucian::BoardCaster.print(">> ExampleGroup : "+self.metadata[:full_description].to_s, "cyan")
|
71
72
|
RSpec.lucian_engine.run_docker_service(services)
|
@@ -88,8 +89,8 @@ module RSpec::Core
|
|
88
89
|
false
|
89
90
|
ensure
|
90
91
|
run_after_context_hooks(new('after(:context) hook')) if should_run_context_hooks
|
91
|
-
if
|
92
|
-
RSpec.lucian_engine.stop_docker_service(
|
92
|
+
if self_services.count > 0 && ENV['LUCIAN_DOCKER'] == nil
|
93
|
+
RSpec.lucian_engine.stop_docker_service(self_services)
|
93
94
|
end
|
94
95
|
reporter.example_group_finished(self)
|
95
96
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lucian
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tanapat Sainak
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-03-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec-core
|