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.ConnectionException;
24 import org.apache.maven.wagon.Wagon;
25 import org.apache.maven.wagon.authentication.AuthenticationException;
26 import org.apache.maven.wagon.repository.Repository;
27 import org.easymock.EasyMock;
28
29
30
31
32
33 public class SessionEventTest
34 extends TestCase
35 {
36
37
38
39
40 public void testSessionEventProperties()
41 throws ConnectionException, AuthenticationException
42 {
43
44 final Wagon wagon = EasyMock.createMock( Wagon.class );
45 final Repository repo = new Repository();
46
47 wagon.connect( repo );
48
49 final long timestamp = System.currentTimeMillis();
50 final Exception exception = new AuthenticationException( "dummy" );
51
52 SessionEvent event = new SessionEvent( wagon, SessionEvent.SESSION_CLOSED );
53
54 assertEquals( wagon, event.getWagon() );
55
56 assertEquals( SessionEvent.SESSION_CLOSED, event.getEventType() );
57
58 event = new SessionEvent( wagon, exception );
59
60 assertEquals( wagon, event.getWagon() );
61 assertEquals( SessionEvent.SESSION_ERROR_OCCURRED, event.getEventType() );
62 assertEquals( exception, event.getException() );
63
64 event.setException( null );
65 assertEquals( null, event.getException() );
66
67 event.setException( exception );
68 assertEquals( exception, event.getException() );
69
70 event.setTimestamp( timestamp );
71 assertEquals( timestamp, event.getTimestamp() );
72
73 event.setEventType( SessionEvent.SESSION_CLOSED );
74 assertEquals( SessionEvent.SESSION_CLOSED, event.getEventType() );
75
76 event.setEventType( SessionEvent.SESSION_DISCONNECTED );
77 assertEquals( SessionEvent.SESSION_DISCONNECTED, event.getEventType() );
78
79 event.setEventType( SessionEvent.SESSION_DISCONNECTING );
80 assertEquals( SessionEvent.SESSION_DISCONNECTING, event.getEventType() );
81
82 event.setEventType( SessionEvent.SESSION_ERROR_OCCURRED );
83 assertEquals( SessionEvent.SESSION_ERROR_OCCURRED, event.getEventType() );
84
85 event.setEventType( SessionEvent.SESSION_LOGGED_IN );
86 assertEquals( SessionEvent.SESSION_LOGGED_IN, event.getEventType() );
87
88 event.setEventType( SessionEvent.SESSION_LOGGED_OFF );
89 assertEquals( SessionEvent.SESSION_LOGGED_OFF, event.getEventType() );
90
91 event.setEventType( SessionEvent.SESSION_OPENED );
92 assertEquals( SessionEvent.SESSION_OPENED, event.getEventType() );
93
94 event.setEventType( SessionEvent.SESSION_OPENING );
95 assertEquals( SessionEvent.SESSION_OPENING, event.getEventType() );
96
97 event.setEventType( SessionEvent.SESSION_CONNECTION_REFUSED );
98 assertEquals( SessionEvent.SESSION_CONNECTION_REFUSED, event.getEventType() );
99
100 try
101 {
102 event.setEventType( -1 );
103 fail( "Exception expected" );
104 }
105 catch ( IllegalArgumentException e )
106 {
107 assertTrue( true );
108 }
109
110 }
111
112 public void testConstantValueConflict()
113 {
114 final int[] values = {SessionEvent.SESSION_CLOSED, SessionEvent.SESSION_DISCONNECTED,
115 SessionEvent.SESSION_DISCONNECTING, SessionEvent.SESSION_ERROR_OCCURRED,
116 SessionEvent.SESSION_LOGGED_IN, SessionEvent.SESSION_LOGGED_OFF,
117 SessionEvent.SESSION_OPENED, SessionEvent.SESSION_OPENING,
118 SessionEvent.SESSION_CONNECTION_REFUSED};
119
120 for ( int i = 0; i < values.length; i++ )
121 {
122 for ( int j = i + 1; j < values.length; j++ )
123 {
124
125 final String msg = "Value confict at [i,j]=[" + i + "," + j + "]";
126 assertTrue( msg, values[i] != values[j] );
127 }
128 }
129
130 }
131
132 }