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 +4 -4
- data/lib/cli.rb +17 -6
- data/lib/clients/website.rb +2 -9
- data/lib/runner.rb +4 -3
- data/lib/thread_context.rb +1 -1
- metadata +22 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9148f21a0e6aa5b6a157f4430be6e4669c8ebb5f
|
4
|
+
data.tar.gz: 493eceb7d79389aace5dfb095167ec1639024505
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
-
|
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
|
|
data/lib/clients/website.rb
CHANGED
@@ -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(
|
16
|
+
@session = Capybara::Session.new(context.runner.config[:capybara][:default_driver])
|
24
17
|
@pages = {}
|
25
18
|
end
|
26
19
|
|
data/lib/runner.rb
CHANGED
@@ -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 =
|
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[:
|
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])
|
data/lib/thread_context.rb
CHANGED
@@ -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 =
|
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.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bartek Wilczek
|
8
|
-
- Maciej
|
8
|
+
- Maciej Stark
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-08-
|
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:
|
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.
|
76
|
+
rubygems_version: 2.0.15
|
61
77
|
signing_key:
|
62
78
|
specification_version: 4
|
63
79
|
summary: Moto - yet another web testing framework
|