blinka-reporter 0.3.5 → 0.5.1

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
  SHA256:
3
- metadata.gz: 18126165bf1e12fccca242964c2086abcab1ad37f1ca6b089b5e02edcb0a64b5
4
- data.tar.gz: fc47b4d956f56d7c7572e8fd11b4cd9d119d4e14929ac6f73ba35ee20a66abfd
3
+ metadata.gz: badbf83646cbee4602ea1dc639afe398237a1932615099a733ff84c1acdbb664
4
+ data.tar.gz: 19dbdeec9e1c8cbf1a4545426e7b0ad88e86aaa01e53abcf6f451bb9ca8ba832
5
5
  SHA512:
6
- metadata.gz: d362519ba45683ad4cddc22c9fbe7e2f5f72e4281ff5369bda0056789b90ae77d3ddf529728a7c5b305d55a633e719a297e6389c79e4f923138311be1777ce75
7
- data.tar.gz: 34416bc8b028746deb93b11a684cfed331c0f7fcb0b0210cc216721faec0c41d99caf3b335a9750db3bc11c131850f04964372b50481a680a6cf1368ee7a1649
6
+ metadata.gz: 257ec90e005aef2634292bd3f7346e9233f460c830a97adf4349ae89bf27e80c6a67a6b0af961ecb668ed2ec6f58f2777d4b1bc87d95ba5101a55ba812638f5e
7
+ data.tar.gz: a2795269a1fa2eb0d6716d219c062017f76af7892fdc8c7a390d88f9470583c6d96b448d7a83417fa4877e124bb9c13b5b112e95391974f374d90fe20793d1c2
data/lib/blinka_client.rb CHANGED
@@ -1,8 +1,12 @@
1
- require 'mimemagic'
2
1
  require 'httparty'
3
2
 
4
3
  class BlinkaClient
5
4
  DEFAULT_HOST = 'https://www.blinka.app'.freeze
5
+ SUPPORTED_MIME_TYPES = {
6
+ jpg: 'image/jpeg',
7
+ jpeg: 'image/jpeg',
8
+ png: 'image/png'
9
+ }
6
10
 
7
11
  include HTTParty
8
12
 
@@ -112,7 +116,9 @@ class BlinkaClient
112
116
 
113
117
  file = File.open(filepath)
114
118
  filename = File.basename(filepath)
115
- content_type = MimeMagic.by_magic(file).type
119
+ extension = File.extname(filepath).delete('.').to_sym
120
+ content_type = SUPPORTED_MIME_TYPES[extension]
121
+ return if content_type.nil?
116
122
 
117
123
  presigned_post =
118
124
  BlinkaClient.presign_image(filename: filename, content_type: content_type)
@@ -44,7 +44,7 @@ class BlinkaMinitest
44
44
  elsif @test_result.skipped?
45
45
  :skip
46
46
  elsif @test_result.failure
47
- :failed
47
+ :fail
48
48
  else
49
49
  :pass
50
50
  end
@@ -61,7 +61,14 @@ class BlinkaMinitest
61
61
  def image
62
62
  return unless kind == 'system'
63
63
 
64
- image_path = "./tmp/screenshots/failures_#{name}.png"
64
+ image_path =
65
+ if defined?(Capybara) && Capybara.respond_to?(:save_path) &&
66
+ Capybara.save_path.present?
67
+ "#{Capybara.save_path}/failures_#{name}.png"
68
+ else
69
+ "./tmp/screenshots/failures_#{name}.png"
70
+ end
71
+
65
72
  return unless File.exist?(image_path)
66
73
 
67
74
  image_path
@@ -1,3 +1,3 @@
1
1
  module BlinkaReporter
2
- VERSION = '0.3.5'.freeze
2
+ VERSION = '0.5.1'.freeze
3
3
  end
@@ -11,6 +11,7 @@ module Minitest
11
11
  def plugin_blinka_options(opts, options); end
12
12
 
13
13
  module BlinkaPlugin
