howitzer 1.1.0 → 1.1.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
  SHA1:
3
- metadata.gz: a374cf3c69c1e057678dfed76d2a45df4fe72091
4
- data.tar.gz: 57021f22549c5393fb74e74e25bf26a24454d54a
3
+ metadata.gz: 822093c8e01134d6819f07781fcfc9533ec21191
4
+ data.tar.gz: b6081c2e41b5c78b2c6cdbdb31e088021c9b1cad
5
5
  SHA512:
6
- metadata.gz: 39064d9e1cc0c11e8134c8a30cc99ae5d3053c4f2a5ae2be5eed12afc5b95882a560ee43fbeb0000297f8c8470837b11121205b459aedffeb612c60f5ccefcbf
7
- data.tar.gz: 6fc24bf0d0e100eaad09e3965a291ab0e12b0a39cf47d7b4284f443d5cdfc8975bc985dd2e660471db39b6e542116874e11d9d7ce41c1e097f0eddde9bae99b3
6
+ metadata.gz: 1374d0e20e3ffeeb0ac2feb61680b1edfef288cb56554b624adf2307e9f27b264111047692393ea117c4f60aebc4cd3fcdfab0810abaabeed1dd3b680063f779
7
+ data.tar.gz: 63bf664720ec9d50af9b3d0118dae1f7669ae4f0c47de50a589675fa86e3787528f95a33b06f77e0bb8b40c307c0858c2594f027dd4b135c009b08c7e35a0ce7
data/.travis.yml CHANGED
@@ -1,8 +1,9 @@
1
1
  language: ruby
2
+ before_install:
3
+ - gem install bundler
2
4
  rvm:
3
5
  - 1.9.3
4
6
  - 2.0.0
5
- - 2.1.6
6
- - 2.2.0
7
- - 2.2.1
8
- - 2.2.2
7
+ - 2.1.10
8
+ - 2.2.5
9
+ - 2.3.1
data/CHANGELOG.md CHANGED
@@ -1,9 +1,15 @@
1
- ## [In git](https://github.com/strongqa/howitzer/compare/v1.1.0...master)
1
+ ## [In git](https://github.com/strongqa/howitzer/compare/v1.1.1...master)
2
2
 
3
3
  ### New Features
4
4
 
5
5
  ### Bugfixes
6
6
 
7
+ ## [v1.1.1](https://github.com/strongqa/howitzer/compare/v1.1.0...v1.1.1)
8
+
9
+ ### Bugfixes
10
+ - fixed problem with Mailgun
11
+ - fixed problems with gems
12
+
7
13
  ## [v1.1.0](https://github.com/strongqa/howitzer/compare/v1.0.2...v1.1.0)
8
14
 
9
15
  ### New Features
@@ -67,7 +73,7 @@ It is major release, so there are many new features, refactoring, unit tests, co
67
73
 
68
74
  ### Bugfixes
69
75
 
70
- * Fixed problem with dependencies
76
+ * Fixed problem with dependencies
71
77
 
72
78
  ## [v0.0.1](https://github.com/strongqa/howitzer/tree/v0.0.1)
73
79
 
data/Gemfile CHANGED
@@ -4,4 +4,4 @@ group :test do
4
4
  gem 'coveralls', require: false
5
5
  gem 'simplecov', require: false
6
6
  end
7
- gemspec
7
+ gemspec
data/howitzer.gemspec CHANGED
@@ -19,6 +19,8 @@ Gem::Specification.new do |gem|
19
19
  gem.required_ruby_version = '>= 1.9.3'
20
20
 
21
21
  gem.add_runtime_dependency 'nokogiri', '~> 1.6' if gem.platform.to_s =~ /mswin|mingw/
22
+ gem.add_runtime_dependency 'rack', '~> 1.0'
23
+ gem.add_runtime_dependency 'tins', '1.6.0'
22
24
  gem.add_runtime_dependency 'rake'
23
25
  gem.add_runtime_dependency 'gli'
24
26
  gem.add_runtime_dependency 'syntax'
@@ -28,7 +30,7 @@ Gem::Specification.new do |gem|
28
30
  gem.add_runtime_dependency 'repeater'
