X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;ds=inline;f=dist%2Fhttp-resources%2F2.0.0%2Fxref-test%2Fde%2Fjuplo%2Fhttpresources%2FHttpResourceNotFetchedTest.html;fp=dist%2Fhttp-resources%2F2.0.0%2Fxref-test%2Fde%2Fjuplo%2Fhttpresources%2FHttpResourceNotFetchedTest.html;h=497af827510d91b578524bb4f1344010e803ac14;hb=96ec104e2974d001e9bc82c3af8b21029b2042d4;hp=0000000000000000000000000000000000000000;hpb=de1fa457a1c69c673d4dd5c0a2c9af568f74ea12;p=website diff --git a/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceNotFetchedTest.html b/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceNotFetchedTest.html new file mode 100644 index 00000000..497af827 --- /dev/null +++ b/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceNotFetchedTest.html @@ -0,0 +1,279 @@ + + +
++1 package de.juplo.httpresources; +2 +3 import org.junit.jupiter.api.BeforeEach; +4 import org.junit.jupiter.api.DisplayName; +5 import org.junit.jupiter.api.Test; +6 import org.junit.jupiter.api.extension.ExtendWith; +7 import org.mockito.Mock; +8 import org.mockito.junit.jupiter.MockitoExtension; +9 import org.mockito.junit.jupiter.MockitoSettings; +10 import org.mockito.quality.Strictness; +11 import org.slf4j.Logger; +12 import org.slf4j.LoggerFactory; +13 import org.springframework.cache.support.NoOpCache; +14 import org.springframework.http.HttpHeaders; +15 import org.springframework.test.context.junit.jupiter.SpringExtension; +16 +17 import java.net.URI; +18 import java.time.Clock; +19 import java.time.ZoneId; +20 +21 import static de.juplo.httpresources.TestUtil.*; +22 import static org.assertj.core.api.Assertions.assertThat; +23 import static org.junit.jupiter.api.Assertions.assertNull; +24 import static org.mockito.ArgumentMatchers.any; +25 import static org.mockito.ArgumentMatchers.eq; +26 import static org.mockito.Mockito.*; +27 +28 +29 @DisplayName(("HttpResource - Not Fetched")) +30 @ExtendWith({ SpringExtension.class, MockitoExtension.class }) +31 @MockitoSettings(strictness = Strictness.LENIENT) +32 public class HttpResourceNotFetchedTest +33 { +34 private final static Logger LOG = LoggerFactory.getLogger(HttpResourceNotFetchedTest.class); +35 +36 @Mock +37 HttpResourceFetcher fetcher; +38 +39 HttpResources resources; +40 URI uri; +41 HttpResource resource; +42 +43 +44 /************** SETUP */ +45 +46 @BeforeEach +47 public void setUp() +48 { +49 Clock clock = Clock.fixed(NOW.toInstant(), ZoneId.of("GMT")); +50 resources = new HttpResources(fetcher, clock); +51 uri = URI.create("http://foo/bar"); +52 resource = new HttpResource(resources, fetcher, clock, uri); +53 +54 // Everything is possible, nothing is necessary: Only defines behavior! +55 +56 HttpHeaders headers = new HttpHeaders(); +57 headers.setContentType(MIME_TYPE_CONTENT_TYPE_HTML); +58 +59 when(fetcher.fetch(any(), any())).thenReturn(DATA_NOT_EXPIRED); +60 } +61 +62 +63 /*************** Calls, that trigger a fetch */ +64 +65 @Test +66 @DisplayName(("call to fetch() triggers fetch")) +67 public void test_fetch_TriggersFetch() +68 { +69 LOG.info("<-- start of test-case"); +70 +71 resource.fetch(); +72 +73 // Do not verify implementation: Only verify necessary outcome! +74 verify(fetcher).fetch(eq(uri), any()); +75 } +76 +77 @Test +78 @DisplayName(("call to exists() triggers fetch")) +79 public void test_exists_TriggersFetch() +80 { +81 LOG.info("<-- start of test-case"); +82 +83 resource.exists(); +84 +85 // Do not verify implementation: Only verify necessary outcome! +86 verify(fetcher).fetch(eq(uri), any()); +87 } +88 +89 @Test +90 @DisplayName(("call to isReadable() triggers fetch")) +91 public void test_isReadable_TriggersFetch() +92 { +93 LOG.info("<-- start of test-case"); +94 +95 resource.isReadable(); +96 +97 // Do not verify implementation: Only verify necessary outcome! +98 verify(fetcher).fetch(eq(uri), any()); +99 } +100 +101 @Test +102 @DisplayName(("call to lastModified() triggers fetch")) +103 public void test_lastModified_TriggersFetch() throws Exception +104 { +105 LOG.info("<-- start of test-case"); +106 +107 resource.lastModified(); +108 +109 // Do not verify implementation: Only verify necessary outcome! +110 verify(fetcher).fetch(eq(uri), any()); +111 } +112 +113 @Test +114 @DisplayName(("call to isModified() triggers fetch")) +115 public void test_isModified_TriggersFetch() +116 { +117 LOG.info("<-- start of test-case"); +118 +119 resource.isModified(); +120 +121 // Do not verify implementation: Only verify necessary outcome! +122 verify(fetcher).fetch(eq(uri), any()); +123 } +124 +125 @Test +126 @DisplayName(("call to getInputStream() triggers fetch")) +127 public void test_getInputStream_TriggersFetch() throws Exception +128 { +129 LOG.info("<-- start of test-case"); +130 +131 resource.getInputStream(); +132 +133 // Do not verify implementation: Only verify necessary outcome! +134 verify(fetcher).fetch(eq(uri), any()); +135 } +136 +137 @Test +138 @DisplayName(("call to contentLength() does trigger fetch")) +139 public void test_contentLength_TriggersFetch() throws Exception +140 { +141 LOG.info("<-- start of test-case"); +142 +143 resource.contentLength(); +144 +145 // Do not verify implementation: Only verify necessary outcome! +146 verify(fetcher).fetch(eq(uri), any()); +147 } +148 +149 +150 /*************** Calls, that do not trigger a fetch */ +151 +152 @Test +153 @DisplayName(("call to fetched() does not trigger fetch")) +154 public void test_fetched_DoesNotTriggerFetch() throws Exception +155 { +156 LOG.info("<-- start of test-case"); +157 +158 resource.fetched(); +159 +160 // Do not verify implementation: Only verify necessary outcome! +161 verify(fetcher, never()).fetch(eq(uri), any()); +162 } +163 +164 @Test +165 @DisplayName(("call to expires() does not trigger fetch")) +166 public void test_expires_DoesNotTriggerFetch() throws Exception +167 { +168 LOG.info("<-- start of test-case"); +169 +170 resource.expires(); +171 +172 // Do not verify implementation: Only verify necessary outcome! +173 verify(fetcher, never()).fetch(eq(uri), any()); +174 } +175 +176 @Test +177 @DisplayName(("call to isExpired() does not trigger fetch")) +178 public void test_isExpired_DoesNotTriggerFetch() throws Exception +179 { +180 LOG.info("<-- start of test-case"); +181 +182 resource.isExpired(); +183 +184 // Do not verify implementation: Only verify necessary outcome! +185 verify(fetcher, never()).fetch(eq(uri), any()); +186 } +187 +188 @Test +189 @DisplayName(("call to eTag() does not trigger fetch")) +190 public void test_eTag_DoesNotTriggerFetch() throws Exception +191 { +192 LOG.info("<-- start of test-case"); +193 +194 resource.eTag(); +195 +196 // Do not verify implementation: Only verify necessary outcome! +197 verify(fetcher, never()).fetch(eq(uri), any()); +198 } +199 +200 @Test +201 @DisplayName(("call to contentType() does not trigger fetch")) +202 public void test_contentType_DoesNotTriggerFetch() throws Exception +203 { +204 LOG.info("<-- start of test-case"); +205 +206 resource.contentType(); +207 +208 // Do not verify implementation: Only verify necessary outcome! +209 verify(fetcher, never()).fetch(eq(uri), any()); +210 } +211 +212 +213 /*************** Initial results for calls, that does not trigger a fetch */ +214 +215 @Test +216 @DisplayName(("is not fetched")) +217 public void test_isNotFetched() throws Exception +218 { +219 LOG.info("<-- start of test-case"); +220 +221 assertThat(resource.fetched()).isFalse(); +222 } +223 +224 @Test +225 @DisplayName(("has Long.MIN_VALUE as initial expiration value")) +226 public void test_hasInitialExpirationValue() throws Exception +227 { +228 LOG.info("<-- start of test-case"); +229 +230 assertThat(resource.expires()).isEqualTo(Long.MIN_VALUE); +231 } +232 +233 @Test +234 @DisplayName(("is expired")) +235 public void test_isExpired() throws Exception +236 { +237 LOG.info("<-- start of test-case"); +238 +239 assertThat(resource.isExpired()).isTrue(); +240 } +241 +242 @Test +243 @DisplayName(("has no eTag")) +244 public void test_hasNoETag() throws Exception +245 { +246 LOG.info("<-- start of test-case"); +247 +248 assertThat(resource.eTag()).isNull(); +249 } +250 +251 @Test +252 @DisplayName(("has no content-type")) +253 public void test_hasNoContentType() throws Exception +254 { +255 LOG.info("<-- start of test-case"); +256 +257 assertThat(resource.contentType()).isNull(); +258 } +259 +260 +261 /*************** For results for calls, that does trigger a fetch, see +262 *************** - HttpResourceNotFetchedFirstFetchSuccessfullTest +263 *************** - HttpResourceNotFetchedFirstFetchNotFoundTest +264 *************** - HttpResourceNotFetchedFirstFetchServerErrorTest +265 ***************/ +266 } ++