1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.springframework.ws.soap.security.xwss.callback;
18
19 import org.springframework.security.core.Authentication;
20 import org.springframework.security.core.context.SecurityContextHolder;
21 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
22
23 import com.sun.xml.wss.impl.callback.PasswordCallback;
24 import com.sun.xml.wss.impl.callback.UsernameCallback;
25 import org.junit.After;
26 import org.junit.Assert;
27 import org.junit.Before;
28 import org.junit.Test;
29
30 public class SpringUsernamePasswordCallbackHandlerTest {
31
32 private SpringUsernamePasswordCallbackHandler handler;
33
34 @Before
35 public void setUp() throws Exception {
36 handler = new SpringUsernamePasswordCallbackHandler();
37 Authentication authentication = new UsernamePasswordAuthenticationToken("Bert", "Ernie");
38 SecurityContextHolder.getContext().setAuthentication(authentication);
39 }
40
41 @After
42 public void tearDown() throws Exception {
43 SecurityContextHolder.clearContext();
44 }
45
46 @Test
47 public void testUsernameCallback() throws Exception {
48 UsernameCallback usernameCallback = new UsernameCallback();
49 handler.handleInternal(usernameCallback);
50 Assert.assertEquals("Invalid username", "Bert", usernameCallback.getUsername());
51 }
52
53 @Test
54 public void testPasswordCallback() throws Exception {
55 PasswordCallback passwordCallback = new PasswordCallback();
56 handler.handleInternal(passwordCallback);
57 Assert.assertEquals("Invalid username", "Ernie", passwordCallback.getPassword());
58 }
59 }