001package org.apache.maven.wagon.events; 002 003/* 004 * Licensed to the Apache Software Foundation (ASF) under one 005 * or more contributor license agreements. See the NOTICE file 006 * distributed with this work for additional information 007 * regarding copyright ownership. The ASF licenses this file 008 * to you under the Apache License, Version 2.0 (the 009 * "License"); you may not use this file except in compliance 010 * with the License. You may obtain a copy of the License at 011 * 012 * http://www.apache.org/licenses/LICENSE-2.0 013 * 014 * Unless required by applicable law or agreed to in writing, 015 * software distributed under the License is distributed on an 016 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 017 * KIND, either express or implied. See the License for the 018 * specific language governing permissions and limitations 019 * under the License. 020 */ 021 022import junit.framework.TestCase; 023import org.apache.maven.wagon.Wagon; 024import org.easymock.MockControl; 025 026/** 027 * @author <a href="michal.maczka@dimatics.com">Michal Maczka</a> 028 * @version $Id: TransferEventSupportTest.java,v 1.2 2003/11/16 12:41:02 michal 029 * Exp $ 030 */ 031public class TransferEventSupportTest 032 extends TestCase 033{ 034 private TransferEventSupport eventSupport; 035 036 private MockControl wagonMockControl; 037 038 private Wagon wagon; 039 040 /** 041 * @see junit.framework.TestCase#setUp() 042 */ 043 protected void setUp() 044 throws Exception 045 { 046 super.setUp(); 047 048 eventSupport = new TransferEventSupport(); 049 050 // TODO: actually test it gets called? 051 wagonMockControl = MockControl.createControl( Wagon.class ); 052 053 wagon = (Wagon) wagonMockControl.getMock(); 054 } 055 056 public void testTransferListenerRegistration() 057 { 058 final TransferListenerMock mock1 = new TransferListenerMock(); 059 eventSupport.addTransferListener( mock1 ); 060 061 assertTrue( eventSupport.hasTransferListener( mock1 ) ); 062 final TransferListenerMock mock2 = new TransferListenerMock(); 063 064 assertFalse( eventSupport.hasTransferListener( mock2 ) ); 065 066 eventSupport.addTransferListener( mock2 ); 067 068 assertTrue( eventSupport.hasTransferListener( mock1 ) ); 069 assertTrue( eventSupport.hasTransferListener( mock2 ) ); 070 071 eventSupport.removeTransferListener( mock2 ); 072 073 assertTrue( eventSupport.hasTransferListener( mock1 ) ); 074 assertFalse( eventSupport.hasTransferListener( mock2 ) ); 075 076 eventSupport.removeTransferListener( mock1 ); 077 assertFalse( eventSupport.hasTransferListener( mock1 ) ); 078 } 079 080 public void testFireTransferStarted() 081 { 082 final TransferListenerMock mock1 = new TransferListenerMock(); 083 eventSupport.addTransferListener( mock1 ); 084 085 final TransferListenerMock mock2 = new TransferListenerMock(); 086 eventSupport.addTransferListener( mock2 ); 087 088 final TransferEvent event = getEvent( wagon ); 089 090 eventSupport.fireTransferStarted( event ); 091 092 assertTrue( mock1.isTransferStartedCalled() ); 093 assertTrue( mock2.isTransferStartedCalled() ); 094 assertEquals( event, mock1.getTransferEvent() ); 095 assertEquals( event, mock2.getTransferEvent() ); 096 097 } 098 099 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}