43
43
MOCK_ACTION_CODE_DATA = {
44
44
'url' : 'http://localhost' ,
45
45
'handle_code_in_app' : True ,
46
- 'dynamic_link_domain' : 'http://testly' ,
46
+ 'dynamic_link_domain' : 'http://dynamic-link-domain' ,
47
+ 'link_domain' : 'http://link-domain' ,
47
48
'ios_bundle_id' : 'test.bundle' ,
48
49
'android_package_name' : 'test.bundle' ,
49
50
'android_minimum_version' : '7' ,
@@ -1363,7 +1364,8 @@ def test_valid_data(self):
1363
1364
data = {
1364
1365
'url' : 'http://localhost' ,
1365
1366
'handle_code_in_app' : True ,
1366
- 'dynamic_link_domain' : 'http://testly' ,
1367
+ 'dynamic_link_domain' : 'http://dynamic-link-domain' ,
1368
+ 'link_domain' : 'http://link-domain' ,
1367
1369
'ios_bundle_id' : 'test.bundle' ,
1368
1370
'android_package_name' : 'test.bundle' ,
1369
1371
'android_minimum_version' : '7' ,
@@ -1374,6 +1376,7 @@ def test_valid_data(self):
1374
1376
assert parameters ['continueUrl' ] == data ['url' ]
1375
1377
assert parameters ['canHandleCodeInApp' ] == data ['handle_code_in_app' ]
1376
1378
assert parameters ['dynamicLinkDomain' ] == data ['dynamic_link_domain' ]
1379
+ assert parameters ['linkDomain' ] == data ['link_domain' ]
1377
1380
assert parameters ['iOSBundleId' ] == data ['ios_bundle_id' ]
1378
1381
assert parameters ['androidPackageName' ] == data ['android_package_name' ]
1379
1382
assert parameters ['androidMinimumVersion' ] == data ['android_minimum_version' ]
@@ -1496,6 +1499,23 @@ def test_invalid_dynamic_link(self, user_mgt_app, func):
1496
1499
assert excinfo .value .http_response is not None
1497
1500
assert excinfo .value .cause is not None
1498
1501
1502
+ @pytest .mark .parametrize ('func' , [
1503
+ auth .generate_sign_in_with_email_link ,
1504
+ auth .generate_email_verification_link ,
1505
+ auth .generate_password_reset_link ,
1506
+ ])
1507
+ def test_invalid_hosting_link (self , user_mgt_app , func ):
1508
+ resp = '{"error":{"message": "INVALID_HOSTING_LINK_DOMAIN: Because of this reason."}}'
1509
+ _instrument_user_manager (user_mgt_app , 500 , resp )
1510
+ with pytest .raises (auth .InvalidHostingLinkDomainError ) as excinfo :
1511
+ func (
'[email protected] ' ,
MOCK_ACTION_CODE_SETTINGS ,
app = user_mgt_app )
1512
+ assert isinstance (excinfo .value , exceptions .InvalidArgumentError )
1513
+ assert str (excinfo .value ) == ('The provided hosting link domain is not configured in '
1514
+ 'Firebase Hosting or is not owned by the current project '
1515
+ '(INVALID_HOSTING_LINK_DOMAIN). Because of this reason.' )
1516
+ assert excinfo .value .http_response is not None
1517
+ assert excinfo .value .cause is not None
1518
+
1499
1519
@pytest .mark .parametrize ('func' , [
1500
1520
auth .generate_sign_in_with_email_link ,
1501
1521
auth .generate_email_verification_link ,
@@ -1534,6 +1554,7 @@ def _validate_request(self, request, settings=None):
1534
1554
assert request ['continueUrl' ] == settings .url
1535
1555
assert request ['canHandleCodeInApp' ] == settings .handle_code_in_app
1536
1556
assert request ['dynamicLinkDomain' ] == settings .dynamic_link_domain
1557
+ assert request ['linkDomain' ] == settings .link_domain
1537
1558
assert request ['iOSBundleId' ] == settings .ios_bundle_id
1538
1559
assert request ['androidPackageName' ] == settings .android_package_name
1539
1560
assert request ['androidMinimumVersion' ] == settings .android_minimum_version
0 commit comments