@@ -275,3 +275,35 @@ def test_endpoints(self):
275
275
for endpoint in ENDPOINTS .keys ():
276
276
auth_time = Client (endpoint ).get ("/auth/time" , _need_auth = False )
277
277
assert auth_time > 0
278
+
279
+ @mock .patch ("time.time" , return_value = 1457018875.467238 )
280
+ @mock .patch ("ovh.client.Session.request" )
281
+ @mock .patch ("ovh.client.Client.time_delta" , new_callable = mock .PropertyMock , return_value = 0 )
282
+ def test_version_in_url (self , m_time_delta , m_req , m_time ):
283
+ m_res = m_req .return_value
284
+ m_res .status_code = 200
285
+
286
+ api = Client ("ovh-eu" , MockApplicationKey , MockApplicationSecret , MockConsumerKey )
287
+ api .call ("GET" , "/call" , None , True )
288
+ api .call ("GET" , "/v1/call" , None , True )
289
+ api .call ("GET" , "/v2/call" , None , True )
290
+
291
+ signatures = {
292
+ "1.0" : "$1$7f2db49253edfc41891023fcd1a54cf61db05fbb" ,
293
+ "v1" : "$1$e6e7906d385eb28adcbfbe6b66c1528a42d741ad" ,
294
+ "v2" : "$1$bb63b132a6f84ad5433d0c534d48d3f7c3804285" ,
295
+ }
296
+
297
+ def _h (prefix ):
298
+ return {
299
+ "X-Ovh-Application" : MockApplicationKey ,
300
+ "X-Ovh-Consumer" : MockConsumerKey ,
301
+ "X-Ovh-Timestamp" : str (MockTime ),
302
+ "X-Ovh-Signature" : signatures [prefix ],
303
+ }
304
+
305
+ assert m_req .call_args_list == [
306
+ mock .call ("GET" , "https://eu.api.ovh.com/1.0/call" , headers = _h ("1.0" ), data = "" , timeout = 180 ),
307
+ mock .call ("GET" , "https://eu.api.ovh.com/v1/call" , headers = _h ("v1" ), data = "" , timeout = 180 ),
308
+ mock .call ("GET" , "https://eu.api.ovh.com/v2/call" , headers = _h ("v2" ), data = "" , timeout = 180 ),
309
+ ]
0 commit comments