-
-
Notifications
You must be signed in to change notification settings - Fork 200
Expand file tree
/
Copy pathSessionTest.java
More file actions
86 lines (69 loc) · 2.07 KB
/
SessionTest.java
File metadata and controls
86 lines (69 loc) · 2.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/*
* Jooby https://jooby.io
* Apache License Version 2.0 https://jooby.io/LICENSE.txt
* Copyright 2014 Edgar Espina
*/
package io.jooby;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.mockito.Mockito.CALLS_REAL_METHODS;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.mockito.Mockito.withSettings;
import java.util.HashMap;
import java.util.Map;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
public class SessionTest {
private Session session;
@BeforeEach
void setUp() {
// We mock the interface to test default methods
session = mock(Session.class, withSettings().defaultAnswer(CALLS_REAL_METHODS));
}
@Test
void putOverloads() {
// int
session.put("k1", 100);
verify(session).put("k1", "100");
// long
session.put("k2", 200L);
verify(session).put("k2", "200");
// float
session.put("k3", 1.5f);
verify(session).put("k3", "1.5");
// double
session.put("k4", 2.5d);
verify(session).put("k4", "2.5");
// boolean
session.put("k5", true);
verify(session).put("k5", "true");
// CharSequence
session.put("k6", new StringBuilder("hello"));
verify(session).put("k6", "hello");
// Number
session.put("k7", (Number) 500);
verify(session).put("k7", "500");
}
@Test
void staticCreate() {
Context ctx = mock(Context.class);
when(ctx.getValueFactory()).thenReturn(mock(io.jooby.value.ValueFactory.class));
// create(ctx, id)
Session s1 = Session.create(ctx, "123");
assertNotNull(s1);
assertEquals("123", s1.getId());
// create(ctx, id, data)
Map<String, String> data = new HashMap<>();
data.put("foo", "bar");
Session s2 = Session.create(ctx, "456", data);
assertNotNull(s2);
assertEquals("456", s2.getId());
assertEquals("bar", s2.get("foo").value());
}
@Test
void constants() {
assertEquals("session", Session.NAME);
}
}