probe-dock-rspec 0.5.0 → 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,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NTJlNjI0N2E1ZjkzZGZjMzExNWUwZjY1MTlkNDRjZTFjNzZiZjJiMQ==
5
- data.tar.gz: !binary |-
6
- NmU1M2JjNzY2Y2E5MjE1OWIyOTQ1ZjI4MjcxYTkxODBkZGZiMGVlNg==
2
+ SHA1:
3
+ metadata.gz: 20a879769e8aeb7363116ac88ea1583e9d8e7027
4
+ data.tar.gz: 27f5d23864d0a4ee0264cc7787c61dcdaf166002
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- OGRhYWU3MjIxMjUxMWNlYTAxNWI3NWEzNDE2MTI4YmY0NDlmMGRjNDY3YTYw
10
- ZjhmN2ExZWQ2MTJjMDFkMjNmMDcyN2U5MGU3ZTcwMjIxOTFlMDVjZTM0Zjhj
11
- NTM4OGU5MjBiMTQyZTY3MjUxMGU2ZjM3MDNhNDkzMjg2ZTc5MDY=
12
- data.tar.gz: !binary |-
13
- NGIwZmM2NWJiZjc2MTExMjU3MWFlNDFiM2UxMjVjYjFlZmRhN2U4M2VjZjBi
14
- NTI3ODBkMzJjNTg0MGVhMzg2YmZjYTNhNjIxZmU1MzE5ZWQ3MGI3YzI2OWIz
15
- ODIyYTE4ZWExODQxOTI3NjBiYTFhODFmYzg1ZmUzYjg5MDU5NjE=
6
+ metadata.gz: 785e9872d8ffa21fe7e66970463423017be0f93e546654e6ca328d91b3306f04bc1482fc725f333f502149b14cae3458b82f336cc07277990c317fe8d371fffe
7
+ data.tar.gz: bad0389e98fb6fece95f0fa20a719565ec15edbe1cf82640e8e0ef8ba3517cfda93f13306396ec561946f8a0e654d6f8772938838e9735b05d378ea040f68792
data/CHANGELOG.md ADDED
@@ -0,0 +1,13 @@
1
+ # Changelog
2
+
3
+ ## v0.4.0 - September 11, 2014
4
+
5
+ * Upgraded to RSpec 3.1.
6
+
7
+ ## v0.3.1 - December 13, 2013
8
+
9
+ * The `servers` key in the YAML configuration file is now a hash instead of an array.
10
+
11
+ ## v0.3.0 - October 25, 2013
12
+
13
+ * First open source version.
data/Gemfile CHANGED
@@ -14,8 +14,9 @@ gem 'rake', '~> 10.1'
14
14
  group :development do
15
15
  gem 'jeweler', '~> 2.0'
16
16
  gem 'rake-version', '~> 0.4'
17
- gem 'simplecov', '~> 0.10'
17
+ gem 'simplecov', '~> 0.10', require: false
18
18
  gem 'fakefs', '~> 0.6', require: 'fakefs/safe'
19
19
  gem 'rspec-its', '~> 1.2'
20
20
  gem 'rspec-collection_matchers', '~> 1.1'
21
+ gem 'coveralls', '~> 0.8', require: false
21
22
  end
data/README.md CHANGED
@@ -2,7 +2,11 @@
2
2
 
