hungrytable 0.0.8 → 1.0.0
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 +7 -0
- data/README.md +299 -22
- data/RELEASE_NOTES.md +16 -0
- data/lib/hungrytable/api_health_monitor.rb +106 -0
- data/lib/hungrytable/circuit_breaker.rb +177 -0
- data/lib/hungrytable/config.rb +38 -16
- data/lib/hungrytable/enhanced_errors.rb +127 -0
- data/lib/hungrytable/errors.rb +36 -0
- data/lib/hungrytable/get_request.rb +17 -6
- data/lib/hungrytable/post_request.rb +17 -6
- data/lib/hungrytable/request.rb +42 -5
- data/lib/hungrytable/request_extensions.rb +17 -4
- data/lib/hungrytable/request_header.rb +25 -25
- data/lib/hungrytable/reservation_cancel.rb +19 -5
- data/lib/hungrytable/reservation_make.rb +30 -9
- data/lib/hungrytable/reservation_status.rb +56 -0
- data/lib/hungrytable/restaurant.rb +43 -31
- data/lib/hungrytable/restaurant_search.rb +63 -34
- data/lib/hungrytable/restaurant_slotlock.rb +32 -10
- data/lib/hungrytable/version.rb +3 -1
- data/lib/hungrytable.rb +117 -65
- metadata +43 -179
- data/.gitignore +0 -6
- data/.rvmrc +0 -1
- data/Gemfile +0 -5
- data/Guardfile +0 -16
- data/Rakefile +0 -8
- data/hungrytable.gemspec +0 -37
- data/test/restaurant_get_details_result.json +0 -6
- data/test/restaurant_search_result.json +0 -7
- data/test/test_helper.rb +0 -18
- data/test/unit/config_test.rb +0 -43
- data/test/unit/get_request_test.rb +0 -0
- data/test/unit/hungrytable/user_test.rb +0 -28
- data/test/unit/post_request_test.rb +0 -0
- data/test/unit/request_test.rb +0 -0
- data/test/unit/reservation_cancel_test.rb +0 -0
- data/test/unit/reservation_make_test.rb +0 -0
- data/test/unit/restaurant_search_test.rb +0 -0
- data/test/unit/restaurant_slotlock_test.rb +0 -0
- data/test/unit/restaurant_test.rb +0 -39
- data/test/user_login_result.json +0 -6
metadata
CHANGED
|
@@ -1,196 +1,79 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hungrytable
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 1.0.0
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- David Chapman
|
|
9
|
-
- Nicholas Fine
|
|
10
|
-
autorequire:
|
|
11
8
|
bindir: bin
|
|
12
9
|
cert_chain: []
|
|
13
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
14
11
|
dependencies:
|
|
15
|
-
- !ruby/object:Gem::Dependency
|
|
16
|
-
name: json
|
|
17
|
-
requirement: !ruby/object:Gem::Requirement
|
|
18
|
-
none: false
|
|
19
|
-
requirements:
|
|
20
|
-
- - ~>
|
|
21
|
-
- !ruby/object:Gem::Version
|
|
22
|
-
version: 1.7.1
|
|
23
|
-
type: :runtime
|
|
24
|
-
prerelease: false
|
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
26
|
-
none: false
|
|
27
|
-
requirements:
|
|
28
|
-
- - ~>
|
|
29
|
-
- !ruby/object:Gem::Version
|
|
30
|
-
version: 1.7.1
|
|
31
12
|
- !ruby/object:Gem::Dependency
|
|
32
13
|
name: activesupport
|
|
33
14
|
requirement: !ruby/object:Gem::Requirement
|
|
34
|
-
none: false
|
|
35
|
-
requirements:
|
|
36
|
-
- - ! '>='
|
|
37
|
-
- !ruby/object:Gem::Version
|
|
38
|
-
version: '0'
|
|
39
|
-
type: :runtime
|
|
40
|
-
prerelease: false
|
|
41
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
42
|
-
none: false
|
|
43
|
-
requirements:
|
|
44
|
-
- - ! '>='
|
|
45
|
-
- !ruby/object:Gem::Version
|
|
46
|
-
version: '0'
|
|
47
|
-
- !ruby/object:Gem::Dependency
|
|
48
|
-
name: i18n
|
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
|
50
|
-
none: false
|
|
51
15
|
requirements:
|
|
52
|
-
- -
|
|
16
|
+
- - ">="
|
|
53
17
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '0'
|
|
55
|
-
|
|
56
|
-
prerelease: false
|
|
57
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
58
|
-
none: false
|
|
59
|
-
requirements:
|
|
60
|
-
- - ! '>='
|
|
18
|
+
version: '6.0'
|
|
19
|
+
- - "<"
|
|
61
20
|
- !ruby/object:Gem::Version
|
|
62
|
-
version: '0'
|
|
63
|
-
- !ruby/object:Gem::Dependency
|
|
64
|
-
name: curb
|
|
65
|
-
requirement: !ruby/object:Gem::Requirement
|
|
66
|
-
none: false
|
|
67
|
-
requirements:
|
|
68
|
-
- - ! '>='
|
|
69
|
-
- !ruby/object:Gem::Version
|
|
70
|
-
version: '0'
|
|
21
|
+
version: '8.0'
|
|
71
22
|
type: :runtime
|
|
72
23
|
prerelease: false
|
|
73
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
74
|
-
none: false
|
|
75
|
-
requirements:
|
|
76
|
-
- - ! '>='
|
|
77
|
-
- !ruby/object:Gem::Version
|
|
78
|
-
version: '0'
|
|
79
|
-
- !ruby/object:Gem::Dependency
|
|
80
|
-
name: rake
|
|
81
|
-
requirement: !ruby/object:Gem::Requirement
|
|
82
|
-
none: false
|
|
83
|
-
requirements:
|
|
84
|
-
- - ! '>='
|
|
85
|
-
- !ruby/object:Gem::Version
|
|
86
|
-
version: '0'
|
|
87
|
-
type: :development
|
|
88
|
-
prerelease: false
|
|
89
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
90
|
-
none: false
|
|
91
|
-
requirements:
|
|
92
|
-
- - ! '>='
|
|
93
|
-
- !ruby/object:Gem::Version
|
|
94
|
-
version: '0'
|
|
95
|
-
- !ruby/object:Gem::Dependency
|
|
96
|
-
name: minitest
|
|
97
|
-
requirement: !ruby/object:Gem::Requirement
|
|
98
|
-
none: false
|
|
99
|
-
requirements:
|
|
100
|
-
- - ! '>='
|
|
101
|
-
- !ruby/object:Gem::Version
|
|
102
|
-
version: '0'
|
|
103
|
-
type: :development
|
|
104
|
-
prerelease: false
|
|
105
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
106
|
-
none: false
|
|
107
|
-
requirements:
|
|
108
|
-
- - ! '>='
|
|
109
|
-
- !ruby/object:Gem::Version
|
|
110
|
-
version: '0'
|
|
111
|
-
- !ruby/object:Gem::Dependency
|
|
112
|
-
name: minitest-reporters
|
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
|
114
|
-
none: false
|
|
115
|
-
requirements:
|
|
116
|
-
- - ! '>='
|
|
117
|
-
- !ruby/object:Gem::Version
|
|
118
|
-
version: '0'
|
|
119
|
-
type: :development
|
|
120
|
-
prerelease: false
|
|
121
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
122
|
-
none: false
|
|
123
25
|
requirements:
|
|
124
|
-
- -
|
|
26
|
+
- - ">="
|
|
125
27
|
- !ruby/object:Gem::Version
|
|
126
|
-
version: '0'
|
|
127
|
-
-
|
|
128
|
-
name: mocha
|
|
129
|
-
requirement: !ruby/object:Gem::Requirement
|
|
130
|
-
none: false
|
|
131
|
-
requirements:
|
|
132
|
-
- - ! '>='
|
|
28
|
+
version: '6.0'
|
|
29
|
+
- - "<"
|
|
133
30
|
- !ruby/object:Gem::Version
|
|
134
|
-
version: '0'
|
|
135
|
-
type: :development
|
|
136
|
-
prerelease: false
|
|
137
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
138
|
-
none: false
|
|
139
|
-
requirements:
|
|
140
|
-
- - ! '>='
|
|
141
|
-
- !ruby/object:Gem::Version
|
|
142
|
-
version: '0'
|
|
31
|
+
version: '8.0'
|
|
143
32
|
- !ruby/object:Gem::Dependency
|
|
144
|
-
name:
|
|
33
|
+
name: http
|
|
145
34
|
requirement: !ruby/object:Gem::Requirement
|
|
146
|
-
none: false
|
|
147
35
|
requirements:
|
|
148
|
-
- -
|
|
36
|
+
- - "~>"
|
|
149
37
|
- !ruby/object:Gem::Version
|
|
150
|
-
version: '0'
|
|
151
|
-
type: :
|
|
38
|
+
version: '5.0'
|
|
39
|
+
type: :runtime
|
|
152
40
|
prerelease: false
|
|
153
41
|
version_requirements: !ruby/object:Gem::Requirement
|
|
154
|
-
none: false
|
|
155
42
|
requirements:
|
|
156
|
-
- -
|
|
43
|
+
- - "~>"
|
|
157
44
|
- !ruby/object:Gem::Version
|
|
158
|
-
version: '0'
|
|
45
|
+
version: '5.0'
|
|
159
46
|
- !ruby/object:Gem::Dependency
|
|
160
|
-
name:
|
|
47
|
+
name: oauth
|
|
161
48
|
requirement: !ruby/object:Gem::Requirement
|
|
162
|
-
none: false
|
|
163
49
|
requirements:
|
|
164
|
-
- -
|
|
50
|
+
- - "~>"
|
|
165
51
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: '
|
|
167
|
-
type: :
|
|
52
|
+
version: '1.1'
|
|
53
|
+
type: :runtime
|
|
168
54
|
prerelease: false
|
|
169
55
|
version_requirements: !ruby/object:Gem::Requirement
|
|
170
|
-
none: false
|
|
171
56
|
requirements:
|
|
172
|
-
- -
|
|
57
|
+
- - "~>"
|
|
173
58
|
- !ruby/object:Gem::Version
|
|
174
|
-
version: '
|
|
175
|
-
description:
|
|
59
|
+
version: '1.1'
|
|
60
|
+
description: A Ruby gem providing a clean, object-oriented interface to interact with
|
|
61
|
+
the OpenTable REST API for restaurant reservations
|
|
176
62
|
email:
|
|
177
|
-
-
|
|
178
|
-
- nicholas.fine@gmail.com
|
|
63
|
+
- dchapman1988@gmail.com
|
|
179
64
|
executables: []
|
|
180
65
|
extensions: []
|
|
181
66
|
extra_rdoc_files: []
|
|
182
67
|
files:
|
|
183
|
-
- .gitignore
|
|
184
|
-
- .rvmrc
|
|
185
|
-
- Gemfile
|
|
186
|
-
- Guardfile
|
|
187
68
|
- LICENSE
|
|
188
69
|
- README.md
|
|
189
70
|
- RELEASE_NOTES.md
|
|
190
|
-
- Rakefile
|
|
191
|
-
- hungrytable.gemspec
|
|
192
71
|
- lib/hungrytable.rb
|
|
72
|
+
- lib/hungrytable/api_health_monitor.rb
|
|
73
|
+
- lib/hungrytable/circuit_breaker.rb
|
|
193
74
|
- lib/hungrytable/config.rb
|
|
75
|
+
- lib/hungrytable/enhanced_errors.rb
|
|
76
|
+
- lib/hungrytable/errors.rb
|
|
194
77
|
- lib/hungrytable/get_request.rb
|
|
195
78
|
- lib/hungrytable/post_request.rb
|
|
196
79
|
- lib/hungrytable/request.rb
|
|
@@ -203,48 +86,29 @@ files:
|
|
|
203
86
|
- lib/hungrytable/restaurant_search.rb
|
|
204
87
|
- lib/hungrytable/restaurant_slotlock.rb
|
|
205
88
|
- lib/hungrytable/version.rb
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
- test/unit/reservation_cancel_test.rb
|
|
215
|
-
- test/unit/reservation_make_test.rb
|
|
216
|
-
- test/unit/restaurant_search_test.rb
|
|
217
|
-
- test/unit/restaurant_slotlock_test.rb
|
|
218
|
-
- test/unit/restaurant_test.rb
|
|
219
|
-
- test/user_login_result.json
|
|
220
|
-
homepage: http://www.isotope11.com/
|
|
221
|
-
licenses: []
|
|
222
|
-
post_install_message:
|
|
89
|
+
homepage: https://github.com/dchapman1988/hungrytable
|
|
90
|
+
licenses:
|
|
91
|
+
- MIT
|
|
92
|
+
metadata:
|
|
93
|
+
bug_tracker_uri: https://github.com/dchapman1988/hungrytable/issues
|
|
94
|
+
changelog_uri: https://github.com/dchapman1988/hungrytable/blob/master/RELEASE_NOTES.md
|
|
95
|
+
source_code_uri: https://github.com/dchapman1988/hungrytable
|
|
96
|
+
rubygems_mfa_required: 'true'
|
|
223
97
|
rdoc_options: []
|
|
224
98
|
require_paths:
|
|
225
99
|
- lib
|
|
226
100
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
227
|
-
none: false
|
|
228
101
|
requirements:
|
|
229
|
-
- -
|
|
102
|
+
- - ">="
|
|
230
103
|
- !ruby/object:Gem::Version
|
|
231
|
-
version:
|
|
232
|
-
segments:
|
|
233
|
-
- 0
|
|
234
|
-
hash: -2381708931851299882
|
|
104
|
+
version: 3.0.0
|
|
235
105
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
236
|
-
none: false
|
|
237
106
|
requirements:
|
|
238
|
-
- -
|
|
107
|
+
- - ">="
|
|
239
108
|
- !ruby/object:Gem::Version
|
|
240
109
|
version: '0'
|
|
241
|
-
segments:
|
|
242
|
-
- 0
|
|
243
|
-
hash: -2381708931851299882
|
|
244
110
|
requirements: []
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
specification_version: 3
|
|
249
|
-
summary: Gem to interact with OpenTable's REST API
|
|
111
|
+
rubygems_version: 3.6.9
|
|
112
|
+
specification_version: 4
|
|
113
|
+
summary: Ruby client for the OpenTable REST API
|
|
250
114
|
test_files: []
|
data/.gitignore
DELETED
data/.rvmrc
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
rvm ruby-1.9.3-p385@hungrytable --create
|
data/Gemfile
DELETED
data/Guardfile
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# A sample Guardfile
|
|
2
|
-
# More info at https://github.com/guard/guard#readme
|
|
3
|
-
|
|
4
|
-
notification :libnotify
|
|
5
|
-
|
|
6
|
-
guard 'minitest' do
|
|
7
|
-
# with Minitest::Unit
|
|
8
|
-
watch(%r|^test/(.*)_test\.rb|)
|
|
9
|
-
watch(%r|^lib/(.*)/([^/]+)\.rb|) { |m| "test/unit/#{m[1]}/#{m[2]}_test.rb" }
|
|
10
|
-
watch(%r|^test/test_helper\.rb|) { "test" }
|
|
11
|
-
|
|
12
|
-
# with Minitest::Spec
|
|
13
|
-
# watch(%r|^spec/(.*)_spec\.rb|)
|
|
14
|
-
# watch(%r|^lib/(.*)\.rb|) { |m| "spec/#{m[1]}_spec.rb" }
|
|
15
|
-
# watch(%r|^spec/spec_helper\.rb|) { "spec" }
|
|
16
|
-
end
|
data/Rakefile
DELETED
data/hungrytable.gemspec
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
|
2
|
-
$:.push File.expand_path("../lib", __FILE__)
|
|
3
|
-
require "hungrytable/version"
|
|
4
|
-
|
|
5
|
-
Gem::Specification.new do |s|
|
|
6
|
-
s.name = "hungrytable"
|
|
7
|
-
s.version = Hungrytable::VERSION
|
|
8
|
-
s.authors = ["David Chapman", "Nicholas Fine"]
|
|
9
|
-
s.email = ["david@isotope11.com", 'nicholas.fine@gmail.com']
|
|
10
|
-
s.homepage = "http://www.isotope11.com/"
|
|
11
|
-
s.summary = %q{Gem to interact with OpenTable's REST API}
|
|
12
|
-
s.description = %q{Gem to interact with OpenTable's REST API}
|
|
13
|
-
|
|
14
|
-
s.rubyforge_project = "hungrytable"
|
|
15
|
-
|
|
16
|
-
s.files = `git ls-files`.split("\n")
|
|
17
|
-
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
18
|
-
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
|
19
|
-
s.require_paths = ["lib"]
|
|
20
|
-
|
|
21
|
-
# specify any dependencies here; for example:
|
|
22
|
-
# s.add_development_dependency "rspec"
|
|
23
|
-
# s.add_runtime_dependency "rest-client"
|
|
24
|
-
|
|
25
|
-
s.add_runtime_dependency 'json', '~> 1.7.1'
|
|
26
|
-
s.add_runtime_dependency 'activesupport'
|
|
27
|
-
s.add_runtime_dependency 'i18n'
|
|
28
|
-
s.add_runtime_dependency 'curb'
|
|
29
|
-
|
|
30
|
-
s.add_development_dependency 'rake'
|
|
31
|
-
s.add_development_dependency 'minitest'
|
|
32
|
-
s.add_development_dependency 'minitest-reporters'
|
|
33
|
-
s.add_development_dependency 'mocha'
|
|
34
|
-
s.add_development_dependency 'pry'
|
|
35
|
-
s.add_development_dependency 'webmock'
|
|
36
|
-
end
|
|
37
|
-
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
HTTP/1.1 200 OK
|
|
2
|
-
Status: 200
|
|
3
|
-
Vary: Accept-Encoding
|
|
4
|
-
Content-Type: application/json
|
|
5
|
-
|
|
6
|
-
{ "RestaurantDetailsResults": {"ns:Address": null, "ns:City": "799 Market Street", "ns:ErrorID": "0", "ns:ErrorMessage": null, "ns:ImageLink": null, "ns:Latitude": null, "ns:Longitude": null, "ns:MenuURL": null, "ns:MetroID": "1", "ns:MetroName": "Demoland", "ns:NeighborhoodName": "Devland", "ns:Parking": "No", "ns:ParkingDetails": null, "ns:Phone": "4157897485", "ns:PostalCode": "94103", "ns:PriceRange": "$30 and under", "ns:PrimaryFoodType": "American", "ns:ReserveUrl": "1759B23C", "ns:RestaurantDescription": "Coming Soon!", "ns:RestaurantID": "82591", "ns:RestaurantName": "OTConnect-Partner-Rest1", "ns:State": "CA", "ns:Url": null, "xmlns:ns": "com.opentable.webservices.v2" }}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
HTTP/1.1 200 OK
|
|
2
|
-
Status: 200
|
|
3
|
-
Vary: Accept-Encoding
|
|
4
|
-
Content-Type: application/json
|
|
5
|
-
|
|
6
|
-
{"SearchResults": {"ns:CuisineType": "American", "ns:EarlyPoints": "100", "ns:EarlySecurityID": "1113043844", "ns:EarlyTime": "5/16/2012 1:45:00 PM", "ns:ErrorID": "0", "ns:ErrorMessage": null, "ns:ExactPoints": "100", "ns:ExactSecurityID": "1113043836", "ns:ExactTime": "5/16/2012 2:00:00 PM", "ns:ImageExists": "0", "ns:Latitude": null, "ns:Longitude": null, "ns:NeighborhoodName": "Devland", "ns:Price": "$$", "ns:RestaurantID": "82591", "ns:RestaurantName": "OTConnect-Partner-Rest1", "ns:ResultsKey": "z0OlOTkH2NbY%2bq7bjf7Lxw%3d%3d", "xmlns:ns": "com.opentable.webservices.v2" }}
|
|
7
|
-
|
data/test/test_helper.rb
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
require 'minitest/autorun'
|
|
2
|
-
require 'minitest/reporters'
|
|
3
|
-
|
|
4
|
-
require 'ostruct'
|
|
5
|
-
require 'pry'
|
|
6
|
-
require 'webmock'
|
|
7
|
-
include WebMock::API
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
# Load support files
|
|
11
|
-
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
|
12
|
-
|
|
13
|
-
# Set up minitest
|
|
14
|
-
MiniTest::Unit.runner = MiniTest::SuiteRunner.new
|
|
15
|
-
MiniTest::Unit.runner.reporters << MiniTest::Reporters::SpecReporter.new
|
|
16
|
-
|
|
17
|
-
require 'mocha'
|
|
18
|
-
require File.expand_path("../../lib/hungrytable.rb", __FILE__)
|
data/test/unit/config_test.rb
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
require 'test_helper'
|
|
2
|
-
|
|
3
|
-
describe Hungrytable::Config do
|
|
4
|
-
describe 'when the correct ENV vars are not set' do
|
|
5
|
-
before do
|
|
6
|
-
ENV['OT_PARTNER_ID'] = nil
|
|
7
|
-
ENV['OT_OAUTH_KEY'] = nil
|
|
8
|
-
ENV['OT_OAUTH_SECRET'] = nil
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
it 'raises a HungrytableError' do
|
|
12
|
-
[:partner_id, :oauth_key, :oauth_secret].each do |meth|
|
|
13
|
-
-> {Hungrytable::Config.send meth}.must_raise Hungrytable::HungrytableError
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
describe 'when the ENV vars are set' do
|
|
19
|
-
before do
|
|
20
|
-
ENV['OT_PARTNER_ID'] = 'foo'
|
|
21
|
-
ENV['OT_OAUTH_KEY'] = 'bar'
|
|
22
|
-
ENV['OT_OAUTH_SECRET'] = 'baz'
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
describe '.partner_id' do
|
|
26
|
-
it 'returns the value for OT_PARTNER_ID' do
|
|
27
|
-
Hungrytable::Config.partner_id.must_equal 'foo'
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
describe '.oauth_key' do
|
|
32
|
-
it 'returns the value for OT_OAUTH_KEY' do
|
|
33
|
-
Hungrytable::Config.oauth_key.must_equal 'bar'
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
describe '.oauth_secret' do
|
|
38
|
-
it 'returns the value for OT_OAUTH_SECRET' do
|
|
39
|
-
Hungrytable::Config.oauth_secret.must_equal 'baz'
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
end
|
|
File without changes
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
=begin
|
|
2
|
-
require 'test_helper'
|
|
3
|
-
|
|
4
|
-
describe Hungrytable::User do
|
|
5
|
-
subject { Hungrytable::User }
|
|
6
|
-
|
|
7
|
-
it 'should be a class' do
|
|
8
|
-
subject.class.must_be_kind_of Class
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
%w{ login }.each do |meth|
|
|
12
|
-
it "should respond to #{meth}" do
|
|
13
|
-
assert subject.new.respond_to?(meth.to_sym), true
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
describe 'users' do
|
|
18
|
-
before do
|
|
19
|
-
stub_request(:get, /.*secure.opentable.com\/api\/otapi_v2.ashx\/user.*/).to_return(File.new('./test/user_login_result.json'), :status => 200)
|
|
20
|
-
@user = subject.new
|
|
21
|
-
end
|
|
22
|
-
it 'should be able to login' do
|
|
23
|
-
response = @user.login({ email: 'bob@webservices.com', password: 'password' })
|
|
24
|
-
response.must_be_kind_of Hash
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
=end
|
|
File without changes
|
data/test/unit/request_test.rb
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
require 'test_helper'
|
|
2
|
-
require 'pry'
|
|
3
|
-
|
|
4
|
-
describe Hungrytable::Restaurant do
|
|
5
|
-
before do
|
|
6
|
-
@mock_requester = mock('GetRequest')
|
|
7
|
-
@mock_request = mock('get')
|
|
8
|
-
@mock_requester.expects(:new).returns(@mock_request)
|
|
9
|
-
@mock_request.stubs(:parsed_response).returns({"RestaurantDetailsResults" => {}})
|
|
10
|
-
ENV['OT_PARTNER_ID'] = 'foo'
|
|
11
|
-
@restaurant = Hungrytable::Restaurant.new(1, requester: @mock_requester)
|
|
12
|
-
end
|
|
13
|
-
%w(
|
|
14
|
-
address
|
|
15
|
-
city
|
|
16
|
-
error_ID
|
|
17
|
-
error_message
|
|
18
|
-
image_link
|
|
19
|
-
latitude
|
|
20
|
-
longitude
|
|
21
|
-
metro_name
|
|
22
|
-
neighborhood_name
|
|
23
|
-
parking
|
|
24
|
-
parking_details
|
|
25
|
-
phone
|
|
26
|
-
postal_code
|
|
27
|
-
price_range
|
|
28
|
-
primary_food_type
|
|
29
|
-
restaurant_description
|
|
30
|
-
restaurant_ID
|
|
31
|
-
restaurant_name
|
|
32
|
-
state
|
|
33
|
-
url
|
|
34
|
-
).map(&:to_sym).each do |meth|
|
|
35
|
-
it "responds to #{meth.to_s} via method_missing" do
|
|
36
|
-
@restaurant.send(meth).must_equal nil
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
data/test/user_login_result.json
DELETED