11package com .brennaswitzer .cookbook .util ;
22
3+ import com .brennaswitzer .cookbook .config .AppProperties ;
34import com .brennaswitzer .cookbook .domain .Identified ;
45import com .brennaswitzer .cookbook .domain .Named ;
6+ import com .brennaswitzer .cookbook .domain .Recipe ;
57import com .brennaswitzer .cookbook .payload .ShareInfo ;
68import lombok .Value ;
9+ import org .junit .jupiter .api .BeforeEach ;
710import org .junit .jupiter .api .Test ;
811import org .junit .jupiter .api .extension .ExtendWith ;
912import org .mockito .InjectMocks ;
13+ import org .mockito .Mock ;
1014import org .mockito .Spy ;
1115import org .mockito .junit .jupiter .MockitoExtension ;
1216
1317import static org .junit .jupiter .api .Assertions .assertEquals ;
14- import static org .mockito .Mockito .doReturn ;
18+ import static org .junit .jupiter .api .Assertions .assertTrue ;
19+ import static org .mockito .Mockito .when ;
1520
1621@ ExtendWith (MockitoExtension .class )
1722class ShareHelperTest {
@@ -20,6 +25,19 @@ class ShareHelperTest {
2025 @ Spy
2126 private ShareHelper helper ;
2227
28+ @ Mock
29+ private AppProperties appProperties ;
30+
31+ @ Mock
32+ private AppProperties .Auth auth ;
33+
34+ @ BeforeEach
35+ void setUp () {
36+ when (appProperties .getAuth ()).thenReturn (auth );
37+ when (auth .getTokenSecret ()).thenReturn ("some-random-key" );
38+ helper .setAppProperties (appProperties );
39+ }
40+
2341 @ Value
2442 private static class Shareable implements Identified , Named {
2543
@@ -31,17 +49,24 @@ private static class Shareable implements Identified, Named {
3149 @ Test
3250 void getInfo () {
3351 long id = 123L ;
34- String secret = "secret" ;
35- doReturn (secret )
36- .when (helper )
37- .getSecret (Shareable .class , id );
52+ String anonSecret = "329bb9790fd6c157e68cb4187cf52b11b6e9f4ba" ;
3853
3954 ShareInfo info = helper .getInfo (Shareable .class ,
4055 new Shareable (id , "A Thinger!" ));
4156
4257 assertEquals (id , info .getId ());
4358 assertEquals ("a-thinger" , info .getSlug ());
44- assertEquals (secret , info .getSecret ());
59+ assertTrue (helper .isSecretValid (Shareable .class , id , info .getSecret ()));
60+ assertTrue (helper .isSecretValid (Shareable .class , id , anonSecret ));
61+ }
62+
63+ @ Test
64+ void getHmacSecret () {
65+ long id = 877123L ;
66+ String anonSecret = helper .getHmacSecret (Recipe .class , id );
67+
68+ assertEquals ("6922b21b1364896cdfbd6ad930a50975c15a198a" , anonSecret );
69+ assertTrue (helper .isSecretValid (Recipe .class , id , anonSecret ));
4570 }
4671
4772}
0 commit comments