access 2.0.48 → 2.0.49
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 +4 -4
- data/.env.sample +8 -0
- data/.gitignore +1 -0
- data/Gemfile.lock +3 -1
- data/README.md +4 -0
- data/access.gemspec +1 -0
- data/bin/console +2 -1
- data/lib/access/api.rb +4 -4
- data/lib/access/favorite.rb +2 -2
- data/lib/access/version.rb +1 -1
- data/test/access/autocomplete_test.rb +5 -5
- data/test/access/campaign_test.rb +3 -3
- data/test/access/category_test.rb +5 -5
- data/test/access/channel_test.rb +6 -6
- data/test/access/device_test.rb +4 -4
- data/test/access/favorite_test.rb +61 -54
- data/test/access/filter_test.rb +3 -3
- data/test/access/location_test.rb +4 -4
- data/test/access/member_test.rb +3 -3
- data/test/access/oauth_application_test.rb +6 -7
- data/test/access/offer_test.rb +9 -9
- data/test/access/redeem_test.rb +3 -3
- data/test/access/redemption_test.rb +4 -5
- data/test/access/report_test.rb +14 -14
- data/test/access/spot_test.rb +4 -4
- data/test/access/store_test.rb +5 -5
- data/test/access/token_test.rb +3 -3
- data/test/access/user_test.rb +19 -15
- data/test/access/verify_test.rb +2 -2
- data/test/test_helper.rb +6 -3
- data/test/vcr/cassettes/{autocomplete_search_categories.yml → autocomplete/search_categories.yml} +8 -8
- data/test/vcr/cassettes/autocomplete/search_first.yml +94 -0
- data/test/vcr/cassettes/autocomplete/search_locations.yml +71 -0
- data/test/vcr/cassettes/{autocomplete_search_offers.yml → autocomplete/search_offers.yml} +10 -10
- data/test/vcr/cassettes/{autocomplete_search_stores.yml → autocomplete/search_stores.yml} +11 -11
- data/test/vcr/cassettes/campaign/search.yml +1021 -0
- data/test/vcr/cassettes/{category_find.yml → category/find.yml} +29 -29
- data/test/vcr/cassettes/category/search.yml +1588 -0
- data/test/vcr/cassettes/{location_search_fail_member_key.yml → category/search_fail_member_key.yml} +6 -6
- data/test/vcr/cassettes/{category_search.yml → category/search_first.yml} +739 -787
- data/test/vcr/cassettes/{subcategory_find.yml → category/subcategory_find.yml} +28 -28
- data/test/vcr/cassettes/{channel_search.yml → channel/search.yml} +3 -3
- data/test/vcr/cassettes/favorite/create_generic_with_offer.yml +126 -0
- data/test/vcr/cassettes/{favorite_create_offer.yml → favorite/create_location.yml} +7 -7
- data/test/vcr/cassettes/favorite/create_offer.yml +126 -0
- data/test/vcr/cassettes/favorite/create_store.yml +94 -0
- data/test/vcr/cassettes/favorite/delete_generic_with_offer.yml +171 -0
- data/test/vcr/cassettes/favorite/delete_location.yml +203 -0
- data/test/vcr/cassettes/favorite/delete_offer.yml +294 -0
- data/test/vcr/cassettes/favorite/delete_store.yml +258 -0
- data/test/vcr/cassettes/favorite/find_generic_with_offer.yml +323 -0
- data/test/vcr/cassettes/favorite/find_location.yml +158 -0
- data/test/vcr/cassettes/favorite/find_offer.yml +323 -0
- data/test/vcr/cassettes/favorite/find_store.yml +213 -0
- data/test/vcr/cassettes/{favorite_one_of_everything.yml → favorite/one_of_everything.yml} +181 -58
- data/test/vcr/cassettes/favorite/search.yml +346 -0
- data/test/vcr/cassettes/favorite/search_bad_member.yml +66 -0
- data/test/vcr/cassettes/favorite/search_locations.yml +113 -0
- data/test/vcr/cassettes/favorite/search_no_favorites.yml +66 -0
- data/test/vcr/cassettes/favorite/search_offers.yml +200 -0
- data/test/vcr/cassettes/favorite/search_stores.yml +178 -0
- data/test/vcr/cassettes/filter/find.yml +66 -0
- data/test/vcr/cassettes/{filter_search.yml → filter/search.yml} +12 -12
- data/test/vcr/cassettes/filter/search_first.yml +75 -0
- data/test/vcr/cassettes/location/find.yml +680 -0
- data/test/vcr/cassettes/location/search.yml +123 -0
- data/test/vcr/cassettes/{category_search_fail_member_key.yml → location/search_fail_member_key.yml} +6 -6
- data/test/vcr/cassettes/location/search_first.yml +123 -0
- data/test/vcr/cassettes/{member_show_failure.yml → member/show_failure.yml} +3 -3
- data/test/vcr/cassettes/{member_show_success.yml → member/show_success.yml} +5 -5
- data/test/vcr/cassettes/{favorite_delete_generic_with_offer.yml → member/update_success.yml} +7 -7
- data/test/vcr/cassettes/{member_authenticate_cvt_failure.yml → member_authenticate/cvt_failure.yml} +4 -4
- data/test/vcr/cassettes/{member_authenticate_cvt_success.yml → member_authenticate/cvt_success.yml} +6 -6
- data/test/vcr/cassettes/{member_authenticate_failure.yml → member_authenticate/failure.yml} +4 -4
- data/test/vcr/cassettes/{member_authenticate_member_key_failure.yml → member_authenticate/member_key_failure.yml} +3 -3
- data/test/vcr/cassettes/{member_authenticate_member_key_success.yml → member_authenticate/member_key_success.yml} +3 -3
- data/test/vcr/cassettes/{member_authenticate_success.yml → member_authenticate/success.yml} +5 -5
- data/test/vcr/cassettes/{member_device_search_failure.yml → member_device/search_failure.yml} +3 -3
- data/test/vcr/cassettes/member_device/search_success.yml +63 -0
- data/test/vcr/cassettes/{oauth_application_find.yml → oauth_application/find.yml} +19 -15
- data/test/vcr/cassettes/{oauth_application_search.yml → oauth_application/search.yml} +23 -19
- data/test/vcr/cassettes/oauth_application/search_oauth_first.yml +95 -0
- data/test/vcr/cassettes/oauth_application/token_find.yml +95 -0
- data/test/vcr/cassettes/oauth_application/token_search.yml +720 -0
- data/test/vcr/cassettes/oauth_application/token_search_tokens_first.yml +242 -0
- data/test/vcr/cassettes/offer/find.yml +158 -0
- data/test/vcr/cassettes/{offer_find_uses_remaining.yml → offer/find_uses_remaining.yml} +10 -10
- data/test/vcr/cassettes/offer/find_with_offer_uses_remaining.yml +158 -0
- data/test/vcr/cassettes/offer/search.yml +159 -0
- data/test/vcr/cassettes/{offer_search_fail_member_key.yml → offer/search_fail_member_key.yml} +6 -6
- data/test/vcr/cassettes/offer/search_first.yml +159 -0
- data/test/vcr/cassettes/offer/search_for_redeem.yml +159 -0
- data/test/vcr/cassettes/offer/with_aggregations.yml +1046 -0
- data/test/vcr/cassettes/redeem/offer_no_redeem_type.yml +36 -0
- data/test/vcr/cassettes/redeem/offer_with_redeem_type.yml +36 -0
- data/test/vcr/cassettes/redeem/redeem_offer_with_redeem_type_for_uses_remaining_test.yml +36 -0
- data/test/vcr/cassettes/redemption/find_by_member_key.yml +133 -0
- data/test/vcr/cassettes/redemption/search_by_member_key.yml +495 -0
- data/test/vcr/cassettes/redemption/search_by_member_key_first.yml +495 -0
- data/test/vcr/cassettes/{search_redemption_by_member_key_without_redemptions.yml → redemption/search_by_member_key_without_redemptions.yml} +6 -6
- data/test/vcr/cassettes/report/all_usage.yml +156 -0
- data/test/vcr/cassettes/{member_location_frequent.yml → report/member_location_frequent.yml} +6 -10
- data/test/vcr/cassettes/{member_location_recent.yml → report/member_location_recent.yml} +6 -6
- data/test/vcr/cassettes/{member_query_frequent.yml → report/member_query_frequent.yml} +6 -6
- data/test/vcr/cassettes/{member_query_recent.yml → report/member_query_recent.yml} +6 -6
- data/test/vcr/cassettes/report/usage.yml +156 -0
- data/test/vcr/cassettes/report/usage_other.yml +156 -0
- data/test/vcr/cassettes/{spot_find.yml → spot/find.yml} +3 -3
- data/test/vcr/cassettes/spot/search_by_campaign.yml +2727 -0
- data/test/vcr/cassettes/spot/search_by_channel.yml +956 -0
- data/test/vcr/cassettes/spot/search_by_channel_first.yml +956 -0
- data/test/vcr/cassettes/{store_find.yml → store/find.yml} +17 -17
- data/test/vcr/cassettes/store/national_stores.yml +3057 -0
- data/test/vcr/cassettes/{store_search.yml → store/search.yml} +21 -21
- data/test/vcr/cassettes/{store_search_fail_member_key.yml → store/search_fail_member_key.yml} +6 -6
- data/test/vcr/cassettes/store/search_first.yml +95 -0
- data/test/vcr/cassettes/token/find.yml +107 -0
- data/test/vcr/cassettes/token/get_first_token.yml +121 -0
- data/test/vcr/cassettes/token/search.yml +121 -0
- data/test/vcr/cassettes/{user_register_failure.yml → user_register/failure.yml} +4 -4
- data/test/vcr/cassettes/user_register/success.yml +101 -0
- data/test/vcr/cassettes/{user_update_success.yml → user_update/success.yml} +8 -6
- data/test/vcr/cassettes/{verify_filter.yml → verify/filter.yml} +41 -124
- data/test/vcr/cassettes/{verify_token.yml → verify/token.yml} +14 -11
- metadata +205 -174
- data/test/vcr/cassettes/all_usage.yml +0 -84
- data/test/vcr/cassettes/autocomplete_search.yml +0 -84
- data/test/vcr/cassettes/autocomplete_search_locations.yml +0 -66
- data/test/vcr/cassettes/campaign_find.yml +0 -232
- data/test/vcr/cassettes/campaign_search.yml +0 -1258
- data/test/vcr/cassettes/channel_find.yml +0 -57
- data/test/vcr/cassettes/favorite_create_generic_with_offer.yml +0 -93
- data/test/vcr/cassettes/favorite_create_location.yml +0 -91
- data/test/vcr/cassettes/favorite_create_store.yml +0 -92
- data/test/vcr/cassettes/favorite_delete_location.yml +0 -94
- data/test/vcr/cassettes/favorite_delete_offer.yml +0 -93
- data/test/vcr/cassettes/favorite_delete_store.yml +0 -94
- data/test/vcr/cassettes/favorite_find_generic_with_offer.yml +0 -93
- data/test/vcr/cassettes/favorite_find_location.yml +0 -179
- data/test/vcr/cassettes/favorite_find_offer.yml +0 -93
- data/test/vcr/cassettes/favorite_find_store.yml +0 -181
- data/test/vcr/cassettes/favorite_search.yml +0 -131
- data/test/vcr/cassettes/favorite_search_bad_member.yml +0 -49
- data/test/vcr/cassettes/favorite_search_locations.yml +0 -99
- data/test/vcr/cassettes/favorite_search_no_favorites.yml +0 -49
- data/test/vcr/cassettes/favorite_search_offers.yml +0 -169
- data/test/vcr/cassettes/favorite_search_stores.yml +0 -92
- data/test/vcr/cassettes/filter_find.yml +0 -174
- data/test/vcr/cassettes/find_redemption_by_member_key.yml +0 -131
- data/test/vcr/cassettes/location_find.yml +0 -505
- data/test/vcr/cassettes/location_search.yml +0 -123
- data/test/vcr/cassettes/member_device_search_success.yml +0 -48
- data/test/vcr/cassettes/member_update_success.yml +0 -183
- data/test/vcr/cassettes/national_stores.yml +0 -1914
- data/test/vcr/cassettes/oauth_application_token_find.yml +0 -92
- data/test/vcr/cassettes/oauth_application_token_search.yml +0 -95
- data/test/vcr/cassettes/offer_find.yml +0 -149
- data/test/vcr/cassettes/offer_find_with_offer_uses_remaining.yml +0 -149
- data/test/vcr/cassettes/offer_search.yml +0 -148
- data/test/vcr/cassettes/offer_with_aggregations.yml +0 -934
- data/test/vcr/cassettes/redeem_offer_no_redeem_type.yml +0 -38
- data/test/vcr/cassettes/redeem_offer_with_redeem_type.yml +0 -38
- data/test/vcr/cassettes/redeem_offer_with_redeem_type_for_uses_remaining_test.yml +0 -38
- data/test/vcr/cassettes/search_redemption_by_member_key.yml +0 -762
- data/test/vcr/cassettes/spot_search_by_campaign.yml +0 -2954
- data/test/vcr/cassettes/spot_search_by_channel.yml +0 -1192
- data/test/vcr/cassettes/token_find.yml +0 -99
- data/test/vcr/cassettes/token_get_first_token.yml +0 -113
- data/test/vcr/cassettes/token_search.yml +0 -113
- data/test/vcr/cassettes/usage.yml +0 -84
- data/test/vcr/cassettes/usage_other.yml +0 -84
- data/test/vcr/cassettes/user_register_success.yml +0 -50
data/test/access/user_test.rb
CHANGED
@@ -3,18 +3,18 @@ require './test/test_helper'
|
|
3
3
|
class UserTest < Minitest::Test
|
4
4
|
|
5
5
|
def test_user_register_success
|
6
|
-
VCR.use_cassette('
|
6
|
+
VCR.use_cassette('user_register/success') do
|
7
7
|
request = Access::User.register registration_params.merge(api_environment: 'stage')
|
8
8
|
assert request.success
|
9
9
|
assert_kind_of Access::UserResponse, request
|
10
10
|
assert_kind_of Array, request.users
|
11
11
|
assert_equal 1, request.users.count
|
12
|
-
assert_kind_of Access::
|
12
|
+
assert_kind_of Access::Member, request.users.first
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
16
|
def test_user_register_failure
|
17
|
-
VCR.use_cassette('
|
17
|
+
VCR.use_cassette('user_register/failure') do
|
18
18
|
request = Access::User.register registration_params.merge(email: nil, api_environment: 'stage')
|
19
19
|
refute request.success
|
20
20
|
assert_equal 400, request.status
|
@@ -25,18 +25,22 @@ class UserTest < Minitest::Test
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def test_user_update_success
|
28
|
-
VCR.use_cassette('
|
29
|
-
request = Access::User.update email: 'cs@test.com', password: 'password', api_environment: 'stage', program_id: '2412', postal_code: '84101'
|
28
|
+
VCR.use_cassette('user_update/success') do
|
29
|
+
request = Access::User.update email: 'cs@test.com', password: 'password', api_environment: 'stage', program_id: '2412', postal_code: '84101', member_key: '226872'
|
30
30
|
assert request.success
|
31
31
|
assert_kind_of Access::UserResponse, request
|
32
|
-
assert_kind_of Array, request.
|
33
|
-
assert_equal 1, request.
|
34
|
-
assert_kind_of Access::
|
32
|
+
assert_kind_of Array, request.members
|
33
|
+
assert_equal 1, request.members.count
|
34
|
+
assert_kind_of Access::Member, request.members.first
|
35
|
+
assert_kind_of Access::Member, request.members.first.member
|
36
|
+
assert_kind_of Access::Organization, request.members.first.organization
|
37
|
+
assert_kind_of Access::Program, request.members.first.program
|
38
|
+
assert_kind_of Access::User, request.members.first.user
|
35
39
|
end
|
36
40
|
end
|
37
41
|
|
38
42
|
def test_authenticate_success
|
39
|
-
VCR.use_cassette('
|
43
|
+
VCR.use_cassette('member_authenticate/success') do
|
40
44
|
request = Access::User.authenticate email: 'ben@test.com', password: 'password', api_environment: 'stage'
|
41
45
|
assert request.success
|
42
46
|
assert_kind_of Access::UserResponse, request
|
@@ -47,7 +51,7 @@ class UserTest < Minitest::Test
|
|
47
51
|
end
|
48
52
|
|
49
53
|
def test_authenticate_failure
|
50
|
-
VCR.use_cassette('
|
54
|
+
VCR.use_cassette('member_authenticate/failure') do
|
51
55
|
request = Access::User.authenticate email: 'ben@test.com', password: 'bad', api_environment: 'stage'
|
52
56
|
refute request.success
|
53
57
|
assert_equal 401, request.status
|
@@ -58,7 +62,7 @@ class UserTest < Minitest::Test
|
|
58
62
|
end
|
59
63
|
|
60
64
|
def test_authenticate_cvt_success
|
61
|
-
VCR.use_cassette('
|
65
|
+
VCR.use_cassette('member_authenticate/cvt_success') do
|
62
66
|
request = Access::User.authenticate_by_cvt cvt: '6fa6c66c4edc07b767f147a6e5fc614c20797ef0', api_environment: 'stage'
|
63
67
|
assert request.success
|
64
68
|
assert_kind_of Access::UserResponse, request
|
@@ -69,7 +73,7 @@ class UserTest < Minitest::Test
|
|
69
73
|
end
|
70
74
|
|
71
75
|
def test_authenticate_cvt_failure
|
72
|
-
VCR.use_cassette('
|
76
|
+
VCR.use_cassette('member_authenticate/cvt_failure') do
|
73
77
|
request = Access::User.authenticate_by_cvt cvt: 'thisisaverybadcvtman1234556badbadbad', api_environment: 'stage'
|
74
78
|
refute request.success
|
75
79
|
assert_equal 401, request.status
|
@@ -80,7 +84,7 @@ class UserTest < Minitest::Test
|
|
80
84
|
end
|
81
85
|
|
82
86
|
def test_authenticate_member_key_success
|
83
|
-
VCR.use_cassette('
|
87
|
+
VCR.use_cassette('member_authenticate/member_key_success') do
|
84
88
|
request = Access::User.authenticate_by_member_key member_key: '226872', api_environment: 'stage'
|
85
89
|
assert request.success
|
86
90
|
assert_kind_of Access::UserResponse, request
|
@@ -92,7 +96,7 @@ class UserTest < Minitest::Test
|
|
92
96
|
end
|
93
97
|
|
94
98
|
def test_authenticate_member_key_failure
|
95
|
-
VCR.use_cassette('
|
99
|
+
VCR.use_cassette('member_authenticate/member_key_failure') do
|
96
100
|
request = Access::User.authenticate_by_member_key member_key: 'thisisaverybadmember_keyman1234556badbadbad', api_environment: 'stage'
|
97
101
|
refute request.success
|
98
102
|
assert_equal 401, request.status
|
@@ -108,7 +112,7 @@ class UserTest < Minitest::Test
|
|
108
112
|
first_name: 'RubyGem',
|
109
113
|
last_name: 'Test',
|
110
114
|
postal_code: 84047,
|
111
|
-
email: "rubygemtest
|
115
|
+
email: "rubygemtest-#{SecureRandom.hex(4)}@accessdevelopment.com",
|
112
116
|
password: 'test1234',
|
113
117
|
shared_secret: 'thanks',
|
114
118
|
program_url: "saversclub.accessdevelopment.com",
|
data/test/access/verify_test.rb
CHANGED
@@ -3,7 +3,7 @@ require './test/test_helper'
|
|
3
3
|
class VerifyTest < Minitest::Test
|
4
4
|
|
5
5
|
def test_verify_token
|
6
|
-
VCR.use_cassette('verify
|
6
|
+
VCR.use_cassette('verify/token') do
|
7
7
|
verify_response = Access::Verify.token
|
8
8
|
assert verify_response.success
|
9
9
|
assert_kind_of Access::VerifyResponse, verify_response
|
@@ -12,7 +12,7 @@ class VerifyTest < Minitest::Test
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def test_verify_filter
|
15
|
-
VCR.use_cassette('verify
|
15
|
+
VCR.use_cassette('verify/filter') do
|
16
16
|
single_filter = '{"program_filter": {"offers": [{"or":[{"terms":{"categories.category_key":[ 39, 1007, 1008, 1009, 1010, 1011, 1012 ] } }, {"terms":{"categories.category_parent_key":[ 39, 1007, 1008, 1009, 1010, 1011, 1012]} } ]}, {"not": {"or": [{"terms":{"categories.category_key":[ 1007 ] } }, {"terms":{"categories.category_parent_key":[ 1007 ] } } ] } } ] } }'
|
17
17
|
verify_response = Access::Verify.filter single_filter
|
18
18
|
assert verify_response.success
|
data/test/test_helper.rb
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
require 'dotenv'
|
2
|
+
Dotenv.load
|
3
|
+
|
1
4
|
require 'simplecov'
|
2
5
|
require 'coveralls'
|
3
6
|
require 'pry'
|
@@ -11,13 +14,13 @@ require 'minitest/focus'
|
|
11
14
|
require 'webmock/minitest'
|
12
15
|
require 'vcr'
|
13
16
|
|
17
|
+
ACCESS_ENVIRONMENT ||= "stage"
|
14
18
|
|
15
19
|
VCR.configure do |c|
|
16
20
|
c.default_cassette_options = { record: ENV["RECORD"] ? ENV["RECORD"].to_sym : :new_episodes, match_requests_on: [:body], erb: true }
|
17
21
|
c.cassette_library_dir = "test/vcr/cassettes"
|
18
22
|
c.hook_into :webmock
|
19
23
|
c.ignore_hosts 'codeclimate.com'
|
20
|
-
c.filter_sensitive_data('ACCESS_TOKEN')
|
21
|
-
|
22
|
-
end
|
24
|
+
c.filter_sensitive_data('<ACCESS_TOKEN>') { ENV['ACCESS_TOKEN'] }
|
25
|
+
c.filter_sensitive_data('<TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS>') { ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS'] }
|
23
26
|
end
|
data/test/vcr/cassettes/{autocomplete_search_categories.yml → autocomplete/search_categories.yml}
RENAMED
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://offer-
|
5
|
+
uri: https://offer-stage.adcrws.com/v1/autocomplete?member_key=API_RUBY_GEM_TEST&per_page=1&resources=categories
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -21,7 +21,7 @@ http_interactions:
|
|
21
21
|
Server:
|
22
22
|
- nginx/1.8.0
|
23
23
|
Date:
|
24
|
-
-
|
24
|
+
- Mon, 22 Feb 2016 20:31:24 GMT
|
25
25
|
Content-Type:
|
26
26
|
- application/json
|
27
27
|
Transfer-Encoding:
|
@@ -43,13 +43,13 @@ http_interactions:
|
|
43
43
|
Access-Control-Max-Age:
|
44
44
|
- '1728000'
|
45
45
|
Etag:
|
46
|
-
- '"
|
46
|
+
- '"f40494aa044559fc8cbdb374e520e8cf"'
|
47
47
|
Cache-Control:
|
48
48
|
- max-age=0, private, must-revalidate
|
49
49
|
X-Request-Id:
|
50
|
-
-
|
50
|
+
- 2df93002-053e-4b0c-8292-057711c12905
|
51
51
|
X-Runtime:
|
52
|
-
- '0.
|
52
|
+
- '0.013170'
|
53
53
|
body:
|
54
54
|
encoding: UTF-8
|
55
55
|
string: |-
|
@@ -60,11 +60,11 @@ http_interactions:
|
|
60
60
|
{
|
61
61
|
"category_name": "Air & Parking",
|
62
62
|
"category_key": 1109,
|
63
|
-
"logo_url": "https://static-
|
63
|
+
"logo_url": "https://static-stage.accessdevelopment.com/icons/travel.png"
|
64
64
|
}
|
65
65
|
]
|
66
66
|
}
|
67
67
|
}
|
68
68
|
http_version:
|
69
|
-
recorded_at:
|
70
|
-
recorded_with: VCR 3.0.
|
69
|
+
recorded_at: Mon, 22 Feb 2016 20:31:26 GMT
|
70
|
+
recorded_with: VCR 3.0.1
|
@@ -0,0 +1,94 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://offer-stage.adcrws.com/v1/autocomplete?member_key=API_RUBY_GEM_TEST&per_page=1
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Access-Token:
|
11
|
+
- ACCESS_TOKEN
|
12
|
+
Content-Type:
|
13
|
+
- application/json
|
14
|
+
Accept:
|
15
|
+
- application/json
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Server:
|
22
|
+
- nginx/1.8.0
|
23
|
+
Date:
|
24
|
+
- Mon, 22 Feb 2016 20:31:24 GMT
|
25
|
+
Content-Type:
|
26
|
+
- application/json
|
27
|
+
Transfer-Encoding:
|
28
|
+
- chunked
|
29
|
+
Connection:
|
30
|
+
- keep-alive
|
31
|
+
X-Frame-Options:
|
32
|
+
- SAMEORIGIN
|
33
|
+
X-Xss-Protection:
|
34
|
+
- 1; mode=block
|
35
|
+
X-Content-Type-Options:
|
36
|
+
- nosniff
|
37
|
+
Access-Control-Allow-Methods:
|
38
|
+
- POST, GET, PUT, DELETE, OPTIONS
|
39
|
+
Access-Control-Request-Method:
|
40
|
+
- GET
|
41
|
+
Access-Control-Allow-Headers:
|
42
|
+
- Origin, X-Requested-With, Content-Type, Accept, Authorization, Access-Token
|
43
|
+
Access-Control-Max-Age:
|
44
|
+
- '1728000'
|
45
|
+
Etag:
|
46
|
+
- '"07d676183fde23e714a9ec43501a6440"'
|
47
|
+
Cache-Control:
|
48
|
+
- max-age=0, private, must-revalidate
|
49
|
+
X-Request-Id:
|
50
|
+
- 13ac3e54-ab84-467e-ba7c-c8f55edb2d21
|
51
|
+
X-Runtime:
|
52
|
+
- '0.057423'
|
53
|
+
body:
|
54
|
+
encoding: UTF-8
|
55
|
+
string: |-
|
56
|
+
{
|
57
|
+
"suggestions": {
|
58
|
+
"query": "*",
|
59
|
+
"categories": [
|
60
|
+
{
|
61
|
+
"category_name": "Air & Parking",
|
62
|
+
"category_key": 1109,
|
63
|
+
"logo_url": "https://static-stage.accessdevelopment.com/icons/travel.png"
|
64
|
+
}
|
65
|
+
],
|
66
|
+
"stores": [
|
67
|
+
{
|
68
|
+
"store_name": "Restaurant.com",
|
69
|
+
"store_key": 18939144,
|
70
|
+
"active_offer_count": 1,
|
71
|
+
"active_location_count": 21341,
|
72
|
+
"logo_url": "https://static-stage.accessdevelopment.com/brand/482fd36a4cd8de59cc7622ab3cbfcc23a9f4097b/original.png"
|
73
|
+
}
|
74
|
+
],
|
75
|
+
"locations": [
|
76
|
+
{
|
77
|
+
"location_name": "Verizon Wireless",
|
78
|
+
"location_key": 5461172,
|
79
|
+
"active_offer_count": 37,
|
80
|
+
"logo_url": "https://static-stage.accessdevelopment.com/brand/dca89dd91ee1c8253b1070b86c9319a7a3f30352/original.png"
|
81
|
+
}
|
82
|
+
],
|
83
|
+
"offers": [
|
84
|
+
{
|
85
|
+
"offer_name": "$5 off $50 eGift Card purchase.",
|
86
|
+
"offer_key": 14254953,
|
87
|
+
"logo_url": "https://static-stage.accessdevelopment.com/brand/3b7ecda801199de2f0dc6dbdf75a1ad587baf002/original.png"
|
88
|
+
}
|
89
|
+
]
|
90
|
+
}
|
91
|
+
}
|
92
|
+
http_version:
|
93
|
+
recorded_at: Mon, 22 Feb 2016 20:31:27 GMT
|
94
|
+
recorded_with: VCR 3.0.1
|
@@ -0,0 +1,71 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://offer-stage.adcrws.com/v1/autocomplete?member_key=API_RUBY_GEM_TEST&per_page=1&resources=locations
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Access-Token:
|
11
|
+
- ACCESS_TOKEN
|
12
|
+
Content-Type:
|
13
|
+
- application/json
|
14
|
+
Accept:
|
15
|
+
- application/json
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Server:
|
22
|
+
- nginx/1.8.0
|
23
|
+
Date:
|
24
|
+
- Mon, 22 Feb 2016 20:31:24 GMT
|
25
|
+
Content-Type:
|
26
|
+
- application/json
|
27
|
+
Transfer-Encoding:
|
28
|
+
- chunked
|
29
|
+
Connection:
|
30
|
+
- keep-alive
|
31
|
+
X-Frame-Options:
|
32
|
+
- SAMEORIGIN
|
33
|
+
X-Xss-Protection:
|
34
|
+
- 1; mode=block
|
35
|
+
X-Content-Type-Options:
|
36
|
+
- nosniff
|
37
|
+
Access-Control-Allow-Methods:
|
38
|
+
- POST, GET, PUT, DELETE, OPTIONS
|
39
|
+
Access-Control-Request-Method:
|
40
|
+
- GET
|
41
|
+
Access-Control-Allow-Headers:
|
42
|
+
- Origin, X-Requested-With, Content-Type, Accept, Authorization, Access-Token
|
43
|
+
Access-Control-Max-Age:
|
44
|
+
- '1728000'
|
45
|
+
Etag:
|
46
|
+
- '"a3a59ecc47353b072f7b640fb1e3a018"'
|
47
|
+
Cache-Control:
|
48
|
+
- max-age=0, private, must-revalidate
|
49
|
+
X-Request-Id:
|
50
|
+
- 4094193b-fe7d-4756-b9ea-3b80f6764faa
|
51
|
+
X-Runtime:
|
52
|
+
- '0.032509'
|
53
|
+
body:
|
54
|
+
encoding: UTF-8
|
55
|
+
string: |-
|
56
|
+
{
|
57
|
+
"suggestions": {
|
58
|
+
"query": "*",
|
59
|
+
"locations": [
|
60
|
+
{
|
61
|
+
"location_name": "Verizon Wireless",
|
62
|
+
"location_key": 5461172,
|
63
|
+
"active_offer_count": 37,
|
64
|
+
"logo_url": "https://static-stage.accessdevelopment.com/brand/dca89dd91ee1c8253b1070b86c9319a7a3f30352/original.png"
|
65
|
+
}
|
66
|
+
]
|
67
|
+
}
|
68
|
+
}
|
69
|
+
http_version:
|
70
|
+
recorded_at: Mon, 22 Feb 2016 20:31:26 GMT
|
71
|
+
recorded_with: VCR 3.0.1
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://offer-
|
5
|
+
uri: https://offer-stage.adcrws.com/v1/autocomplete?member_key=API_RUBY_GEM_TEST&per_page=1&resources=offers
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -21,7 +21,7 @@ http_interactions:
|
|
21
21
|
Server:
|
22
22
|
- nginx/1.8.0
|
23
23
|
Date:
|
24
|
-
-
|
24
|
+
- Mon, 22 Feb 2016 20:31:22 GMT
|
25
25
|
Content-Type:
|
26
26
|
- application/json
|
27
27
|
Transfer-Encoding:
|
@@ -43,13 +43,13 @@ http_interactions:
|
|
43
43
|
Access-Control-Max-Age:
|
44
44
|
- '1728000'
|
45
45
|
Etag:
|
46
|
-
- '"
|
46
|
+
- '"7ddcaea769796fe7f433cff778104253"'
|
47
47
|
Cache-Control:
|
48
48
|
- max-age=0, private, must-revalidate
|
49
49
|
X-Request-Id:
|
50
|
-
-
|
50
|
+
- a31d6763-3f77-4a1c-9b31-91f728df19e7
|
51
51
|
X-Runtime:
|
52
|
-
- '0.
|
52
|
+
- '0.023252'
|
53
53
|
body:
|
54
54
|
encoding: UTF-8
|
55
55
|
string: |-
|
@@ -58,13 +58,13 @@ http_interactions:
|
|
58
58
|
"query": "*",
|
59
59
|
"offers": [
|
60
60
|
{
|
61
|
-
"offer_name": "$
|
62
|
-
"offer_key":
|
63
|
-
"logo_url": "https://static-
|
61
|
+
"offer_name": "$5 off $50 eGift Card purchase.",
|
62
|
+
"offer_key": 14254953,
|
63
|
+
"logo_url": "https://static-stage.accessdevelopment.com/brand/3b7ecda801199de2f0dc6dbdf75a1ad587baf002/original.png"
|
64
64
|
}
|
65
65
|
]
|
66
66
|
}
|
67
67
|
}
|
68
68
|
http_version:
|
69
|
-
recorded_at:
|
70
|
-
recorded_with: VCR 3.0.
|
69
|
+
recorded_at: Mon, 22 Feb 2016 20:31:24 GMT
|
70
|
+
recorded_with: VCR 3.0.1
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://offer-
|
5
|
+
uri: https://offer-stage.adcrws.com/v1/autocomplete?member_key=API_RUBY_GEM_TEST&per_page=1&resources=stores
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -21,7 +21,7 @@ http_interactions:
|
|
21
21
|
Server:
|
22
22
|
- nginx/1.8.0
|
23
23
|
Date:
|
24
|
-
-
|
24
|
+
- Mon, 22 Feb 2016 20:31:23 GMT
|
25
25
|
Content-Type:
|
26
26
|
- application/json
|
27
27
|
Transfer-Encoding:
|
@@ -43,13 +43,13 @@ http_interactions:
|
|
43
43
|
Access-Control-Max-Age:
|
44
44
|
- '1728000'
|
45
45
|
Etag:
|
46
|
-
- '"
|
46
|
+
- '"1c6c3f82304aac88134b4a0a2385f3e8"'
|
47
47
|
Cache-Control:
|
48
48
|
- max-age=0, private, must-revalidate
|
49
49
|
X-Request-Id:
|
50
|
-
-
|
50
|
+
- 1431ceee-2ce5-4788-bbd8-1173075d8bcf
|
51
51
|
X-Runtime:
|
52
|
-
- '0.
|
52
|
+
- '0.016532'
|
53
53
|
body:
|
54
54
|
encoding: UTF-8
|
55
55
|
string: |-
|
@@ -58,15 +58,15 @@ http_interactions:
|
|
58
58
|
"query": "*",
|
59
59
|
"stores": [
|
60
60
|
{
|
61
|
-
"store_name": "
|
62
|
-
"store_key":
|
61
|
+
"store_name": "Restaurant.com",
|
62
|
+
"store_key": 18939144,
|
63
63
|
"active_offer_count": 1,
|
64
|
-
"active_location_count":
|
65
|
-
"logo_url": "https://static-
|
64
|
+
"active_location_count": 21341,
|
65
|
+
"logo_url": "https://static-stage.accessdevelopment.com/brand/482fd36a4cd8de59cc7622ab3cbfcc23a9f4097b/original.png"
|
66
66
|
}
|
67
67
|
]
|
68
68
|
}
|
69
69
|
}
|
70
70
|
http_version:
|
71
|
-
recorded_at:
|
72
|
-
recorded_with: VCR 3.0.
|
71
|
+
recorded_at: Mon, 22 Feb 2016 20:31:26 GMT
|
72
|
+
recorded_with: VCR 3.0.1
|