1 package org.apache.maven.wagon.events;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import junit.framework.TestCase;
23 import org.apache.maven.wagon.Wagon;
24 import org.easymock.MockControl;
25
26
27
28
29
30
31 public class TransferEventSupportTest
32 extends TestCase
33 {
34 private TransferEventSupport eventSupport;
35
36 private MockControl wagonMockControl;
37
38 private Wagon wagon;
39
40
41
42
43 protected void setUp()
44 throws Exception
45 {
46 super.setUp();
47
48 eventSupport = new TransferEventSupport();
49
50
51 wagonMockControl = MockControl.createControl( Wagon.class );
52
53 wagon = (Wagon) wagonMockControl.getMock();
54 }
55
56 public void testTransferListenerRegistration()
57 {
58 final TransferListenerMock mock1 = new TransferListenerMock();
59 eventSupport.addTransferListener( mock1 );
60
61 assertTrue( eventSupport.hasTransferListener( mock1 ) );
62 final TransferListenerMock mock2 = new TransferListenerMock();
63
64 assertFalse( eventSupport.hasTransferListener( mock2 ) );
65
66 eventSupport.addTransferListener( mock2 );
67
68 assertTrue( eventSupport.hasTransferListener( mock1 ) );
69 assertTrue( eventSupport.hasTransferListener( mock2 ) );
70
71 eventSupport.removeTransferListener( mock2 );
72
73 assertTrue( eventSupport.hasTransferListener( mock1 ) );
74 assertFalse( eventSupport.hasTransferListener( mock2 ) );
75
76 eventSupport.removeTransferListener( mock1 );
77 assertFalse( eventSupport.hasTransferListener( mock1 ) );
78 }
79
80 public void testFireTransferStarted()
81 {
82 final TransferListenerMock mock1 = new TransferListenerMock();
83 eventSupport.addTransferListener( mock1 );
84
85 final TransferListenerMock mock2 = new TransferListenerMock();
86 eventSupport.addTransferListener( mock2 );
87
88 final TransferEvent event = getEvent( wagon );
89
90 eventSupport.fireTransferStarted( event );
91
92 assertTrue( mock1.isTransferStartedCalled() );
93 assertTrue( mock2.isTransferStartedCalled() );
94 assertEquals( event, mock1.getTransferEvent() );
95 assertEquals( event, mock2.getTransferEvent() );
96
97 }
98
99 public void testFireTransferProgress()
100 {
101 final TransferListenerMock mock1 = new TransferListenerMock();
102
103 eventSupport.addTransferListener( mock1 );
104
105 final TransferListenerMock mock2 = new TransferListenerMock();
106
107 eventSupport.addTransferListener( mock2 );
108
109 final TransferEvent event = getEvent( wagon );
110
111
112 eventSupport.fireTransferProgress( event, null, 0 );
113
114 assertTrue( mock1.isTransferProgressCalled() );
115
116 assertTrue( mock2.isTransferProgressCalled() );
117
118 assertEquals( event, mock1.getTransferEvent() );
119
120 assertEquals( event, mock2.getTransferEvent() );
121 }
122
123 public void testFireTransferCompleted()
124 {
125 final TransferListenerMock mock1 = new TransferListenerMock();
126
127 eventSupport.addTransferListener( mock1 );
128
129 final TransferListenerMock mock2 = new TransferListenerMock();
130
131 eventSupport.addTransferListener( mock2 );
132
133 final TransferEvent event = getEvent( wagon );
134
135 eventSupport.fireTransferCompleted( event );
136
137 assertTrue( mock1.isTransferCompletedCalled() );
138
139 assertTrue( mock2.isTransferCompletedCalled() );
140
141 assertEquals( event, mock1.getTransferEvent() );
142
143 assertEquals( event, mock2.getTransferEvent() );
144
145 }
146
147 public void testFireTransferError()
148 {
149 final TransferListenerMock mock1 = new TransferListenerMock();
150
151 eventSupport.addTransferListener( mock1 );
152
153 final TransferListenerMock mock2 = new TransferListenerMock();
154
155 eventSupport.addTransferListener( mock2 );
156
157 final TransferEvent event = getEvent( wagon );
158
159 eventSupport.fireTransferError( event );
160
161 assertTrue( mock1.isTransferErrorCalled() );
162
163 assertTrue( mock2.isTransferErrorCalled() );
164
165 assertEquals( event, mock1.getTransferEvent() );
166
167 assertEquals( event, mock2.getTransferEvent() );
168
169 }
170
171 public void testFireDebug()
172 {
173 final TransferListenerMock mock1 = new TransferListenerMock();
174
175 eventSupport.addTransferListener( mock1 );
176
177 final TransferListenerMock mock2 = new TransferListenerMock();
178
179 eventSupport.addTransferListener( mock2 );
180
181 eventSupport.fireDebug( "mm" );
182
183 assertTrue( mock1.isDebugCalled() );
184
185 assertTrue( mock2.isDebugCalled() );
186
187 assertEquals( "mm", mock1.getDebugMessage() );
188
189 assertEquals( "mm", mock2.getDebugMessage() );
190
191 }
192
193 private TransferEvent getEvent( final Wagon wagon )
194 {
195 final TransferEvent event = new TransferEvent( wagon, null, TransferEvent.TRANSFER_COMPLETED,
196 TransferEvent.REQUEST_GET );
197 return event;
198 }
199
200 }