@@ -466,7 +466,7 @@ def test_building_with_base_remembers_base(self):
466
466
plus = build_from_document (
467
467
discovery , base = base , credentials = self .MOCK_CREDENTIALS
468
468
)
469
- self .assertEquals ("https://www.googleapis.com/plus/v1/" , plus ._baseUrl )
469
+ self .assertEqual ("https://www.googleapis.com/plus/v1/" , plus ._baseUrl )
470
470
471
471
def test_building_with_optional_http_with_authorization (self ):
472
472
discovery = open (datafile ("plus.json" )).read ()
@@ -503,7 +503,7 @@ def test_building_with_explicit_http(self):
503
503
plus = build_from_document (
504
504
discovery , base = "https://www.googleapis.com/" , http = http
505
505
)
506
- self .assertEquals (plus ._http , http )
506
+ self .assertEqual (plus ._http , http )
507
507
508
508
def test_building_with_developer_key_skips_adc (self ):
509
509
discovery = open (datafile ("plus.json" )).read ()
@@ -515,6 +515,25 @@ def test_building_with_developer_key_skips_adc(self):
515
515
# application default credentials were used.
516
516
self .assertNotIsInstance (plus ._http , google_auth_httplib2 .AuthorizedHttp )
517
517
518
+ def test_api_endpoint_override_from_client_options (self ):
519
+ discovery = open (datafile ("plus.json" )).read ()
520
+ api_endpoint = "https://foo.googleapis.com/"
521
+ options = google .api_core .client_options .ClientOptions (
522
+ api_endpoint = api_endpoint
523
+ )
524
+ plus = build_from_document (discovery , client_options = options )
525
+
526
+ self .assertEqual (plus ._baseUrl , api_endpoint )
527
+
528
+ def test_api_endpoint_override_from_client_options_dict (self ):
529
+ discovery = open (datafile ("plus.json" )).read ()
530
+ api_endpoint = "https://foo.googleapis.com/"
531
+ plus = build_from_document (
532
+ discovery , client_options = {"api_endpoint" : api_endpoint }
533
+ )
534
+
535
+ self .assertEqual (plus ._baseUrl , api_endpoint )
536
+
518
537
519
538
class DiscoveryFromHttp (unittest .TestCase ):
520
539
def setUp (self ):
@@ -588,6 +607,39 @@ def test_discovery_loading_from_v2_discovery_uri(self):
588
607
zoo = build ("zoo" , "v1" , http = http , cache_discovery = False )
589
608
self .assertTrue (hasattr (zoo , "animals" ))
590
609
610
+ def test_api_endpoint_override_from_client_options (self ):
611
+ http = HttpMockSequence (
612
+ [
613
+ ({"status" : "404" }, "Not found" ),
614
+ ({"status" : "200" }, open (datafile ("zoo.json" ), "rb" ).read ()),
615
+ ]
616
+ )
617
+ api_endpoint = "https://foo.googleapis.com/"
618
+ options = google .api_core .client_options .ClientOptions (
619
+ api_endpoint = api_endpoint
620
+ )
621
+ zoo = build (
622
+ "zoo" , "v1" , http = http , cache_discovery = False , client_options = options
623
+ )
624
+ self .assertEqual (zoo ._baseUrl , api_endpoint )
625
+
626
+ def test_api_endpoint_override_from_client_options_dict (self ):
627
+ http = HttpMockSequence (
628
+ [
629
+ ({"status" : "404" }, "Not found" ),
630
+ ({"status" : "200" }, open (datafile ("zoo.json" ), "rb" ).read ()),
631
+ ]
632
+ )
633
+ api_endpoint = "https://foo.googleapis.com/"
634
+ zoo = build (
635
+ "zoo" ,
636
+ "v1" ,
637
+ http = http ,
638
+ cache_discovery = False ,
639
+ client_options = {"api_endpoint" : api_endpoint },
640
+ )
641
+ self .assertEqual (zoo ._baseUrl , api_endpoint )
642
+
591
643
592
644
class DiscoveryFromAppEngineCache (unittest .TestCase ):
593
645
def test_appengine_memcache (self ):
@@ -928,8 +980,8 @@ def test_simple_media_upload_no_max_size_provided(self):
928
980
self .http = HttpMock (datafile ("zoo.json" ), {"status" : "200" })
929
981
zoo = build ("zoo" , "v1" , http = self .http )
930
982
request = zoo .animals ().crossbreed (media_body = datafile ("small.png" ))
931
- self .assertEquals ("image/png" , request .headers ["content-type" ])
932
- self .assertEquals (b"PNG" , request .body [1 :4 ])
983
+ self .assertEqual ("image/png" , request .headers ["content-type" ])
984
+ self .assertEqual (b"PNG" , request .body [1 :4 ])
933
985
934
986
def test_simple_media_raise_correct_exceptions (self ):
935
987
self .http = HttpMock (datafile ("zoo.json" ), {"status" : "200" })
@@ -952,8 +1004,8 @@ def test_simple_media_good_upload(self):
952
1004
zoo = build ("zoo" , "v1" , http = self .http )
953
1005
954
1006
request = zoo .animals ().insert (media_body = datafile ("small.png" ))
955
- self .assertEquals ("image/png" , request .headers ["content-type" ])
956
- self .assertEquals (b"PNG" , request .body [1 :4 ])
1007
+ self .assertEqual ("image/png" , request .headers ["content-type" ])
1008
+ self .assertEqual (b"PNG" , request .body [1 :4 ])
957
1009
assertUrisEqual (
958
1010
self ,
959
1011
"https://www.googleapis.com/upload/zoo/v1/animals?uploadType=media&alt=json" ,
@@ -973,8 +1025,8 @@ def test_simple_media_unknown_mimetype(self):
973
1025
request = zoo .animals ().insert (
974
1026
media_body = datafile ("small-png" ), media_mime_type = "image/png"
975
1027
)
976
- self .assertEquals ("image/png" , request .headers ["content-type" ])
977
- self .assertEquals (b"PNG" , request .body [1 :4 ])
1028
+ self .assertEqual ("image/png" , request .headers ["content-type" ])
1029
+ self .assertEqual (b"PNG" , request .body [1 :4 ])
978
1030
assertUrisEqual (
979
1031
self ,
980
1032
"https://www.googleapis.com/upload/zoo/v1/animals?uploadType=media&alt=json" ,
@@ -1045,13 +1097,13 @@ def test_resumable_multipart_media_good_upload(self):
1045
1097
media_upload = MediaFileUpload (datafile ("small.png" ), resumable = True )
1046
1098
request = zoo .animals ().insert (media_body = media_upload , body = {})
1047
1099
self .assertTrue (request .headers ["content-type" ].startswith ("application/json" ))
1048
- self .assertEquals ('{"data": {}}' , request .body )
1049
- self .assertEquals (media_upload , request .resumable )
1100
+ self .assertEqual ('{"data": {}}' , request .body )
1101
+ self .assertEqual (media_upload , request .resumable )
1050
1102
1051
- self .assertEquals ("image/png" , request .resumable .mimetype ())
1103
+ self .assertEqual ("image/png" , request .resumable .mimetype ())
1052
1104
1053
1105
self .assertNotEquals (request .body , None )
1054
- self .assertEquals (request .resumable_uri , None )
1106
+ self .assertEqual (request .resumable_uri , None )
1055
1107
1056
1108
http = HttpMockSequence (
1057
1109
[
@@ -1078,32 +1130,32 @@ def test_resumable_multipart_media_good_upload(self):
1078
1130
)
1079
1131
1080
1132
status , body = request .next_chunk (http = http )
1081
- self .assertEquals (None , body )
1133
+ self .assertEqual (None , body )
1082
1134
self .assertTrue (isinstance (status , MediaUploadProgress ))
1083
- self .assertEquals (0 , status .resumable_progress )
1135
+ self .assertEqual (0 , status .resumable_progress )
1084
1136
1085
1137
# Two requests should have been made and the resumable_uri should have been
1086
1138
# updated for each one.
1087
- self .assertEquals (request .resumable_uri , "http://upload.example.com/2" )
1088
- self .assertEquals (media_upload , request .resumable )
1089
- self .assertEquals (0 , request .resumable_progress )
1139
+ self .assertEqual (request .resumable_uri , "http://upload.example.com/2" )
1140
+ self .assertEqual (media_upload , request .resumable )
1141
+ self .assertEqual (0 , request .resumable_progress )
1090
1142
1091
1143
# This next chuck call should upload the first chunk
1092
1144
status , body = request .next_chunk (http = http )
1093
- self .assertEquals (request .resumable_uri , "http://upload.example.com/3" )
1094
- self .assertEquals (media_upload , request .resumable )
1095
- self .assertEquals (13 , request .resumable_progress )
1145
+ self .assertEqual (request .resumable_uri , "http://upload.example.com/3" )
1146
+ self .assertEqual (media_upload , request .resumable )
1147
+ self .assertEqual (13 , request .resumable_progress )
1096
1148
1097
1149
# This call will upload the next chunk
1098
1150
status , body = request .next_chunk (http = http )
1099
- self .assertEquals (request .resumable_uri , "http://upload.example.com/4" )
1100
- self .assertEquals (media_upload .size () - 1 , request .resumable_progress )
1101
- self .assertEquals ('{"data": {}}' , request .body )
1151
+ self .assertEqual (request .resumable_uri , "http://upload.example.com/4" )
1152
+ self .assertEqual (media_upload .size () - 1 , request .resumable_progress )
1153
+ self .assertEqual ('{"data": {}}' , request .body )
1102
1154
1103
1155
# Final call to next_chunk should complete the upload.
1104
1156
status , body = request .next_chunk (http = http )
1105
- self .assertEquals (body , {"foo" : "bar" })
1106
- self .assertEquals (status , None )
1157
+ self .assertEqual (body , {"foo" : "bar" })
1158
+ self .assertEqual (status , None )
1107
1159
1108
1160
def test_resumable_media_good_upload (self ):
1109
1161
"""Not a multipart upload."""
@@ -1112,12 +1164,12 @@ def test_resumable_media_good_upload(self):
1112
1164
1113
1165
media_upload = MediaFileUpload (datafile ("small.png" ), resumable = True )
1114
1166
request = zoo .animals ().insert (media_body = media_upload , body = None )
1115
- self .assertEquals (media_upload , request .resumable )
1167
+ self .assertEqual (media_upload , request .resumable )
1116
1168
1117
- self .assertEquals ("image/png" , request .resumable .mimetype ())
1169
+ self .assertEqual ("image/png" , request .resumable .mimetype ())
1118
1170
1119
- self .assertEquals (request .body , None )
1120
- self .assertEquals (request .resumable_uri , None )
1171
+ self .assertEqual (request .body , None )
1172
+ self .assertEqual (request .resumable_uri , None )
1121
1173
1122
1174
http = HttpMockSequence (
1123
1175
[
@@ -1143,26 +1195,26 @@ def test_resumable_media_good_upload(self):
1143
1195
)
1144
1196
1145
1197
status , body = request .next_chunk (http = http )
1146
- self .assertEquals (None , body )
1198
+ self .assertEqual (None , body )
1147
1199
self .assertTrue (isinstance (status , MediaUploadProgress ))
1148
- self .assertEquals (13 , status .resumable_progress )
1200
+ self .assertEqual (13 , status .resumable_progress )
1149
1201
1150
1202
# Two requests should have been made and the resumable_uri should have been
1151
1203
# updated for each one.
1152
- self .assertEquals (request .resumable_uri , "http://upload.example.com/2" )
1204
+ self .assertEqual (request .resumable_uri , "http://upload.example.com/2" )
1153
1205
1154
- self .assertEquals (media_upload , request .resumable )
1155
- self .assertEquals (13 , request .resumable_progress )
1206
+ self .assertEqual (media_upload , request .resumable )
1207
+ self .assertEqual (13 , request .resumable_progress )
1156
1208
1157
1209
status , body = request .next_chunk (http = http )
1158
- self .assertEquals (request .resumable_uri , "http://upload.example.com/3" )
1159
- self .assertEquals (media_upload .size () - 1 , request .resumable_progress )
1160
- self .assertEquals (request .body , None )
1210
+ self .assertEqual (request .resumable_uri , "http://upload.example.com/3" )
1211
+ self .assertEqual (media_upload .size () - 1 , request .resumable_progress )
1212
+ self .assertEqual (request .body , None )
1161
1213
1162
1214
# Final call to next_chunk should complete the upload.
1163
1215
status , body = request .next_chunk (http = http )
1164
- self .assertEquals (body , {"foo" : "bar" })
1165
- self .assertEquals (status , None )
1216
+ self .assertEqual (body , {"foo" : "bar" })
1217
+ self .assertEqual (status , None )
1166
1218
1167
1219
def test_resumable_media_good_upload_from_execute (self ):
1168
1220
"""Not a multipart upload."""
@@ -1201,7 +1253,7 @@ def test_resumable_media_good_upload_from_execute(self):
1201
1253
)
1202
1254
1203
1255
body = request .execute (http = http )
1204
- self .assertEquals (body , {"foo" : "bar" })
1256
+ self .assertEqual (body , {"foo" : "bar" })
1205
1257
1206
1258
def test_resumable_media_fail_unknown_response_code_first_request (self ):
1207
1259
"""Not a multipart upload."""
@@ -1247,7 +1299,7 @@ def test_resumable_media_fail_unknown_response_code_subsequent_request(self):
1247
1299
)
1248
1300
1249
1301
status , body = request .next_chunk (http = http )
1250
- self .assertEquals (
1302
+ self .assertEqual (
1251
1303
status .resumable_progress ,
1252
1304
7 ,
1253
1305
"Should have first checked length and then tried to PUT more." ,
@@ -1571,9 +1623,9 @@ def test_resumable_media_upload_no_content(self):
1571
1623
media_upload = MediaFileUpload (datafile ("empty" ), resumable = True )
1572
1624
request = zoo .animals ().insert (media_body = media_upload , body = None )
1573
1625
1574
- self .assertEquals (media_upload , request .resumable )
1575
- self .assertEquals (request .body , None )
1576
- self .assertEquals (request .resumable_uri , None )
1626
+ self .assertEqual (media_upload , request .resumable )
1627
+ self .assertEqual (request .body , None )
1628
+ self .assertEqual (request .resumable_uri , None )
1577
1629
1578
1630
http = HttpMockSequence (
1579
1631
[
@@ -1590,9 +1642,9 @@ def test_resumable_media_upload_no_content(self):
1590
1642
)
1591
1643
1592
1644
status , body = request .next_chunk (http = http )
1593
- self .assertEquals (None , body )
1645
+ self .assertEqual (None , body )
1594
1646
self .assertTrue (isinstance (status , MediaUploadProgress ))
1595
- self .assertEquals (0 , status .progress ())
1647
+ self .assertEqual (0 , status .progress ())
1596
1648
1597
1649
1598
1650
class Next (unittest .TestCase ):
0 commit comments