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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9f77c1e0cdc68349c919e5d737fcf5f59d99f24a
4
- data.tar.gz: '09025f5570d1e96f353963d6d56efc41d7a39df6'
3
+ metadata.gz: 36a2aad29327c96309baf4d47fa898365fe5ada1
4
+ data.tar.gz: '069a6d575ec431edf9db16163c8de43de07486ee'
5
5
  SHA512:
6
- metadata.gz: aa45ed7b4178aa0f5a80eae70343624dfa1f197cfd52bd92771f1c8b42e439445bcaa2d12df784008a4be285aaf1e1ccc316372321473bb5e938b6b6d961ce44
7
- data.tar.gz: 2ca6d77b677893c951a487f4866d9dcbfd6e40ca636bd924087dd37d56442ece424bd5a845c0ea907dcced9b8293050e373aebbff689993bcc1e41d4a20f5a1a
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.each do |service|
57
- @docker_compose.up(service, {:detached => true})
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.each do |service|
67
- @docker_compose.stop(service)
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
 
@@ -1,3 +1,3 @@
1
1
  module Lucian
2
- VERSION = "0.3.2"
2
+ VERSION = "0.3.3"
3
3
  end
@@ -55,7 +55,7 @@ module RSpec::Core
55
55
  end
56
56
 
57
57
  def self.run(reporter=RSpec::Core::NullReporter)
58
- services = self.metadata[:services] || []
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 = (services+parent_services).flatten.compact.uniq
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 services.count > 0 && ENV['LUCIAN_DOCKER'] == nil
92
- RSpec.lucian_engine.stop_docker_service(services)
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.2
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-02-24 00:00:00.000000000 Z
11
+ date: 2017-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec-core