1818package org .hyperledger .bpa .impl ;
1919
2020import com .fasterxml .jackson .databind .ObjectMapper ;
21+ import okhttp3 .mockwebserver .MockResponse ;
22+ import okhttp3 .mockwebserver .MockWebServer ;
23+ import org .hyperledger .bpa .controller .api .invitation .CheckInvitationResponse ;
24+ import org .junit .jupiter .api .AfterEach ;
2125import org .junit .jupiter .api .Assertions ;
26+ import org .junit .jupiter .api .BeforeEach ;
2227import org .junit .jupiter .api .Test ;
2328
2429public class InvitationParserTest {
2530
26- @ Test
27- void TestParseReceiveInvitation () {
28- InvitationParser p = new InvitationParser ();
31+ public static MockWebServer mockWebServer ;
32+ private InvitationParser p ;
33+
34+ @ BeforeEach
35+ void init () throws Exception {
36+ p = new InvitationParser ();
2937 p .setMapper (new ObjectMapper ());
3038
39+ mockWebServer = new MockWebServer ();
40+ mockWebServer .start ();
41+ }
42+
43+ @ AfterEach
44+ void tearDown () throws Exception {
45+ mockWebServer .shutdown ();
46+ }
47+
48+ @ Test
49+ void TestParseReceiveInvitation () {
3150 InvitationParser .Invitation invitation = p .parseInvitation (this .invitation );
3251 Assertions .assertFalse (invitation .isOob ());
3352 Assertions .assertTrue (invitation .isParsed ());
@@ -36,9 +55,6 @@ void TestParseReceiveInvitation() {
3655
3756 @ Test
3857 void TestParseReceiveOOBInvitation () {
39- InvitationParser p = new InvitationParser ();
40- p .setMapper (new ObjectMapper ());
41-
4258 InvitationParser .Invitation invitation = p .parseInvitation (oob );
4359 Assertions .assertTrue (invitation .isOob ());
4460 Assertions .assertTrue (invitation .isParsed ());
@@ -47,9 +63,6 @@ void TestParseReceiveOOBInvitation() {
4763
4864 @ Test
4965 void TestParseReceiveDidCommInvitation () {
50- InvitationParser p = new InvitationParser ();
51- p .setMapper (new ObjectMapper ());
52-
5366 InvitationParser .Invitation invitation = p .parseInvitation (this .didCommInvitation );
5467 Assertions .assertFalse (invitation .isOob ());
5568 Assertions .assertTrue (invitation .isParsed ());
@@ -58,19 +71,28 @@ void TestParseReceiveDidCommInvitation() {
5871
5972 @ Test
6073 void TestParseReceiveOOBDidCommInvitation () {
61- InvitationParser p = new InvitationParser ();
62- p .setMapper (new ObjectMapper ());
63-
6474 InvitationParser .Invitation invitation = p .parseInvitation (didCommOob );
6575 Assertions .assertTrue (invitation .isOob ());
6676 Assertions .assertTrue (invitation .isParsed ());
6777 Assertions .assertNotNull (invitation .getInvitation ());
6878 }
6979
80+ @ Test
81+ void testStreetcredURI () {
82+ MockResponse response = new MockResponse ()
83+ .setResponseCode (301 )
84+ .setHeader ("location" , streetCredRedirect );
85+ mockWebServer .enqueue (response );
86+ String httpUrl = mockWebServer .url ("/46yG3VegpCqc" ).toString ();
87+ CheckInvitationResponse parsed = p .checkInvitation (httpUrl );
88+ Assertions .assertEquals ("Snapper" , parsed .getLabel ());
89+ }
90+
7091 private final String invitation = "ewogICAgIkB0eXBlIjogImRpZDpzb3Y6QnpDYnNOWWhNcmpIaXFaRFRVQVNIZztzcGVjL2Nvbm5lY3Rpb25zLzEuMC9pbnZpdGF0aW9uIiwKICAgICJAaWQiOiAiNGQ1OGJhZjktZDIwOS00MTE4LThkOTQtNGE0OTBlNGEwNGFhIiwKICAgICJzZXJ2aWNlRW5kcG9pbnQiOiAiaHR0cDovL2hvc3QuZG9ja2VyLmludGVybmFsOjgwMzAiLAogICAgInJlY2lwaWVudEtleXMiOiBbCiAgICAgICAgIjZCTlF1dFJIalNWNmJwQ0E2djVkRVB2NW12dWlRS2hyc256cEN4dUgzdXdqIgogICAgXSwKICAgICJsYWJlbCI6ICJCdXNpbmVzcyBQYXJ0bmVyIEFnZW50IDEiCn0=" ;
7192 private final String oob = "eyJAdHlwZSI6ICJkaWQ6c292OkJ6Q2JzTlloTXJqSGlxWkRUVUFTSGc7c3BlYy9vdXQtb2YtYmFuZC8xLjAvaW52aXRhdGlvbiIsICJAaWQiOiAiMmZhYmJhNzYtZTlhNy00Yzk4LTg2ZjMtMTFkNGE1MTYzYjQyIiwgImhhbmRzaGFrZV9wcm90b2NvbHMiOiBbImRpZDpzb3Y6QnpDYnNOWWhNcmpIaXFaRFRVQVNIZztzcGVjL2RpZGV4Y2hhbmdlLzEuMCJdLCAic2VydmljZXMiOiBbImRpZDpzb3Y6RXJhWUNESlVQc0NoYmt3N1MxdlY5NiJdLCAibGFiZWwiOiAiYm9iIn0=" ;
7293
7394 private final String didCommInvitation = "eyJAdHlwZSI6ICJodHRwczovL2RpZGNvbW0ub3JnL2Nvbm5lY3Rpb25zLzEuMC9pbnZpdGF0aW9uIiwgIkBpZCI6ICJkNGE5ZmY4YS1jNjlmLTRiMWQtODJlYi04NzQwYWRiMzE0MmEiLCAic2VydmljZUVuZHBvaW50IjogImh0dHBzOi8vaW52aXRlMS1icGEtYWNhcHktZGV2LmFwcHMuc2lsdmVyLmRldm9wcy5nb3YuYmMuY2EiLCAibGFiZWwiOiAiaW52aXRlMSIsICJyZWNpcGllbnRLZXlzIjogWyI5MnV2TTFFOG9RbXFUNGZLZkdtam5UTndiandqYUZXYVRpRmtMZXNvbnhSVCJdfQ==" ;
7495 private final String didCommOob = "eyJAdHlwZSI6ICJodHRwczovL2RpZGNvbW0ub3JnL291dC1vZi1iYW5kLzEuMC9pbnZpdGF0aW9uIiwgIkBpZCI6ICI2ZmYzY2UzNy1kYjM1LTRjYTctYTNkOS03MWJmNGYxYzhkYzQiLCAibGFiZWwiOiAiaW52aXRlMSIsICJzZXJ2aWNlcyI6IFsiZGlkOnNvdjpXc3FWaW4xWjRZdnZiODdzU1E3QzJtIl0sICJoYW5kc2hha2VfcHJvdG9jb2xzIjogWyJodHRwczovL2RpZGNvbW0ub3JnL2RpZGV4Y2hhbmdlLzEuMCJdfQ==" ;
7596
97+ private final String streetCredRedirect = "id.streetcred://launch/?d_m=eyJsYWJlbCI6IlNuYXBwZXIiLCJpbWFnZVVybCI6bnVsbCwic2VydmljZUVuZHBvaW50IjoiaHR0cHM6Ly90cmluc2ljLW1lZGlhdG9yLWFnZW50LWV1cm9wZS5henVyZXdlYnNpdGVzLm5ldC8iLCJyb3V0aW5nS2V5cyI6WyJDTFBmc3hVaDNMOWR2U2huNjRmYkZKZExrbzZHbmVhQkNEWkJQNjZpWVV3RCJdLCJyZWNpcGllbnRLZXlzIjpbIkc5cDVydVRqcDJiVHhWellIUVpySmZISkNDaENRVUpOVllrUWhTcGlmWTdkIl0sIkBpZCI6IjBiNTc1Zjc4LTNiNTQtNGFhNS1hMzMyLTcwNTljZDg5YzA1NiIsIkB0eXBlIjoiZGlkOnNvdjpCekNic05ZaE1yakhpcVpEVFVBU0hnO3NwZWMvY29ubmVjdGlvbnMvMS4wL2ludml0YXRpb24ifQ%3D%3D&orig=https%3a%2f%2fredir.trinsic.id%2f46yG3VegpCqc" ;
7698}
0 commit comments