@@ -150,20 +150,21 @@ def setup
150
150
assert_equal ( ShopifyAPI ::ApiVersion . new ( handle : '2019-01' ) , ShopifyAPI ::Base . api_version )
151
151
end
152
152
153
- test "create_permission_url returns correct url with single scope no redirect uri " do
154
- ShopifyAPI ::Session . setup ( : api_key => "My_test_key" , : secret => "My test secret" )
153
+ test "create_permission_url requires redirect_uri " do
154
+ ShopifyAPI ::Session . setup ( api_key : "My_test_key" , secret : "My test secret" )
155
155
session = ShopifyAPI ::Session . new (
156
156
domain : 'http://localhost.myshopify.com' ,
157
157
token : 'any-token' ,
158
158
api_version : any_api_version
159
159
)
160
160
scope = [ "write_products" ]
161
- permission_url = session . create_permission_url ( scope )
162
- assert_equal "https://localhost.myshopify.com/admin/oauth/authorize?client_id=My_test_key&scope=write_products" , permission_url
161
+ assert_raises ( ArgumentError ) do
162
+ session . create_permission_url ( scope )
163
+ end
163
164
end
164
165
165
166
test "create_permission_url returns correct url with single scope and redirect uri" do
166
- ShopifyAPI ::Session . setup ( : api_key => "My_test_key" , : secret => "My test secret" )
167
+ ShopifyAPI ::Session . setup ( api_key : "My_test_key" , secret : "My test secret" )
167
168
session = ShopifyAPI ::Session . new (
168
169
domain : 'http://localhost.myshopify.com' ,
169
170
token : 'any-token' ,
@@ -174,28 +175,40 @@ def setup
174
175
assert_equal "https://localhost.myshopify.com/admin/oauth/authorize?client_id=My_test_key&scope=write_products&redirect_uri=http://my_redirect_uri.com" , permission_url
175
176
end
176
177
177
- test "create_permission_url returns correct url with dual scope no redirect uri " do
178
- ShopifyAPI ::Session . setup ( : api_key => "My_test_key" , : secret => "My test secret" )
178
+ test "create_permission_url returns correct url with dual scope" do
179
+ ShopifyAPI ::Session . setup ( api_key : "My_test_key" , secret : "My test secret" )
179
180
session = ShopifyAPI ::Session . new (
180
181
domain : 'http://localhost.myshopify.com' ,
181
182
token : 'any-token' ,
182
183
api_version : any_api_version
183
184
)
184
185
scope = [ "write_products" , "write_customers" ]
185
- permission_url = session . create_permission_url ( scope )
186
- assert_equal "https://localhost.myshopify.com/admin/oauth/authorize?client_id=My_test_key&scope=write_products,write_customers" , permission_url
186
+ permission_url = session . create_permission_url ( scope , "http://my_redirect_uri.com" )
187
+ assert_equal "https://localhost.myshopify.com/admin/oauth/authorize?client_id=My_test_key&scope=write_products,write_customers&redirect_uri=http://my_redirect_uri.com" , permission_url
188
+ end
189
+
190
+ test "create_permission_url returns correct url with no scope" do
191
+ ShopifyAPI ::Session . setup ( api_key : "My_test_key" , secret : "My test secret" )
192
+ session = ShopifyAPI ::Session . new (
193
+ domain : 'http://localhost.myshopify.com' ,
194
+ token : 'any-token' ,
195
+ api_version : any_api_version
196
+ )
197
+ scope = [ ]
198
+ permission_url = session . create_permission_url ( scope , "http://my_redirect_uri.com" )
199
+ assert_equal "https://localhost.myshopify.com/admin/oauth/authorize?client_id=My_test_key&scope=&redirect_uri=http://my_redirect_uri.com" , permission_url
187
200
end
188
201
189
- test "create_permission_url returns correct url with no scope no redirect uri " do
190
- ShopifyAPI ::Session . setup ( : api_key => "My_test_key" , : secret => "My test secret" )
202
+ test "create_permission_url returns correct url with state " do
203
+ ShopifyAPI ::Session . setup ( api_key : "My_test_key" , secret : "My test secret" )
191
204
session = ShopifyAPI ::Session . new (
192
205
domain : 'http://localhost.myshopify.com' ,
193
206
token : 'any-token' ,
194
207
api_version : any_api_version
195
208
)
196
209
scope = [ ]
197
- permission_url = session . create_permission_url ( scope )
198
- assert_equal "https://localhost.myshopify.com/admin/oauth/authorize?client_id=My_test_key&scope=" , permission_url
210
+ permission_url = session . create_permission_url ( scope , "http://my_redirect_uri.com" , state : "My nonce" )
211
+ assert_equal "https://localhost.myshopify.com/admin/oauth/authorize?client_id=My_test_key&scope=&redirect_uri=http://my_redirect_uri.com&state=My%20nonce " , permission_url
199
212
end
200
213
201
214
test "raise exception if code invalid in request token" do
0 commit comments