1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.dbcp2.datasources;
19
20 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
21 import static org.junit.jupiter.api.Assertions.assertEquals;
22 import static org.junit.jupiter.api.Assertions.assertNotEquals;
23
24 import org.apache.commons.dbcp2.Utils;
25 import org.apache.commons.lang3.SerializationUtils;
26 import org.junit.jupiter.api.BeforeEach;
27 import org.junit.jupiter.api.Test;
28
29
30
31
32 public class TestUserPassKey {
33
34 private UserPassKey userPassKey;
35 private UserPassKey anotherUserPassKey;
36
37 @BeforeEach
38 public void setUp() {
39 userPassKey = new UserPassKey("user", "pass");
40 anotherUserPassKey = new UserPassKey((String) null, "");
41 }
42
43 @Test
44 public void testEquals() {
45 assertEquals(new UserPassKey("user"), new UserPassKey("user", (char[]) null));
46 assertEquals(userPassKey, userPassKey);
47 assertNotEquals(userPassKey, null);
48 assertNotEquals(userPassKey, new Object());
49 assertNotEquals(new UserPassKey(null), userPassKey);
50 assertEquals(new UserPassKey(null), new UserPassKey(null));
51 assertNotEquals(new UserPassKey("user", "pass"), new UserPassKey("foo", "pass"));
52 }
53
54 @Test
55 public void testGettersAndSetters() {
56 assertEquals("user", userPassKey.getUserName());
57 assertEquals("pass", userPassKey.getPassword());
58 assertArrayEquals(Utils.toCharArray("pass"), userPassKey.getPasswordCharArray());
59 }
60
61 @Test
62 public void testHashcode() {
63 assertEquals(userPassKey.hashCode(), new UserPassKey("user", "pass").hashCode());
64 assertNotEquals(userPassKey.hashCode(), anotherUserPassKey.hashCode());
65 }
66
67 @Test
68 public void testSerialization() {
69 assertEquals(userPassKey, SerializationUtils.roundtrip(userPassKey));
70 assertEquals(anotherUserPassKey, SerializationUtils.roundtrip(anotherUserPassKey));
71 }
72
73 @Test
74 public void testToString() {
75 assertEquals(userPassKey.toString(), new UserPassKey("user", "pass").toString());
76 assertNotEquals(userPassKey.toString(), anotherUserPassKey.toString());
77 }
78 }