1414
1515import  pytest   # noqa F401 Needed to run the tests 
1616
17- from  google .cloud .sql .connector .connection_name  import  _parse_instance_connection_name 
17+ # fmt: off 
18+ from  google .cloud .sql .connector .connection_name  import  _parse_connection_name 
19+ from  google .cloud .sql .connector .connection_name  import  \
20+     _parse_connection_name_with_domain_name 
1821from  google .cloud .sql .connector .connection_name  import  ConnectionName 
1922
23+ # fmt: on 
24+ 
2025
2126def  test_ConnectionName () ->  None :
2227    conn_name  =  ConnectionName ("project" , "region" , "instance" )
2328    # test class attributes are set properly 
2429    assert  conn_name .project  ==  "project" 
2530    assert  conn_name .region  ==  "region" 
2631    assert  conn_name .instance_name  ==  "instance" 
32+     assert  conn_name .domain_name  ==  "" 
2733    # test ConnectionName str() method prints instance connection name 
2834    assert  str (conn_name ) ==  "project:region:instance" 
2935
3036
37+ def  test_ConnectionName_with_domain_name () ->  None :
38+     conn_name  =  ConnectionName ("project" , "region" , "instance" , "db.example.com" )
39+     # test class attributes are set properly 
40+     assert  conn_name .project  ==  "project" 
41+     assert  conn_name .region  ==  "region" 
42+     assert  conn_name .instance_name  ==  "instance" 
43+     assert  conn_name .domain_name  ==  "db.example.com" 
44+     # test ConnectionName str() method prints with domain name 
45+     assert  str (conn_name ) ==  "db.example.com -> project:region:instance" 
46+ 
47+ 
3148@pytest .mark .parametrize ( 
3249    "connection_name, expected" , 
3350    [ 
@@ -38,19 +55,46 @@ def test_ConnectionName() -> None:
3855        ), 
3956    ], 
4057) 
41- def  test_parse_instance_connection_name (
42-     connection_name : str , expected : ConnectionName 
43- ) ->  None :
58+ def  test_parse_connection_name (connection_name : str , expected : ConnectionName ) ->  None :
4459    """ 
45-     Test that _parse_instance_connection_name  works correctly on 
60+     Test that _parse_connection_name  works correctly on 
4661    normal instance connection names and domain-scoped projects. 
4762    """ 
48-     assert  expected  ==  _parse_instance_connection_name (connection_name )
63+     assert  expected  ==  _parse_connection_name (connection_name )
4964
5065
51- def  test_parse_instance_connection_name_bad_conn_name () ->  None :
66+ def  test_parse_connection_name_bad_conn_name () ->  None :
5267    """ 
5368    Tests that ValueError is thrown for bad instance connection names. 
5469    """ 
5570    with  pytest .raises (ValueError ):
56-         _parse_instance_connection_name ("project:instance" )  # missing region 
71+         _parse_connection_name ("project:instance" )  # missing region 
72+ 
73+ 
74+ @pytest .mark .parametrize ( 
75+     "connection_name, domain_name, expected" , 
76+     [ 
77+         ( 
78+             "project:region:instance" , 
79+             "db.example.com" , 
80+             ConnectionName ("project" , "region" , "instance" , "db.example.com" ), 
81+         ), 
82+         ( 
83+             "domain-prefix:project:region:instance" , 
84+             "db.example.com" , 
85+             ConnectionName ( 
86+                 "domain-prefix:project" , "region" , "instance" , "db.example.com"  
87+             ), 
88+         ), 
89+     ], 
90+ ) 
91+ def  test_parse_connection_name_with_domain_name (
92+     connection_name : str , domain_name : str , expected : ConnectionName 
93+ ) ->  None :
94+     """ 
95+     Test that _parse_connection_name_with_domain_name works correctly on 
96+     normal instance connection names and domain-scoped projects. 
97+     """ 
98+     assert  expected  ==  _parse_connection_name_with_domain_name (
99+         connection_name , domain_name 
100+     )
0 commit comments