29
31
  gem.add_runtime_dependency 'launchy'
30
32
  gem.add_runtime_dependency 'log4r', '~>1.1.10'
31
- gem.add_runtime_dependency 'rest-client'
33
+ gem.add_runtime_dependency 'rest-client', '~>1.8'
32
34
  gem.add_runtime_dependency 'poltergeist'
33
35
  gem.add_runtime_dependency 'rawler'
34
36
  gem.add_runtime_dependency 'capybara'
@@ -325,7 +325,7 @@ module Capybara
325
325
  Capybara.run_server = false
326
326
  Capybara.app_host = ''
327
327
  Capybara.asset_host = app_base_url
328
- Capybara.default_wait_time = settings.timeout_small
328
+ Capybara.default_max_wait_time = settings.timeout_small
329
329
  Capybara.ignore_hidden_elements = true
330
330
  Capybara.visible_text_only = true
331
331
  Capybara.match = :one
@@ -340,4 +340,4 @@ end
340
340
 
341
341
  # @deprecated
342
342
  #
343
- CapybaraSettings = Capybara::Settings
343
+ CapybaraSettings = Capybara::Settings
@@ -46,7 +46,7 @@ class Email
46
46
  hash['message']['recipients'].first == recipient && hash['message']['headers']['subject'] == subject
47
47
  end
48
48
  if event
49
- message = Mailgun::Connector.instance.client.get("domains/#{Mailgun::Connector.instance.domain}/messages/#{event['storage']['key']}").to_h
49
+ message = Mailgun::Connector.instance.client.get_url(event['storage']['url']).to_h
50
50
  else
51
51
  raise Howitzer::EmailNotFoundError.new('Message not received yet, retry...')
52
52
  end
@@ -131,4 +131,4 @@ class Email
131
131
  end
132
132
  files
133
133
  end
134
- end
134
+ end
@@ -10,9 +10,11 @@ module Mailgun
10
10
  # of communicating with our API.
11
11
 
12
12
  class Client
13
+ attr_reader :api_key
13
14
 
14
- def initialize(api_key, api_host="api.mailgun.net", api_version="v2", ssl=true)
15
+ def initialize(api_key, api_host="api.mailgun.net", api_version="v3", ssl=true)
15
16
  endpoint = endpoint_generator(api_host, api_version, ssl)
