probedock-rspec 0.6.0 → 0.7.0

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: 7eab1d34fa9237020aa501d102b8102f920aebec
4
- data.tar.gz: 5251ca28e3eb843799327036d3a2adef17a2146a
3
+ metadata.gz: ba8bce3bce5176d6961dfd78fdae77bce895230b
4
+ data.tar.gz: 0d41a6542f22ea33dafd6a568aedf1813d117008
5
5
  SHA512:
6
- metadata.gz: c118ffb9d5203145f5d84c5eb4302edd541a6ce5403a1abb115627203ca3344fedc8b639295df605127c0c10eea1153c9064c6b2132a13678b46be37b43999b0
7
- data.tar.gz: 4cd6d2395d92343cdf8faa6e3f820dfb4d95c88b69ceb0aa701b1115bd51d3482211e1eb5bc8d89ef11c4dd2c34c5a007643fc55cbd412eb975ce6949c1bc666
6
+ metadata.gz: 6d9b15f140d29ba19baf020a257e9af6a5b2887b1df12ab514acb773586d26f8af9b3850420b21cac9a80c987246bc0375a8bf8a3e187361c802ba4d9f4184bf
7
+ data.tar.gz: 16160c7393aff207214bb62b7209533f872cd3b3e658651fc7c2cfee9084a3f54ecc46be9a028b953dc4eeb2b5589ab6519dc0f4986752fbf265d99930051cb8
data/Gemfile CHANGED
@@ -4,13 +4,13 @@ source "http://rubygems.org"
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
 
6
6
  gem 'rspec', '~> 3.1'
7
- gem 'probedock-ruby', '~> 0.1'
7
+ gem 'probedock-ruby', '~> 0.2.1'
8
8
 
9
9
  # Add dependencies to develop your gem here.
10
10
  # Include everything needed to run rake, tests, features, etc.
11
11
  group :development do
12
12
  gem 'jeweler', '~> 2.0'
13
- gem 'rake-version', '~> 0.4'
13
+ gem 'rake-version', '~> 1.0'
14
14
  gem 'simplecov', '~> 0.10', require: false
15
15
  gem 'fakefs', '~> 0.6', require: 'fakefs/safe'
16
16
  gem 'rspec-its', '~> 1.2'
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # Probe Dock RSpec
1
+ # RSpec Probe for Probe Dock
2
2
 
