lucian 0.2.2 → 0.2.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a92a8e50dd1ca9bb20ae757862b84197950b1f9b
4
- data.tar.gz: a848e6d9e7481d87b2de9d7e5872a161d2fb1162
3
+ metadata.gz: 28f4c06d080dc92f53dfef2877ed5320113da39f
4
+ data.tar.gz: 5823cac2f2a26645cb9f0f05d4ab6c05cf5d60fc
5
5
  SHA512:
6
- metadata.gz: 0972c9950862c8f49590187837b3bf50895b8444e2cb94c4cc888e614d0af552123439bd7721c008df7e8baaa3491ba600e994212a822f67a41ccd3eec6ef3ed
7
- data.tar.gz: 1cd71a8b799c70d295b37cb3e72d08ef55b2b93f9e3a0d9d5e3aa25f83761d9193a0a227fbdfe136842e37d95765764ca3146f6e91a69745e169f808f3dc7565
6
+ metadata.gz: 05c76f54924d7cd286357f3118b579d0461287d80cac2fb297d6a4792217fe2310975de6b548aac7f3c5ba2350e6647e09efa737fcc47ab9d34dcad5f02f1ddd
7
+ data.tar.gz: cd5df928db6a59f6713a2f866c09ad273299e1f7ce5ec6f399f1d485ac3a9e6a0de4482468faea25d542053540437cd9613c282fd3d35d7d737461fde8cc0c90
@@ -1,6 +1,7 @@
1
1
  FROM ruby:2.3.1
2
2
 
3
3
  RUN apt-get update
4
+ RUN apt-get install libqt4-dev libqtwebkit-dev xvfb -y
4
5
 
5
6
  # Prepare work directory
6
7
  RUN mkdir /app
@@ -1,3 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'lucian'
4
+ gem 'capybara-webkit'
@@ -1,4 +0,0 @@
1
- ##
2
- # Comment these line if you do not want to use an RSpec matcher
3
- require 'rspec/expectations'
4
- extend RSpec::Matchers
@@ -1,3 +1,3 @@
1
1
  module Lucian
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
data/lib/lucian.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'lucian/version'
2
2
  require 'docker/compose'
3
3
  require 'rspec/core'
4
+ require 'rspec/support'
4
5
  require 'docker-api'
5
6
 
6
7
  require_relative 'lucian/engine'
@@ -18,7 +18,6 @@ module RSpec::Core
18
18
  # NOTE Code is overrided HERE
19
19
  # Check if there are services or not
20
20
  if self.metadata[:services] != nil && self.metadata[:services].is_a?(Array) && ENV["LUCIAN_DOCKER"] == nil
21
- run_docker_services
22
21
  result = run_lucian_test
23
22
  if result[2].to_i != 0
24
23
  pending_cut = result[0].join("\n").gsub("\n", "--_n").match(/(PENDING.*)FAILING/)[0] rescue nil
@@ -64,7 +63,6 @@ module RSpec::Core
64
63
  set_exception(e)
65
64
  ensure
66
65
  run_after_example
67
- stop_docker_services if self.metadata[:services] != nil && self.metadata[:services].is_a?(Array) && ENV["LUCIAN_DOCKER"] == nil
68
66
  end
69
67
  end
70
68
  end
@@ -80,15 +78,6 @@ module RSpec::Core
80
78
  RSpec.current_example = nil
81
79
  end
82
80
 
83
- def run_docker_services
84
- Lucian::BoardCaster.print("\n>> ExampleGroup : "+self.metadata[:full_description].to_s, "cyan")
85
- RSpec.lucian_engine.run_docker_service(self.metadata[:services])
86
- end
87
-
88
- def stop_docker_services
89
- RSpec.lucian_engine.stop_docker_service(self.metadata[:services])
90
- end
91
-
92
81
  def run_lucian_test
93
82
  if Lucian.image.nil? || Lucian.container.nil?
94
83
  Lucian.start_lucian_docker
@@ -54,5 +54,46 @@ module RSpec::Core
54
54
  end
55
55
  end
56
56
 
57
+ def self.run(reporter=RSpec::Core::NullReporter)
58
+ services = self.metadata[:services] || []
59
+ parent_services = []
60
+ unless self.metadata[:parent_example_group].nil?
61
+ current_parent = self.metadata[:parent_example_group]
62
+ loop do
63
+ parent_services << current_parent[:services]
64
+ break if current_parent[:parent_example_group].nil?
65
+ current_parent = current_parent[:parent_example_group]
66
+ end
67
+ end
68
+ services = (services+parent_services).flatten.compact.uniq
69
+ if services.count > 0
70
+ Lucian::BoardCaster.print(">> ExampleGroup : "+self.metadata[:full_description].to_s, "cyan")
71
+ RSpec.lucian_engine.run_docker_service(services)
72
+ end
73
+ return if RSpec.world.wants_to_quit
74
+ reporter.example_group_started(self)
75
+
76
+ should_run_context_hooks = descendant_filtered_examples.any?
77
+ begin
78
+ run_before_context_hooks(new('before(:context) hook')) if should_run_context_hooks
79
+ result_for_this_group = run_examples(reporter)
80
+ results_for_descendants = ordering_strategy.order(children).map { |child| child.run(reporter) }.all?
81
+ result_for_this_group && results_for_descendants
82
+ rescue Pending::SkipDeclaredInExample => ex
83
+ for_filtered_examples(reporter) { |example| example.skip_with_exception(reporter, ex) }
84
+ true
85
+ rescue RSpec::Support::AllExceptionsExceptOnesWeMustNotRescue => ex
86
+ for_filtered_examples(reporter) { |example| example.fail_with_exception(reporter, ex) }
87
+ RSpec.world.wants_to_quit = true if reporter.fail_fast_limit_met?
88
+ false
89
+ ensure
90
+ run_after_context_hooks(new('after(:context) hook')) if should_run_context_hooks
91
+ if services.count > 0
92
+ RSpec.lucian_engine.stop_docker_service(services)
93
+ end
94
+ reporter.example_group_finished(self)
95
+ end
96
+ end
97
+
57
98
  end
58
99
  end
data/lucian.gemspec CHANGED
@@ -25,6 +25,7 @@ Gem::Specification.new do |spec|
25
25
 
26
26
  spec.add_runtime_dependency(%q<rspec-core>, ['~> 3.0'])
27
27
  spec.add_runtime_dependency(%q<rspec-expectations>, ['~> 3.0'])
28
+ spec.add_runtime_dependency(%q<rspec-support>, ['~> 3.0'])
28
29
  spec.add_runtime_dependency(%q<docker-compose>, '~>1.0')
29
30
  spec.add_runtime_dependency(%q<docker-api>, '~>1.30')
30
31
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lucian
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tanapat Sainak
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '3.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec-support
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: docker-compose
43
57
  requirement: !ruby/object:Gem::Requirement