probe-dock-rspec 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
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.