22
33import static com .mindee .TestingUtilities .getResourcePath ;
44import static org .junit .jupiter .api .Assertions .assertEquals ;
5+ import static org .junit .jupiter .api .Assertions .assertFalse ;
56import static org .junit .jupiter .api .Assertions .assertNotNull ;
7+ import static org .junit .jupiter .api .Assertions .assertThrows ;
8+ import static org .junit .jupiter .api .Assertions .assertTrue ;
69
710import com .mindee .MindeeException ;
811import com .mindee .v2 .product .extraction .ExtractionResponse ;
912import java .io .IOException ;
10- import org .junit .jupiter .api .Assertions ;
13+ import org .junit .jupiter .api .DisplayName ;
1114import org .junit .jupiter .api .Test ;
1215
16+ @ DisplayName ("MindeeV2 – Load Local Response" )
1317public class LocalResponseTest {
14- @ Test
15- void loadDocument_withPath_mustReturnValidLocalResponse () throws IOException {
16- var localResponse = new LocalResponse (
17- getResourcePath ("v2/products/extraction/financial_document/complete.json" )
18- );
19- ExtractionResponse loaded = localResponse .deserializeResponse (ExtractionResponse .class );
18+ private static final String SIGNATURE = "79dd6572f8a97822fb12f2f72bc84ecdc7c968dede712cf23a256ac3eac593d4" ;
19+ private static final String DUMMY_SECRET_KEY = "ogNjY44MhvKPGTtVsI8zG82JqWQa68woYQH" ;
20+
21+ private static void AssertLocalResponse (LocalResponse localResponse ) {
22+ assertFalse (localResponse .isValidHmacSignature (DUMMY_SECRET_KEY , "invalid signature" ));
23+ assertFalse (localResponse .isValidHmacSignature (DUMMY_SECRET_KEY , null ));
24+ assertFalse (localResponse .isValidHmacSignature (null , SIGNATURE ));
25+ assertFalse (localResponse .isValidHmacSignature (null , null ));
26+ assertEquals (SIGNATURE , localResponse .getHmacSignature (DUMMY_SECRET_KEY ));
27+ assertTrue (localResponse .isValidHmacSignature (DUMMY_SECRET_KEY , SIGNATURE ));
2028
21- assertNotNull (loaded , "Loaded InferenceResponse must not be null" );
29+ ExtractionResponse response = localResponse .deserializeResponse (ExtractionResponse .class );
30+ assertNotNull (localResponse , "Loaded InferenceResponse must not be null" );
2231 assertEquals (
2332 "12345678-1234-1234-1234-123456789abc" ,
24- loaded .getInference ().getModel ().getId (),
33+ response .getInference ().getModel ().getId (),
2534 "Model Id mismatch"
2635 );
2736 assertEquals (
2837 "John Smith" ,
29- loaded
38+ response
3039 .getInference ()
3140 .getResult ()
3241 .getFields ()
@@ -37,14 +46,21 @@ void loadDocument_withPath_mustReturnValidLocalResponse() throws IOException {
3746 );
3847 }
3948
49+ @ Test
50+ void loadDocument_withPath_mustReturnValidLocalResponse () throws IOException {
51+ var localResponse = new LocalResponse (
52+ getResourcePath ("v2/products/extraction/financial_document/complete.json" )
53+ );
54+ AssertLocalResponse (localResponse );
55+ }
56+
4057 @ Test
4158 void givenInvalidJsonInput_shouldThrow () {
4259 var localResponse = new LocalResponse ("{invalid json" );
43- var err = Assertions
44- .assertThrows (
45- MindeeException .class ,
46- () -> localResponse .deserializeResponse (ExtractionResponse .class )
47- );
48- Assertions .assertEquals ("Invalid JSON payload." , err .getMessage ());
60+ var err = assertThrows (
61+ MindeeException .class ,
62+ () -> localResponse .deserializeResponse (ExtractionResponse .class )
63+ );
64+ assertEquals ("Invalid JSON payload." , err .getMessage ());
4965 }
5066}
0 commit comments