17
+ @api_key = api_key
16
18
  @http_client = RestClient::Resource.new(endpoint,
17
19
  :user => "api",
18
20
  :password => api_key,
@@ -36,6 +38,21 @@ module Mailgun
36
38
  log.error Howitzer::CommunicationError, e.message
37
39
  end
38
40
 
41
+ def get_url(url, params=nil, accept="*/*")
42
+ response = ::RestClient::Request.execute(
43
+ method: :get,
44
+ url: url,
45
+ user: 'api',
46
+ password: api_key,
47
+ user_agent: 'mailgun-sdk-ruby',
48
+ accept: accept,
49
+ params: params
50
+ )
51
+ Response.new(response)
52
+ rescue => e
53
+ log.error Howitzer::CommunicationError, e.message
54
+ end
55
+
39
56
  private
40
57
 
41
58
  def endpoint_generator(api_host, api_version, ssl)
@@ -1,3 +1,3 @@
1
1
  module Howitzer
2
- VERSION = "1.1.0"
2
+ VERSION = "1.1.1"
3
3
  end
@@ -174,19 +174,6 @@ RSpec.describe 'Capybara::Settings' do
174
174
  end
175
175
  end
176
176
 
177
- context "and opera browser" do
178
- before do
179
- allow(Capybara::Settings).to receive(:ie_browser?).and_return(false)
180
- allow(Capybara::Settings).to receive(:ff_browser?).and_return(false)
181
- allow(Capybara::Settings).to receive(:chrome_browser?).and_return(false)
182
- allow(Capybara::Settings).to receive(:opera_browser?).and_return(true)
183
- end
184
- it do
185
- expect(subject.call).to be_an_instance_of(Capybara::Selenium::Driver)
186
- expect(subject.call.options[:desired_capabilities][:browser_name]).to eq('opera')
187
- end
188
- end
189
-
190
177
  context "and safari browser" do
191
178
  before do
192
179
  allow(Capybara::Settings).to receive(:ie_browser?).and_return(false)
@@ -451,4 +438,4 @@ RSpec.describe 'Capybara::Settings' do
451
438
  it { is_expected.to eq('') }
452
439
  end
453
440
  end
454
- end
441
+ end
@@ -44,10 +44,23 @@ RSpec.describe 'Email' do
44
44
  let(:events) { double(to_h: {'items' => [event]}) }
45
45
  subject { Email.find(recipient, message_subject) }
46
46
  context 'when message is found' do
47
- let(:event) { {'message' => {'recipients' => [recipient], 'headers' => {'subject' => message_subject} }, 'storage' => {'key' => '1234567890'} } }
47
+ let(:url) { 'https://mailgun.com/domains/mailgun@test.domain/messages/1234567890' }
48
+ let(:event) do
49
+ {
50
+ 'message' => {
51
+ 'recipients' => [recipient],
52
+ 'headers' => {
53
+ 'subject' => message_subject
54
+ }
55
+ },
56
+ 'storage' => {
57
+ 'url' => url
58
+ }
59
+ }
60
+ end
48
61
  before do
49
62
  allow(Mailgun::Connector.instance.client).to receive(:get).with('mailgun@test.domain/events', event: 'stored').ordered.once {events}
50
- allow(Mailgun::Connector.instance.client).to receive(:get).with('domains/mailgun@test.domain/messages/1234567890').ordered.once { mailgun_message }
63
+ allow(Mailgun::Connector.instance.client).to receive(:get_url).with(url).ordered.once { mailgun_message }
51
64
  end
52
65
  it do
53
66
  expect(Email).to receive(:new).with(message).once
@@ -126,4 +139,4 @@ RSpec.describe 'Email' do
126
139
  end
127
140
  end
128
141
  end
129
- end
142
+ end
@@ -19,11 +19,10 @@ RSpec.describe Mailgun::Response do
19
19
  it { is_expected.to eq({'foo' => 'bar'})}
20
20
  end
21
21
  context 'when impossible parse body' do
22
- let(:body) { '123' }
22
+ let(:body) { "123" }
23
23
  it do
24
- expect(log).to receive(:error).with(Howitzer::ParseError, "757: unexpected token at '123'").once.and_call_original
25
24
  expect { subject }.to raise_error(Howitzer::ParseError)
26
25
  end
27
26
  end
28
27
  end
29
- end
28
+ end
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: howitzer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roman Parashchenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-15 00:00:00.000000000 Z
11
+ date: 2016-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rack
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: tins
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 1.6.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 1.6.0
13
41
  - !ruby/object:Gem::Dependency
14
42
  name: rake
15
43
  requirement: !ruby/object:Gem::Requirement
@@ -140,16 +168,16 @@ dependencies:
140
168
  name: rest-client
141
169
  requirement: !ruby/object:Gem::Requirement
142
170
  requirements:
143
- - - ">="
171
+ - - "~>"
144
172
  - !ruby/object:Gem::Version
145
- version: '0'
173
+ version: '1.8'
146
174
  type: :runtime
147
175
  prerelease: false
148
176
  version_requirements: !ruby/object:Gem::Requirement
149
177
  requirements:
150
- - - ">="
178
+ - - "~>"
151
179
  - !ruby/object:Gem::Version
152
- version: '0'
180
+ version: '1.8'
153
181
  - !ruby/object:Gem::Dependency
154
182
  name: poltergeist
155
183
  requirement: !ruby/object:Gem::Requirement
@@ -425,7 +453,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
425
453
  version: '0'
426
454
  requirements: []
427
455
  rubyforge_project:
428
- rubygems_version: 2.4.5
456
+ rubygems_version: 2.6.6
429
457
  signing_key:
430
458
  specification_version: 4
431
459
  summary: Ruby based framework for acceptance testing
@@ -470,4 +498,3 @@ test_files:
470
498
  - spec/unit/lib/utils/page_validator_spec.rb
471
499
  - spec/unit/lib/web_page_spec.rb
472
500
  - spec/unit/version_spec.rb
473
- has_rdoc: