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 package org.apache.hc.core5.http.protocol;
29
30 import org.junit.jupiter.api.Assertions;
31 import org.junit.jupiter.api.Test;
32
33
34
35 public class TestHttpExecutionContext {
36
37 @Test
38 public void testContextOperations() {
39 final HttpContext parentContext = new BasicHttpContext(null);
40 final HttpContext currentContext = new BasicHttpContext(parentContext);
41
42 parentContext.setAttribute("param1", "1");
43 parentContext.setAttribute("param2", "2");
44 currentContext.setAttribute("param3", "3");
45 currentContext.setAttribute("param2", "4");
46
47 Assertions.assertEquals("1", parentContext.getAttribute("param1"));
48 Assertions.assertEquals("2", parentContext.getAttribute("param2"));
49 Assertions.assertNull(parentContext.getAttribute("param3"));
50
51 Assertions.assertEquals("1", currentContext.getAttribute("param1"));
52 Assertions.assertEquals("4", currentContext.getAttribute("param2"));
53 Assertions.assertEquals("3", currentContext.getAttribute("param3"));
54 Assertions.assertNull(currentContext.getAttribute("param4"));
55
56 currentContext.removeAttribute("param1");
57 currentContext.removeAttribute("param2");
58 currentContext.removeAttribute("param3");
59 currentContext.removeAttribute("param4");
60
61 Assertions.assertEquals("1", currentContext.getAttribute("param1"));
62 Assertions.assertEquals("2", currentContext.getAttribute("param2"));
63 Assertions.assertNull(currentContext.getAttribute("param3"));
64 Assertions.assertNull(currentContext.getAttribute("param4"));
65 }
66
67 @Test
68 public void testEmptyContextOperations() {
69 final HttpContext currentContext = new BasicHttpContext(null);
70 Assertions.assertNull(currentContext.getAttribute("param1"));
71 currentContext.removeAttribute("param1");
72 Assertions.assertNull(currentContext.getAttribute("param1"));
73 }
74
75 @Test
76 public void testContextInvalidInput() throws Exception {
77 final HttpContext currentContext = new BasicHttpContext(null);
78 Assertions.assertThrows(NullPointerException.class, () -> currentContext.setAttribute(null, null));
79 Assertions.assertThrows(NullPointerException.class, () -> currentContext.getAttribute(null));
80 Assertions.assertThrows(NullPointerException.class, () -> currentContext.removeAttribute(null));
81 }
82
83 }