14
+ REPORT_PATH = 'blinka_results.json'.freeze
14
15
  TAP_COMMENT_PAD = 8
15
16
  class Reporter < Minitest::StatisticsReporter
16
17
  attr_accessor :tests
@@ -29,7 +30,9 @@ module Minitest
29
30
  super
30
31
 
31
32
  tap_report if ENV['BLINKA_TAP']
32
- json_report if ENV['BLINKA_JSON'] || ENV['BLINKA_REPORT']
33
+ if ENV['BLINKA_JSON'] || ENV['BLINKA_REPORT']
34
+ json_report(append: !ENV['BLINKA_APPEND'].nil?)
35
+ end
33
36
  BlinkaClient.new.report if ENV['BLINKA_REPORT']
34
37
  rescue BlinkaClient::BlinkaError => error
35
38
  puts(error)
@@ -37,7 +40,7 @@ module Minitest
37
40
 
38
41
  private
39
42
 
40
- def json_report
43
+ def json_report(append:)
41
44
  result = {
42
45
  total_time: total_time,
43
46
  nbr_tests: count,
@@ -48,12 +51,14 @@ module Minitest
48
51
  results:
49
52
  tests.map { |test_result| BlinkaMinitest.new(test_result).report }
50
53
  }
54
+ result = append_previous(result) if append
51
55
 
52
- File.open('blinka_results.json', 'w+') do |file|
56
+ File.open(REPORT_PATH, 'w+') do |file|
53
57
  file.write(JSON.pretty_generate(result))
54
58
  end
59
+
55
60
  puts
56
- puts('Test results written to `./blinka_results.json`')
61
+ puts("Test results written to `#{REPORT_PATH}`")
57
62
  end
58
63
 
59
64
  # Based on https://github.com/kern/minitest-reporters/blob/master/lib/minitest/reporters/progress_reporter.rb
@@ -95,6 +100,26 @@ module Minitest
95
100
  )
96
101
  )
97
102
  end
103
+
104
+ private
105
+
106
+ def parse_report
107
+ return unless File.exist?(REPORT_PATH)
108
+ JSON.parse(File.read(REPORT_PATH))
109
+ end
110
+
111
+ def append_previous(result)
112
+ previous = parse_report
113
+ return if previous.nil?
114
+ return if result[:commit] != previous['commit']
115
+ return if result[:tag] != previous['tag']
116
+
117
+ result[:total_time] += previous['total_time'] || 0
118
+ result[:nbr_tests] += previous['nbr_tests'] || 0
119
+ result[:nbr_assertions] += previous['nbr_assertions'] || 0
120
+ result[:results] += previous['results'] || []
121
+ result
122
+ end
98
123
  end
99
124
  end
100
125
  end
metadata CHANGED
@@ -1,43 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blinka-reporter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Wessman
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-11 00:00:00.000000000 Z
11
+ date: 2022-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 0.18.1
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 0.21.0
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: 0.18.1
27
- - !ruby/object:Gem::Dependency
28
- name: mimemagic
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 0.3.5
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
30
+ - - "<"
39
31
  - !ruby/object:Gem::Version
40
- version: 0.3.5
32
+ version: 0.21.0
41
33
  - !ruby/object:Gem::Dependency
42
34
  name: dotenv
43
35
  requirement: !ruby/object:Gem::Requirement
@@ -127,7 +119,7 @@ metadata:
127
119
  documentation_uri: https://github.com/davidwessman/blinka_reporter
128
120
  changelog_uri: https://github.com/davidwessman/blinka_reporter/main/CHANGELOG.md
129
121
  source_code_uri: https://github.com/davidwessman/blinka_reporter
130
- post_install_message:
122
+ post_install_message:
131
123
  rdoc_options: []
132
124
  require_paths:
133
125
  - lib
@@ -143,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
143
135
  version: '0'
144
136
  requirements: []
145
137
  rubygems_version: 3.2.7
146
- signing_key:
138
+ signing_key:
147
139
  specification_version: 4
148
140
  summary: Format tests for Blinka
149
141
  test_files: []