View Javadoc

1   package org.apache.maven.wagon.events;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *   http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  import junit.framework.TestCase;
23  import org.apache.maven.wagon.Wagon;
24  import org.easymock.MockControl;
25  
26  /**
27   * @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
28   * @version $Id: TransferEventSupportTest.java,v 1.2 2003/11/16 12:41:02 michal
29   *          Exp $
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       * @see junit.framework.TestCase#setUp()
42       */
43      protected void setUp()
44          throws Exception
45      {
46          super.setUp();
47          
48          eventSupport = new TransferEventSupport();
49          
50          // TODO: actually test it gets called?
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         // TODO: should be testing the buffer
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 }