3
- **RSpec probe for [Probe Dock](https://github.com/probedock/probedock).**
3
+ **RSpec formatter to publish test results to [Probe Dock](https://github.com/probedock/probedock).**
4
4
 
5
5
  [![Gem Version](https://badge.fury.io/rb/probedock-rspec.svg)](http://badge.fury.io/rb/probedock-rspec)
6
6
  [![Dependency Status](https://gemnasium.com/probedock/probedock-rspec.svg)](https://gemnasium.com/probedock/probedock-rspec)
@@ -8,43 +8,36 @@
8
8
  [![Coverage Status](https://coveralls.io/repos/probedock/probedock-rspec/badge.svg)](https://coveralls.io/r/probedock/probedock-rspec?branch=master)
9
9
  [![License](https://img.shields.io/github/license/probedock/probedock-rspec.svg)](LICENSE.txt)
10
10
 
11
- ## Requirements
11
+ * [Requirements](#requirements)
12
+ * [Installation](#installation)
13
+ * [Usage](#usage)
14
+ * [Contributing](#contributing)
12
15
 
13
- * RSpec 3+
14
16
 
15
- ## Installation
16
17
 
17
- In your Gemfile:
18
-
19
- ```rb
20
- gem 'probedock-rspec', '~> 0.6.0'
21
- ```
18
+ <a name="requirements"></a>
19
+ ## Requirements
22
20
 
23
- Manually:
21
+ * Ruby 2+
22
+ * RSpec 3+
24
23
 
25
- gem install probedock-rspec
26
24
 
27
- ## Usage
28
25
 
29
- If you haven't done it already, follow the [setup procedure](#setup) below.
26
+ <a name="installation"></a>
27
+ ## Installation
30
28
 
31
- To track a test with a Probe Dock test key, use RSpec metadata:
29
+ Add it to your Gemfile:
32
30
 
33
31
  ```rb
34
- it "should work", probedock: { key: 'abcdefghijkl' } do
35
- expect(true).to be(true)
36
- end
37
-
38
- it(nil, probedock: { key: 'bcdefghijklm' }){ should validate_presence_of(:name) }
32
+ gem 'probedock-rspec', '~> 0.7.0'
39
33
  ```
40
34
 
41
- <a name="setup"></a>
42
- ## Setup
35
+ Then run `bundle install`.
43
36
 
44
- You must first set up the configuration file(s) for the project.
37
+ If you haven't done so already, set up your Probe Dock configuration file(s).
45
38
  This procedure is described here:
46
39
 
47
- * [Probe Setup Procedure](https://github.com/probedock/probedock-clients#setup-procedure)
40
+ * [Probe Setup Procedure](https://github.com/probedock/probedock-probes#setup)
48
41
 
49
42
  You must then enable the client in your spec helper file (e.g. `spec/spec_helper.rb`).
50
43
 
@@ -60,6 +53,31 @@ end
60
53
 
61
54
  The next time you run your test suite, the RSpec probe will send the results to your Probe Dock server.
62
55
 
56
+
57
+
58
+ <a name="usage"></a>
59
+ ## Usage
60
+
61
+ To track a test with a Probe Dock test key, use RSpec metadata:
62
+
63
+ ```rb
64
+ it "should work", probedock: { key: 'abcd' } do
65
+ expect(true).to be(true)
66
+ end
67
+
68
+ it(nil, probedock: { key: 'bcde' }){ should validate_presence_of(:name) }
69
+ ```
70
+
71
+ You may also define a category, tags and tickets for a test like this:
72
+
73
+ ```rb
74
+ it "should work", probedock: { key: 'cdef', category: 'Integration', tags: %w(user-registration validation), tickets: %w(JIRA-1000 JIRA-1012) } do
75
+ expect(2).to be < 3
76
+ end
77
+ ```
78
+
79
+
80
+
63
81
  ## Contributing
64
82
 
65
83
  * [Fork](https://help.github.com/articles/fork-a-repo)
@@ -69,7 +87,8 @@ The next time you run your test suite, the RSpec probe will send the results to
69
87
 
70
88
  Please add a [changelog](CHANGELOG.md) entry with your name for new features and bug fixes.
71
89
 
90
+
91
+
72
92
  ## License
73
93
 
74
- Probe Dock RSpec is licensed under the [MIT License](http://opensource.org/licenses/MIT).
75
- See [LICENSE.txt](LICENSE.txt) for the full license.
94
+ **probedock-rspec** is licensed under the [MIT License](http://opensource.org/licenses/MIT).
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.0
1
+ 0.7.0
@@ -1,9 +1,17 @@
1
1
  module ProbeDockRSpec
2
+ def self.config
3
+ @config ||= ProbeDockProbe::Config.new
4
+ end
5
+
6
+ def self.config= config
7
+ @config = config
8
+ end
2
9
 
3
10
  def self.configure options = {}, &block
4
- ProbeDockProbe.config.load! &block
5
11
  setup! if options.fetch :setup, true
6
- ProbeDockProbe.config
12
+ config.load! &block
13
+ config.project.category ||= 'RSpec'
14
+ config
7
15
  end
8
16
 
9
17
  private
@@ -11,7 +11,7 @@ module ProbeDockRSpec
11
11
 
12
12
  def initialize output
13
13
 
14
- config = ProbeDockProbe.config
14
+ config = ProbeDockRSpec.config
15
15
  @client = ProbeDockProbe::Client.new config.server, config.client_options
16
16
  @test_run = ProbeDockProbe::TestRun.new config.project
17
17
 
@@ -7,28 +7,33 @@ module ProbeDockRSpec
7
7
 
8
8
  options = {}
9
9
 
10
- %i(key category tags tickets data).each do |attr|
11
- options[attr] = send "extract_#{attr}", example, groups
10
+ %i(key category tags tickets data active).each do |attr|
11
+ options[attr] = send("extract_#{attr}", example, groups)
12
12
  end
13
13
 
14
- name_parts = extract_name_parts example, groups
15
- options[:name] = name_parts.join ' '
16
- options[:fingerprint] = Digest::SHA1.hexdigest name_parts.join('|||')
14
+ name_parts = extract_name_parts(example, groups)
15
+ options[:name] = name_parts.join(' ')
16
+ options[:fingerprint] = Digest::SHA1.hexdigest(name_parts.join('|||'))
17
+
18
+ data = options[:data]
19
+ metadata = example.metadata
17
20
 
18
21
  # TODO: remove once Probe Dock has been migrated to use fingerprints
19
- options[:data]['fingerprint'] = options[:fingerprint]
22
+ data['fingerprint'] = options[:fingerprint]
23
+
24
+ data['file.path'] = metadata[:file_path].to_s.sub(/^\.\//, '') if metadata[:file_path]
25
+ data['file.line'] = metadata[:line_number] if metadata[:line_number]
20
26
 
21
27
  options
22
28
  end
23
29
 
24
30
  private
25
31
 
26
- def self.extract_key example, groups = []
27
- (groups.collect{ |g| meta(g)[:key] } << meta(example)[:key]).compact.reject{ |k| k.strip.empty? }.last
32
+ def self.extract_key(example, groups = [])
33
+ (groups.collect{ |g| probedock_meta(g)[:key] } << probedock_meta(example)[:key]).compact.reject{ |k| k.strip.empty? }.last
28
34
  end
29
35
 
30
- def self.meta holder
31
-
36
+ def self.probedock_meta(holder)
32
37
  meta = holder.metadata[:probedock] || {}
33
38
 
34
39
  if meta.kind_of? String
@@ -40,25 +45,29 @@ module ProbeDockRSpec
40
45
  end
41
46
  end
42
47
 
43
- def self.extract_name_parts example, groups = []
48
+ def self.extract_name_parts(example, groups = [])
44
49
  (groups.collect(&:description) << example.description).compact.collect(&:strip).reject{ |p| p.empty? }
45
50
  end
46
51
 
47
- def self.extract_category example, groups = []
48
- cat = (groups.collect{ |g| meta(g)[:category] } << meta(example)[:category]).compact.last
52
+ def self.extract_category(example, groups = [])
53
+ cat = (groups.collect{ |g| probedock_meta(g)[:category] } << probedock_meta(example)[:category]).compact.last
49
54
  cat ? cat.to_s : nil
50
55
  end
51
56
 
52
- def self.extract_tags example, groups = []
53
- (groups.collect{ |g| wrap meta(g)[:tags] } + (wrap meta(example)[:tags])).flatten.compact.uniq.collect(&:to_s)
57
+ def self.extract_active(example, groups = [])
58
+ (groups.collect{ |g| probedock_meta(g)[:active] } << probedock_meta(example)[:active]).compact.last
59
+ end
60
+
61
+ def self.extract_tags(example, groups = [])
62
+ (groups.collect{ |g| wrap probedock_meta(g)[:tags] } + (wrap probedock_meta(example)[:tags])).flatten.compact.uniq.collect(&:to_s)
54
63
  end
55
64
 
56
- def self.extract_tickets example, groups = []
57
- (groups.collect{ |g| wrap meta(g)[:tickets] } + (wrap meta(example)[:tickets])).flatten.compact.uniq.collect(&:to_s)
65
+ def self.extract_tickets(example, groups = [])
66
+ (groups.collect{ |g| wrap probedock_meta(g)[:tickets] } + (wrap probedock_meta(example)[:tickets])).flatten.compact.uniq.collect(&:to_s)
58
67
  end
59
68
 
60
- def self.extract_data example, groups = []
61
- meta(example)[:data] || {}
69
+ def self.extract_data(example, groups = [])
70
+ probedock_meta(example)[:data] || {}
62
71
  end
63
72
 
64
73
  def self.wrap a
@@ -3,7 +3,7 @@ require 'rspec'
3
3
  require 'probedock-ruby'
4
4
 
5
5
  module ProbeDockRSpec
6
- VERSION = '0.6.0'
6
+ VERSION = '0.7.0'
7
7
 
8
8
  class Error < StandardError; end
9
9
  class PayloadError < Error; end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: probedock-rspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Oulevay (Alpha Hydrae)
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-05 00:00:00.000000000 Z
11
+ date: 2016-06-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.1'
33
+ version: 0.2.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.1'
40
+ version: 0.2.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: jeweler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0.4'
61
+ version: '1.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0.4'
68
+ version: '1.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: simplecov
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -174,7 +174,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
174
174
  version: '0'
175
175
  requirements: []
176
176
  rubyforge_project:
177
- rubygems_version: 2.4.8
177
+ rubygems_version: 2.4.6
178
178
  signing_key:
179
179
  specification_version: 4
180
180
  summary: RSpec client to publish test results to Probe Dock.