1
+ package org .gluecoders .library .services ;
2
+
3
+ import org .gluecoders .library .models .Credentials ;
4
+ import org .gluecoders .library .models .Member ;
5
+ import org .gluecoders .library .services .notifiers .JmsSender ;
6
+ import org .junit .Before ;
7
+ import org .junit .Test ;
8
+ import org .junit .runner .RunWith ;
9
+ import org .mockito .InjectMocks ;
10
+ import org .mockito .Mock ;
11
+ import org .mockito .runners .MockitoJUnitRunner ;
12
+
13
+ import static org .junit .Assert .*;
14
+ import static org .mockito .Mockito .*;
15
+
16
+
17
+ /**
18
+ * Created by Anand Rajneesh on 12/3/2017.
19
+ */
20
+ @ RunWith (MockitoJUnitRunner .class )
21
+ public class NotifyingRegistrationServiceTest {
22
+
23
+ @ Mock
24
+ private DefaultRegistrationService defaultRegistrationService ;
25
+
26
+ @ Mock
27
+ private JmsSender jmsSender ;
28
+
29
+ @ InjectMocks
30
+ private NotifyingRegistrationService testObject ;
31
+
32
+ @ Before
33
+ public void setup (){
34
+ doNothing ().when (jmsSender ).handle (any ());
35
+ }
36
+
37
+ @ Test
38
+ public void testRegister_DelegateSuccess_JmsSuccess () throws Exception {
39
+ Credentials c = new Credentials ();
40
+ c .setPwd ("pwd" );
41
+ c .setUsername ("username" );
42
+ Member m = new Member ();
43
+ m .setEmail (c .getUsername ());
44
+ doReturn (m ).when (defaultRegistrationService ).register (c );
45
+ m = testObject .register (c );
46
+ assertNotNull (m );
47
+ verify (defaultRegistrationService , times (1 )).register (c );
48
+ verify (jmsSender , times (1 )).handle (any ());
49
+ }
50
+
51
+ @ Test (expected = Exception .class )
52
+ public void testRegister_DelegateFails () throws Exception {
53
+ Credentials c = new Credentials ();
54
+ c .setPwd ("pwd" );
55
+ c .setUsername ("username" );
56
+ Member m = new Member ();
57
+ m .setEmail (c .getUsername ());
58
+ doThrow (Exception .class ).when (defaultRegistrationService ).register (c );
59
+ try {
60
+ testObject .register (c );
61
+ }catch (Exception e ){
62
+ verify (defaultRegistrationService , times (1 )).register (c );
63
+ verify (jmsSender , never ()).handle (any ());
64
+ throw e ;
65
+ }
66
+ }
67
+
68
+ @ Test (expected = Exception .class )
69
+ public void testRegister_DelegateSuccess_JmsFails () throws Exception {
70
+ Credentials c = new Credentials ();
71
+ c .setPwd ("pwd" );
72
+ c .setUsername ("username" );
73
+ Member m = new Member ();
74
+ m .setEmail (c .getUsername ());
75
+ doReturn (m ).when (defaultRegistrationService ).register (c );
76
+ doThrow (Exception .class ).when (jmsSender ).handle (any ());
77
+ try {
78
+ testObject .register (c );
79
+ }catch (Exception e ){
80
+ verify (defaultRegistrationService , times (1 )).register (c );
81
+ verify (jmsSender , times (1 )).handle (any ());
82
+ throw e ;
83
+ }
84
+ }
85
+ }
0 commit comments