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 package org.apache.hc.client5.http.impl.cache;
28
29 import static org.hamcrest.MatcherAssert.assertThat;
30
31 import org.apache.hc.client5.http.HeaderMatcher;
32 import org.apache.hc.client5.http.cache.RequestCacheControl;
33 import org.junit.jupiter.api.Assertions;
34 import org.junit.jupiter.api.Test;
35
36 class CacheControlGeneratorTest {
37
38 private final CacheControlHeaderGenerator generator = CacheControlHeaderGenerator.INSTANCE;
39
40 @Test
41 void testGenerateRequestCacheControlHeader() {
42 assertThat(generator.generate(
43 RequestCacheControl.builder()
44 .setMaxAge(12)
45 .setMaxStale(23)
46 .setMinFresh(34)
47 .setNoCache(true)
48 .setNoStore(true)
49 .setOnlyIfCached(true)
50 .setStaleIfError(56)
51 .build()),
52 HeaderMatcher.same("Cache-Control", "max-age=12, max-stale=23, " +
53 "min-fresh=34, no-cache, no-store, only-if-cached, stale-if-error=56"));
54 assertThat(generator.generate(
55 RequestCacheControl.builder()
56 .setMaxAge(12)
57 .setNoCache(true)
58 .setMinFresh(34)
59 .setMaxStale(23)
60 .setNoStore(true)
61 .setStaleIfError(56)
62 .setOnlyIfCached(true)
63 .build()),
64 HeaderMatcher.same("Cache-Control", "max-age=12, max-stale=23, " +
65 "min-fresh=34, no-cache, no-store, only-if-cached, stale-if-error=56"));
66 assertThat(generator.generate(
67 RequestCacheControl.builder()
68 .setMaxAge(0)
69 .build()),
70 HeaderMatcher.same("Cache-Control", "max-age=0"));
71 assertThat(generator.generate(
72 RequestCacheControl.builder()
73 .setMaxAge(-1)
74 .setMinFresh(10)
75 .build()),
76 HeaderMatcher.same("Cache-Control", "min-fresh=10"));
77 }
78
79 @Test
80 void testGenerateRequestCacheControlHeaderNoDirectives() {
81 final RequestCacheControl cacheControl = RequestCacheControl.builder()
82 .build();
83 Assertions.assertNull(generator.generate(cacheControl));
84 }
85
86 }