3
3
  **RSpec probe for [Probe Dock](https://github.com/probe-dock/probe-dock).**
4
4
 
5
- [![Gem Version](https://badge.fury.io/rb/probe-dock-rspec.png)](http://badge.fury.io/rb/probe-dock-rspec)
5
+ [![Gem Version](https://badge.fury.io/rb/probe-dock-rspec.svg)](http://badge.fury.io/rb/probe-dock-rspec)
6
+ [![Dependency Status](https://gemnasium.com/probe-dock/probe-dock-rspec.svg)](https://gemnasium.com/probe-dock/probe-dock-rspec)
7
+ [![Build Status](https://secure.travis-ci.org/probe-dock/probe-dock-rspec.svg)](http://travis-ci.org/probe-dock/probe-dock-rspec)
8
+ [![Coverage Status](https://coveralls.io/repos/probe-dock/probe-dock-rspec/badge.svg)](https://coveralls.io/r/probe-dock/probe-dock-rspec?branch=master)
9
+ [![License](https://img.shields.io/github/license/probe-dock/probe-dock-rspec.svg)](LICENSE.txt)
6
10
 
7
11
  ## Requirements
8
12
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.0
1
+ 0.5.1
@@ -2,7 +2,7 @@
2
2
  require 'rspec'
3
3
 
4
4
  module ProbeDockRSpec
5
- VERSION = '0.5.0'
5
+ VERSION = '0.5.1'
6
6
 
7
7
  class Error < StandardError; end
8
8
  class PayloadError < Error; end
@@ -22,7 +22,7 @@ module ProbeDockRSpec
22
22
 
23
23
  test_run.uid = @uid.load_uid
24
24
 
25
- payload_options = @server.payload_options
25
+ payload_options = {}
26
26
 
27
27
  cache_enabled = @cache_payload && load_cache
28
28
  payload_options[:cache] = @cache if cache_enabled
@@ -4,13 +4,18 @@ require 'yaml'
4
4
  module ProbeDockRSpec
5
5
 
6
6
  def self.config
7
- @config ||= Config.new.tap(&:load)
7
+ @config ||= Config.new.tap(&:load!)
8
8
  end
9
9
 
10
10
  def self.configure options = {}
11
+
11
12
  yield config if block_given?
13
+
14
+ config.check!
12
15
  config.load_warnings.each{ |w| warn Paint["Probe Dock - #{w}", :yellow] }
16
+
13
17
  config.setup! if options[:setup] != false
18
+
14
19
  config
15
20
  end
16
21
 
@@ -22,6 +27,7 @@ module ProbeDockRSpec
22
27
 
23
28
  def initialize
24
29
  @servers = []
30
+ @server = Server.new
25
31
  @project = Project.new
26
32
  @publish, @local_mode, @cache_payload, @print_payload, @save_payload = false, false, false, false, false
27
33
  @load_warnings = []
@@ -57,7 +63,10 @@ module ProbeDockRSpec
57
63
  }.select{ |k,v| !v.nil? }
58
64
  end
59
65
 
60
- def load
66
+ def load!
67
+
68
+ @server.clear
69
+ @servers.clear
61
70
 
62
71
  @load_warnings = []
63
72
  return unless config = load_config_files
@@ -71,16 +80,20 @@ module ProbeDockRSpec
71
80
  @print_payload = parse_env_flag :print_payload, !!config[:payload][:print]
72
81
  @save_payload = parse_env_flag :save_payload, !!config[:payload][:save]
73
82
 
74
- @servers, @server = build_servers config
83
+ @servers, server = build_servers config
75
84
 
76
- if @servers.empty?
77
- @load_warnings << "No server defined"
78
- elsif !@server_name
79
- @load_warnings << "No server name given"
80
- elsif !@server
81
- @load_warnings << "Unknown server '#{@server_name}'"
85
+ if server
86
+ @server = server
87
+ else
88
+ @server.name = @server_name
82
89
  end
83
90
 
91
+ {
92
+ api_url: parse_env_option(:server_api_url),
93
+ api_token: parse_env_option(:server_api_token),
94
+ project_api_id: parse_env_option(:server_project_api_id)
95
+ }.each{ |k,v| @server.send "#{k}=", v if v }
96
+
84
97
  project_options = config[:project]
85
98
  project_options.merge! api_id: @server.project_api_id if @server and @server.project_api_id
86
99
  @project.update project_options
@@ -88,6 +101,22 @@ module ProbeDockRSpec
88
101
  self
89
102
  end
90
103
 
104
+ def check!
105
+
106
+ configs = [ home_config_file, working_config_file ]
107
+ actual_configs = configs.select{ |f| File.exists? f }
108
+
109
+ if actual_configs.empty?
110
+ @load_warnings << %|no config file found, looking for:\n #{configs.join "\n "}|
111
+ end
112
+
113
+ if @servers.empty?
114
+ @load_warnings << "No server defined"
115
+ elsif !@server_name && !@server.name
116
+ @load_warnings << "No server name given"
117
+ end
118
+ end
119
+
91
120
  private
92
121
 
93
122
  def build_servers config
@@ -105,11 +134,7 @@ module ProbeDockRSpec
105
134
 
106
135
  configs = [ home_config_file, working_config_file ]
107
136
  actual_configs = configs.select{ |f| File.exists? f }
108
-
109
- if actual_configs.empty?
110
- @load_warnings << %|no config file found, looking for:\n #{configs.join "\n "}|
111
- return false
112
- end
137
+ return false if actual_configs.empty?
113
138
 
114
139
  actual_configs.collect!{ |f| YAML.load_file f }
115
140
 
@@ -141,7 +166,7 @@ module ProbeDockRSpec
141
166
 
142
167
  def parse_env_flag name, default = false
143
168
  val = parse_env_option name
144
- val ? !!val.to_s.strip.match(/\A(1|t|true)\Z/i) : default
169
+ val ? !!val.to_s.strip.match(/\A(1|y|yes|t|true)\Z/i) : default
145
170
  end
146
171
 
147
172
  def parse_env_option name
@@ -19,7 +19,6 @@ module ProbeDockRSpec
19
19
  end
20
20
 
21
21
  def start notification
22
- # TODO: measure milliseconds
23
22
  @start_time = Time.now
24
23
  end
25
24
 
@@ -4,7 +4,7 @@ require 'httparty'
4
4
  module ProbeDockRSpec
5
5
 
6
6
  class Server
7
- attr_reader :name, :api_url, :api_token, :api_version, :project_api_id
7
+ attr_accessor :name, :api_url, :api_token, :project_api_id
8
8
 
9
9
  class Error < ProbeDockRSpec::Error
10
10
  attr_reader :response
@@ -16,15 +16,17 @@ module ProbeDockRSpec
16
16
  end
17
17
 
18
18
  def initialize options = {}
19
- @name = options[:name].to_s.strip
19
+ @name = options[:name].to_s.strip if options[:name]
20
20
  @api_url = options[:api_url].to_s if options[:api_url]
21
21
  @api_token = options[:api_token].to_s if options[:api_token]
22
- @api_version = options[:api_version] || 1
23
22
  @project_api_id = options[:project_api_id].to_s if options[:project_api_id]
24
23
  end
25
24
 
26
- def payload_options
27
- { version: @api_version }
25
+ def clear
26
+ @name = nil
27
+ @api_url = nil
28
+ @api_token = nil
29
+ @project_api_id = nil
28
30
  end
29
31
 
30
32
  def upload payload
@@ -41,8 +43,7 @@ module ProbeDockRSpec
41
43
  private
42
44
 
43
45
  def validate!
44
- required = { "apiUrl" => @api_url }
45
- required.merge!({ "apiToken" => @api_token, "projectApiId" => @project_api_id }) if @api_version >= 1
46
+ required = { "name" => @name, "apiUrl" => @api_url, "apiToken" => @api_token, "projectApiId" => @project_api_id }
46
47
  missing = required.inject([]){ |memo,(k,v)| v.to_s.strip.length <= 0 ? memo << k : memo }
47
48
  raise Error.new("Server #{@name} is missing the following options: #{missing.join ', '}") if missing.any?
48
49
  end
metadata CHANGED
@@ -1,182 +1,194 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: probe-dock-rspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
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-05-09 00:00:00.000000000 Z
11
+ date: 2015-05-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: oj
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '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
40
  version: '2.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: httparty
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: !binary |-
48
- MC4xMw==
47
+ version: '0.13'
49
48
  type: :runtime
50
49
  prerelease: false
51
50
  version_requirements: !ruby/object:Gem::Requirement
52
51
  requirements:
53
- - - ~>
52
+ - - "~>"
54
53
  - !ruby/object:Gem::Version
55
- version: !binary |-
56
- MC4xMw==
54
+ version: '0.13'
57
55
  - !ruby/object:Gem::Dependency
58
56
  name: paint
59
57
  requirement: !ruby/object:Gem::Requirement
60
58
  requirements:
61
- - - ~>
59
+ - - "~>"
62
60
  - !ruby/object:Gem::Version
63
61
  version: '1.0'
64
62
  type: :runtime
65
63
  prerelease: false
66
64
  version_requirements: !ruby/object:Gem::Requirement
67
65
  requirements:
68
- - - ~>
66
+ - - "~>"
69
67
  - !ruby/object:Gem::Version
70
68
  version: '1.0'
71
69
  - !ruby/object:Gem::Dependency
72
70
  name: rake
73
71
  requirement: !ruby/object:Gem::Requirement
74
72
  requirements:
75
- - - ~>
73
+ - - "~>"
76
74
  - !ruby/object:Gem::Version
77
75
  version: '10.1'
78
76
  type: :runtime
79
77
  prerelease: false
80
78
  version_requirements: !ruby/object:Gem::Requirement
81
79
  requirements:
82
- - - ~>
80
+ - - "~>"
83
81
  - !ruby/object:Gem::Version
84
82
  version: '10.1'
85
83
  - !ruby/object:Gem::Dependency
86
84
  name: jeweler
87
85
  requirement: !ruby/object:Gem::Requirement
88
86
  requirements:
89
- - - ~>
87
+ - - "~>"
90
88
  - !ruby/object:Gem::Version
91
89
  version: '2.0'
92
90
  type: :development
93
91
  prerelease: false
94
92
  version_requirements: !ruby/object:Gem::Requirement
95
93
  requirements:
96
- - - ~>
94
+ - - "~>"
97
95
  - !ruby/object:Gem::Version
98
96
  version: '2.0'
99
97
  - !ruby/object:Gem::Dependency
100
98
  name: rake-version
101
99
  requirement: !ruby/object:Gem::Requirement
102
100
  requirements:
103
- - - ~>
101
+ - - "~>"
104
102
  - !ruby/object:Gem::Version
105
- version: !binary |-
106
- MC40
103
+ version: '0.4'
107
104
  type: :development
108
105
  prerelease: false
109
106
  version_requirements: !ruby/object:Gem::Requirement
110
107
  requirements:
111
- - - ~>
108
+ - - "~>"
112
109
  - !ruby/object:Gem::Version
113
- version: !binary |-
114
- MC40
110
+ version: '0.4'
115
111
  - !ruby/object:Gem::Dependency
116
112
  name: simplecov
117
113
  requirement: !ruby/object:Gem::Requirement
118
114
  requirements:
119
- - - ~>
115
+ - - "~>"
120
116
  - !ruby/object:Gem::Version
121
117
  version: '0.10'
122
118
  type: :development
123
119
  prerelease: false
124
120
  version_requirements: !ruby/object:Gem::Requirement
125
121
  requirements:
126
- - - ~>
122
+ - - "~>"
127
123
  - !ruby/object:Gem::Version
128
124
  version: '0.10'
129
125
  - !ruby/object:Gem::Dependency
130
126
  name: fakefs
131
127
  requirement: !ruby/object:Gem::Requirement
132
128
  requirements:
133
- - - ~>
129
+ - - "~>"
134
130
  - !ruby/object:Gem::Version
135
131
  version: '0.6'
136
132
  type: :development
137
133
  prerelease: false
138
134
  version_requirements: !ruby/object:Gem::Requirement
139
135
  requirements:
140
- - - ~>
136
+ - - "~>"
141
137
  - !ruby/object:Gem::Version
142
138
  version: '0.6'
143
139
  - !ruby/object:Gem::Dependency
144
140
  name: rspec-its
145
141
  requirement: !ruby/object:Gem::Requirement
146
142
  requirements:
147
- - - ~>
143
+ - - "~>"
148
144
  - !ruby/object:Gem::Version
149
145
  version: '1.2'
150
146
  type: :development
151
147
  prerelease: false
152
148
  version_requirements: !ruby/object:Gem::Requirement
153
149
  requirements:
154
- - - ~>
150
+ - - "~>"
155
151
  - !ruby/object:Gem::Version
156
152
  version: '1.2'
157
153
  - !ruby/object:Gem::Dependency
158
154
  name: rspec-collection_matchers
159
155
  requirement: !ruby/object:Gem::Requirement
160
156
  requirements:
161
- - - ~>
157
+ - - "~>"
162
158
  - !ruby/object:Gem::Version
163
159
  version: '1.1'
164
160
  type: :development
165
161
  prerelease: false
166
162
  version_requirements: !ruby/object:Gem::Requirement
167
163
  requirements:
168
- - - ~>
164
+ - - "~>"
169
165
  - !ruby/object:Gem::Version
170
166
  version: '1.1'
167
+ - !ruby/object:Gem::Dependency
168
+ name: coveralls
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '0.8'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '0.8'
171
181
  description: RSpec client to publish test results to Probe Dock, a test tracking and
172
182
  analysis server.
173
183
  email: simon.oulevay@gmail.com
174
184
  executables: []
175
185
  extensions: []
176
186
  extra_rdoc_files:
187
+ - CHANGELOG.md
177
188
  - LICENSE.txt
178
189
  - README.md
179
190
  files:
191
+ - CHANGELOG.md
180
192
  - Gemfile
181
193
  - LICENSE.txt
182
194
  - README.md
@@ -204,17 +216,17 @@ require_paths:
204
216
  - lib
205
217
  required_ruby_version: !ruby/object:Gem::Requirement
206
218
  requirements:
207
- - - ! '>='
219
+ - - ">="
208
220
  - !ruby/object:Gem::Version
209
221
  version: '0'
210
222
  required_rubygems_version: !ruby/object:Gem::Requirement
211
223
  requirements:
212
- - - ! '>='
224
+ - - ">="
213
225
  - !ruby/object:Gem::Version
214
226
  version: '0'
215
227
  requirements: []
216
228
  rubyforge_project:
217
- rubygems_version: 2.4.5
229
+ rubygems_version: 2.4.6
218
230
  signing_key:
219
231
  specification_version: 4
220
232
  summary: RSpec client to publish test results to Probe Dock.