@@ -119,6 +119,7 @@ async def test_fetch_resolver_props(mock_client_session: MockClientSession):
119119
120120@pytest .mark .asyncio
121121async def test_get_supported_did_regex ():
122+ # Old response format
122123 props = {"example" : {"http" : {"pattern" : "match a test string" }}}
123124 with mock .patch .object (
124125 UniversalResolver ,
@@ -128,6 +129,29 @@ async def test_get_supported_did_regex():
128129 pattern = await UniversalResolver ()._get_supported_did_regex ()
129130 assert pattern .fullmatch ("match a test string" )
130131
132+ # Example response from dev universal resolver 1.0
133+ props = {
134+ "^(did:sov:(?:(?:\\ w[-\\ w]*(?::\\ w[-\\ w]*)*):)?(?:[1-9A-HJ-NP-Za-km-z]{21,22}))$" : {
135+ "libIndyPath" : "" ,
136+ "openParallel" : "false" ,
137+ "poolVersions" : "_;2;test;2;builder;2;danube;2;idunion;2;idunion:test;2;indicio;2;indicio:test;2;indicio:demo;2;nxd;2;findy:test;2;bcovrin;2;bcovrin:test;2;bcovrin:dev;2;candy;2;candy:test;2;candy:dev;2" ,
138+ "submitterDidSeeds" : "_;_;test;_;builder;_;danube;_;idunion;_;idunion:test;_;indicio;_;indicio:test;_;indicio:demo;_;nxd;_;findy:test;_;bcovrin;_;bcovrin:test;_;bcovrin:dev;_;candy;_;candy:test;_;candy:dev;_" ,
139+ "http" : {
140+ "resolveUri" : "http://driver-did-sov:8080/1.0/identifiers/" ,
141+ "propertiesUri" : "http://driver-did-sov:8080/1.0/properties" ,
142+ },
143+ "walletNames" : "_;w1;test;w2;builder;w3;danube;w4;idunion;w5;idunion:test;w6;indicio;w7;indicio:test;w8;indicio:demo;w9;nxd;w11;findy:test;w12;bcovrin;w13;bcovrin:test;w14;bcovrin:dev;w15;candy;w16;candy:test;w17;candy:dev;w18" ,
144+ "poolConfigs" : "_;./sovrin/_.txn;test;./sovrin/test.txn;builder;./sovrin/builder.txn;danube;./sovrin/danube.txn;idunion;./sovrin/idunion.txn;idunion:test;./sovrin/idunion-test.txn;indicio;./sovrin/indicio.txn;indicio:test;./sovrin/indicio-test.txn;indicio:demo;./sovrin/indicio-demo.txn;nxd;./sovrin/nxd.txn;bcovrin:test;./sovrin/bcovrin-test.txn;candy;./sovrin/candy.txn;candy:test;./sovrin/candy-test.txn;candy:dev;./sovrin/candy-dev.txn" ,
145+ }
146+ }
147+ with mock .patch .object (
148+ UniversalResolver ,
149+ "_fetch_resolver_props" ,
150+ mock .CoroutineMock (return_value = props ),
151+ ):
152+ pattern = await UniversalResolver ()._get_supported_did_regex ()
153+ assert pattern .match ("did:sov:WRfXPg8dantKVubE3HX8pw" )
154+
131155
132156def test_compile_supported_did_regex ():
133157 patterns = ["one" , "two" , "three" ]
0 commit comments