jericho 0.1.4 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +3 -2
- data/jericho.gemspec +2 -0
- data/lib/jericho/version.rb +1 -1
- data/lib/jericho.rb +56 -2
- metadata +31 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: b5a5435e3f39b0e0073eca55c1764891ccc566157f90c3f67085a50db4db2e10
|
4
|
+
data.tar.gz: ae906c5404be57c3ecddac037a0d040b160121982d7df0698be38dc95cbe6db3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8bb1c5391b1a9be056aec25b199b6ba4564e6de2c2c83cbcecd916aede87fd48e396c618e97dc1526e58af50193d055caba529723d452c24bd2b0c978c485723
|
7
|
+
data.tar.gz: aa9c2695854962390d5159d1d572a588c93bd19e3adaec5552395f0ce6f9f6ced33a1e22db74938dc0db155f83d023336e557469fd5dcba44e9841bf0cf8ca9e
|
data/README.md
CHANGED
@@ -21,9 +21,11 @@ Or install it yourself as:
|
|
21
21
|
$ gem install jericho
|
22
22
|
|
23
23
|
## Usage
|
24
|
+
Small simple gem to clear you cucumber ```.json``` reports of redundant info and post results to Slack
|
24
25
|
|
25
|
-
|
26
|
+
Add ```purify``` and ```repent``` calls to ```at_exit``` hook of your test suite and enjoy
|
26
27
|
|
28
|
+
Note that gem uses ```slack_ruby_client``` and ```dotenv``` to work properly
|
27
29
|
## Development
|
28
30
|
|
29
31
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
@@ -38,4 +40,3 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERN
|
|
38
40
|
## License
|
39
41
|
|
40
42
|
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
41
|
-
|
data/jericho.gemspec
CHANGED
@@ -33,4 +33,6 @@ Gem::Specification.new do |spec|
|
|
33
33
|
spec.add_development_dependency "bundler", "~> 1.13"
|
34
34
|
spec.add_development_dependency "rake", "~> 10.0"
|
35
35
|
spec.add_development_dependency "rspec", "~> 3.0"
|
36
|
+
spec.add_runtime_dependency 'dotenv', "~> 2.7"
|
37
|
+
spec.add_runtime_dependency 'slack-ruby-client', "~> 0.14.1"
|
36
38
|
end
|
data/lib/jericho/version.rb
CHANGED
data/lib/jericho.rb
CHANGED
@@ -1,7 +1,61 @@
|
|
1
1
|
require "jericho/version"
|
2
2
|
|
3
3
|
module Jericho
|
4
|
-
def self.
|
5
|
-
|
4
|
+
def self.reporter(parsed_report)
|
5
|
+
list_of_scenarios_results = {}
|
6
|
+
parsed_report.each do |element|
|
7
|
+
element['elements'].each do |scenario|
|
8
|
+
scenario_status = 'Passed'
|
9
|
+
scenario['steps'].each do |step|
|
10
|
+
scenario_status = 'Failed' if step['result']['status'] != 'passed'
|
11
|
+
end
|
12
|
+
list_of_scenarios_results[(scenario['name']).to_s] = scenario_status
|
13
|
+
end
|
14
|
+
end
|
15
|
+
list_of_scenarios_results
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.comparison_reporter(list_of_scenarios_results1, list_of_scenarios_results2)
|
19
|
+
failed_tests = list_of_scenarios_results2.select { |k, v| v == 'Failed' }.map do |k, v|
|
20
|
+
{
|
21
|
+
test_name: k === '' ? k = 'Background' : k,
|
22
|
+
actual_status: v,
|
23
|
+
previous_status: list_of_scenarios_results1[k]
|
24
|
+
}.reject { |_k, v| v.nil? }
|
25
|
+
end
|
26
|
+
|
27
|
+
{
|
28
|
+
passed: list_of_scenarios_results2.size - failed_tests.size,
|
29
|
+
failed: failed_tests.size,
|
30
|
+
failed_tests: failed_tests
|
31
|
+
}
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.purify
|
35
|
+
arr = Dir['*.json'].sort!
|
36
|
+
arr.length <= 1 ? parsed_report1 = {} : parsed_report1 = JSON.parse(File.read(arr[-2]))
|
37
|
+
parsed_report2 = JSON.parse(File.read(arr.last))
|
38
|
+
result = comparison_reporter(reporter(parsed_report1), reporter(parsed_report2))
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.repent
|
42
|
+
client = Slack::Web::Client.new
|
43
|
+
client.chat_postMessage(
|
44
|
+
channel: '#autotests',
|
45
|
+
text:
|
46
|
+
"Test run results for #{$driver.caps[:deviceName]}, #{$driver.caps[:platformName]} #{$driver.caps[:platformVersion]}:
|
47
|
+
Passed tests count: #{result[:passed]},
|
48
|
+
Failed tests count: #{result[:failed]},",
|
49
|
+
attachments: [
|
50
|
+
{
|
51
|
+
text: "*Failed tests*:
|
52
|
+
#{'Test name and previous status:' + ("\n") + result[:failed_tests].map { |t| t.values_at(:test_name, :previous_status) }.join("\n") }
|
53
|
+
",
|
54
|
+
color: 'danger'
|
55
|
+
}
|
56
|
+
],
|
57
|
+
mrkdwn: true,
|
58
|
+
as_user: true,
|
59
|
+
)
|
6
60
|
end
|
7
61
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jericho
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kirill
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-04-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,6 +52,34 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: dotenv
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '2.7'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '2.7'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: slack-ruby-client
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 0.14.1
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.14.1
|
55
83
|
description: '"Epic stuff"'
|
56
84
|
email:
|
57
85
|
- alexeyenko92@gmail.com
|
@@ -92,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
92
120
|
version: '0'
|
93
121
|
requirements: []
|
94
122
|
rubyforge_project:
|
95
|
-
rubygems_version: 2.
|
123
|
+
rubygems_version: 2.7.8
|
96
124
|
signing_key:
|
97
125
|
specification_version: 4
|
98
126
|
summary: '"Epic gem"'
|