moto 0.0.3 → 0.0.4

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: a53792d2e2c396c69d4304ea1ab6c1c4015fc895
4
- data.tar.gz: f333327a20547acdd3f6ff7e4f97f15b0bea2016
3
+ metadata.gz: 9148f21a0e6aa5b6a157f4430be6e4669c8ebb5f
4
+ data.tar.gz: 493eceb7d79389aace5dfb095167ec1639024505
5
5
  SHA512:
6
- metadata.gz: 73bf56964886a0525c9c2140341ae722870ecf5963e9fe2d641e9a9ca8342d5b6ec1bc956a898051a96b5235a15657ed1457e8be1e7546f12cbb2bfdfbd3f55b
7
- data.tar.gz: a5b6188e9320d21e1bce04b9c5759260cebc2dbae5f34f2f5a916be756f0019ca455278158e3cc363ec9d4adc6669a3b113104cc6d5b4c6dcf1d01ec8a63d028
6
+ metadata.gz: 59ed4b2f7ce51f3c1480673de389ff26ca961502474253cca32de6189f0d2fe7404dc937331ede52bfb0c185296ef4fa5bf5c2255502b7d9a58f0283b97aa39c
7
+ data.tar.gz: 802ff8c1cef394da74787ea43433ce46f213ab67b48a5abefce6c3a5c48dad7acf846e0292363ba7390bae72c40f2c7f4ae4dd4d5045ac1033eb17973f3fffc2
data/lib/cli.rb CHANGED
@@ -1,17 +1,22 @@
1
+ # TODO: fix this dumb verification of current working directory
2
+ unless File.exists? "#{Dir.pwd}/config/moto.rb"
3
+ puts "Config file (config/moto.rb) not present."
4
+ puts "Does current working directory contain Moto application?"
5
+ exit 1
6
+ end
7
+
1
8
  require 'logger'
2
9
  require 'pp'
3
10
  require 'yaml'
4
11
  require 'active_support/inflector'
5
12
  require 'active_support/core_ext/object/blank'
6
- # require 'active_support/core_ext'
13
+
14
+ require 'bundler/setup'
15
+ Bundler.require
7
16
 
8
17
  APP_DIR = Dir.pwd
9
18
  MOTO_DIR = File.dirname(File.dirname(__FILE__))
10
19
 
11
- # TODO detect if cwd contains MotoApp
12
-
13
- require "#{APP_DIR}/config/moto"
14
-
15
20
  require_relative './empty_listener'
16
21
  require_relative './test_logging'
17
22
  require_relative './runner_logging'
@@ -44,7 +49,13 @@ module Moto
44
49
 
45
50
  # listeners = []
46
51
  listeners = [Moto::Listeners::Console]
47
- runner = Moto::Runner.new(tests, listeners, thread_cnt: 3, environments: [:qa, :qa2])
52
+ environments = [:qa, :qa2]
53
+ # handle possible syntax error here
54
+ config = eval(File.read("#{APP_DIR}/config/moto.rb"))
55
+ # overwrite config with values from ARGV (if any given)
56
+ # e.g. config[:capybara][:default_driver] = :selenium
57
+
58
+ runner = Moto::Runner.new(tests, listeners, environments, config)
48
59
  runner.run
49
60
  end
50
61
 
@@ -10,17 +10,10 @@ module Moto
10
10
  ignore_logging(:page)
11
11
  ignore_logging(:context)
12
12
  ignore_logging(:session)
13
-
14
- def init
15
- # can be overriden
16
- @options = {
17
- capybara_backend: :selenium
18
- }
19
- end
20
-
13
+
21
14
  def start_run
22
15
  # TODO: make session driver configurable
23
- @session = Capybara::Session.new(@options[:capybara_backend])
16
+ @session = Capybara::Session.new(context.runner.config[:capybara][:default_driver])
24
17
  @pages = {}
25
18
  end
26
19
 
@@ -6,8 +6,9 @@ module Moto
6
6
  attr_reader :logger
7
7
  attr_reader :environments
8
8
  attr_reader :assert
9
+ attr_reader :config
9
10
 
10
- def initialize(tests, listeners, config = {})
11
+ def initialize(tests, listeners, environments, config)
11
12
  @tests = tests
12
13
  @config = config
13
14
  @threads = []
@@ -20,7 +21,7 @@ module Moto
20
21
  @result = Result.new(self)
21
22
 
22
23
  # TODO: validate envs, maybe no-env should be supported as well?
23
- @environments = config[:environments]
24
+ @environments = environments
24
25
 
25
26
  @listeners = []
26
27
  listeners.each do |l|
@@ -31,7 +32,7 @@ module Moto
31
32
 
32
33
  def run
33
34
  @listeners.each { |l| l.start_run }
34
- test_slices = @tests.each_slice((@tests.size.to_f/@config[:thread_cnt]).ceil).to_a
35
+ test_slices = @tests.each_slice((@tests.size.to_f/@config[:thread_count]).ceil).to_a
35
36
  (0...test_slices.count).each do |i|
36
37
  @threads << Thread.new do
37
38
  tc = ThreadContext.new(self, test_slices[i])
@@ -74,7 +74,7 @@ module Moto
74
74
  # TODO: remove log files from previous execution
75
75
  @logger = Logger.new(File.open(@log_path, File::WRONLY | File::TRUNC | File::CREAT))
76
76
  # TODO: make logger level configurable
77
- @logger.level = Moto::Config::LOG_LEVEL
77
+ @logger.level = @runner.config[:log_level]
78
78
  @current_test = test
79
79
  @runner.listeners.each { |l| l.start_test(test) }
80
80
  @clients.each_value { |c| c.start_test(test) }
metadata CHANGED
@@ -1,21 +1,37 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moto
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bartek Wilczek
8
- - Maciej Przybylski
8
+ - Maciej Stark
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-08-07 00:00:00.000000000 Z
13
- dependencies: []
12
+ date: 2015-08-17 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ~>
19
+ - !ruby/object:Gem::Version
20
+ version: '3.2'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ~>
26
+ - !ruby/object:Gem::Version
27
+ version: '3.2'
14
28
  description: This is a development version of a rails philosophy inspired framework
15
29
  for web applications functional testing. It supports (or will support) threading,
16
30
  scenario parametrization, different test environments and much more. Stay tuned
17
31
  for v.1.0.0 in the near future.
18
- email: bw@vouk.info
32
+ email:
33
+ - bwilczek@gmail.com
34
+ - stark.maciej@gmail.com
19
35
  executables:
20
36
  - moto
21
37
  extensions: []
@@ -57,7 +73,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
57
73
  version: '0'
58
74
  requirements: []
59
75
  rubyforge_project:
60
- rubygems_version: 2.0.14
76
+ rubygems_version: 2.0.15
61
77
  signing_key:
62
78
  specification_version: 4
63
79
  summary: Moto - yet another web testing framework