vacuum 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,40 @@
1
+ require 'minitest/autorun'
2
+ require 'minitest/pride'
3
+ require 'vcr'
4
+ require_relative '../lib/vacuum'
5
+
6
+ VCR.configure do |c|
7
+ c.hook_into :excon
8
+ c.cassette_library_dir = 'test/cassettes'
9
+ c.default_cassette_options = {
10
+ match_requests_on: [VCR.request_matchers.uri_without_param(
11
+ 'AWSAccessKeyId', 'AssociateTag', 'Signature', 'Timestamp'
12
+ )],
13
+ record: :new_episodes
14
+ }
15
+ end
16
+
17
+ class TestIntegration < Minitest::Test
18
+ include Vacuum
19
+
20
+ def setup
21
+ VCR.insert_cassette('vacuum')
22
+ end
23
+
24
+ def teardown
25
+ VCR.eject_cassette
26
+ end
27
+
28
+ def test_encoding_issues
29
+ params = { 'SearchIndex' => 'All', 'Keywords' => 'google' }
30
+
31
+ %w(CA CN DE ES FR GB IN IT JP US).each do |locale|
32
+ req = Vacuum.new(locale)
33
+ req.associate_tag = 'foo'
34
+ res = req.item_search(query: params)
35
+ item = res.to_h['ItemSearchResponse']['Items']['Item'].sample
36
+
37
+ assert_equal 'UTF-8', item['ASIN'].encoding.name
38
+ end
39
+ end
40
+ end
data/test/test_vacuum.rb CHANGED
@@ -35,4 +35,10 @@ class TestVacuum < Minitest::Test
35
35
  res = req.item_lookup(query: {}, mock: true)
36
36
  refute_empty res.to_h
37
37
  end
38
+
39
+ def test_force_encodes_body
40
+ res = Object.new
41
+ def res.body; String.new.force_encoding('ASCII-8BIT'); end
42
+ assert_equal 'UTF-8', Response.new(res).body.encoding.name
43
+ end
38
44
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vacuum
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
  - Hakan Ensari
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-19 00:00:00.000000000 Z
11
+ date: 2014-06-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jeff
@@ -66,6 +66,34 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: appraisal
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: vcr
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
69
97
  description: A wrapper to the Amazon Product Advertising API
70
98
  email:
71
99
  - hakan.ensari@papercavalier.com
@@ -79,6 +107,8 @@ files:
79
107
  - lib/vacuum/request.rb
80
108
  - lib/vacuum/response.rb
81
109
  - lib/vacuum/version.rb
110
+ - test/cassettes/vacuum.yml
111
+ - test/test_integration.rb
82
112
  - test/test_vacuum.rb
83
113
  homepage: https://github.com/hakanensari/vacuum
84
114
  licenses:
@@ -105,4 +135,6 @@ signing_key:
105
135
  specification_version: 4
106
136
  summary: Amazon Product Advertising in Ruby
107
137
  test_files:
138
+ - test/cassettes/vacuum.yml
139
+ - test/test_integration.rb
108
140
  - test/test_vacuum.rb