X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=dist%2Fhttp-resources%2F2.0.0%2Fxref-test%2Fde%2Fjuplo%2Fhttpresources%2FHttpResourceNotFetchedFirstFetchNotFoundTest.html;fp=dist%2Fhttp-resources%2F2.0.0%2Fxref-test%2Fde%2Fjuplo%2Fhttpresources%2FHttpResourceNotFetchedFirstFetchNotFoundTest.html;h=662db79eb9ecd6d863083b043a9f18639d8b0022;hb=96ec104e2974d001e9bc82c3af8b21029b2042d4;hp=0000000000000000000000000000000000000000;hpb=de1fa457a1c69c673d4dd5c0a2c9af568f74ea12;p=website diff --git a/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceNotFetchedFirstFetchNotFoundTest.html b/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceNotFetchedFirstFetchNotFoundTest.html new file mode 100644 index 00000000..662db79e --- /dev/null +++ b/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceNotFetchedFirstFetchNotFoundTest.html @@ -0,0 +1,232 @@ + + +
++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.io.FileNotFoundException; +18 import java.net.URI; +19 import java.time.Clock; +20 import java.time.ZoneId; +21 +22 import static de.juplo.httpresources.TestUtil.*; +23 import static org.assertj.core.api.Assertions.assertThat; +24 import static org.assertj.core.api.Assertions.assertThatExceptionOfType; +25 import static org.mockito.ArgumentMatchers.any; +26 import static org.mockito.Mockito.when; +27 +28 +29 @DisplayName(("HttpResource - Not Fetched - First Fetch: Not Found")) +30 @ExtendWith({ SpringExtension.class, MockitoExtension.class }) +31 @MockitoSettings(strictness = Strictness.LENIENT) +32 public class HttpResourceNotFetchedFirstFetchNotFoundTest +33 { +34 private final static Logger LOG = LoggerFactory.getLogger(HttpResourceNotFetchedFirstFetchNotFoundTest.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_FOUND); +60 } +61 +62 +63 /*************** Results for calls, that trigger a fetch */ +64 +65 @Test +66 @DisplayName(("fetch() reports modifications")) +67 public void test_fetch_ReportsModifications() +68 { +69 LOG.info("<-- start of test-case"); +70 +71 assertThat(resource.fetch()).isTrue(); +72 } +73 +74 @Test +75 @DisplayName(("exists() is false")) +76 public void test_exists_IsFalse() +77 { +78 LOG.info("<-- start of test-case"); +79 +80 assertThat(resource.exists()).isFalse(); +81 } +82 +83 @Test +84 @DisplayName(("isReadable() is false")) +85 public void test_isReadable_IsFalse() +86 { +87 LOG.info("<-- start of test-case"); +88 +89 assertThat(resource.isReadable()).isFalse(); +90 } +91 +92 @Test +93 @DisplayName(("lastModified() returns the expected time")) +94 public void test_lastModified_ReturnsExpectedTime() throws Exception +95 { +96 LOG.info("<-- start of test-case"); +97 +98 assertThatExceptionOfType(FileNotFoundException.class).isThrownBy(() -> resource.lastModified()); +99 } +100 +101 @Test +102 @DisplayName(("isModified() if true")) +103 public void test_isModified_IsTrue() +104 { +105 LOG.info("<-- start of test-case"); +106 +107 assertThat(resource.isModified()).isTrue(); +108 } +109 +110 @Test +111 @DisplayName(("getInputStream() throws FileNotFoundException")) +112 public void test_getInputStream_ThrowsFileNotFoundException() throws Exception +113 { +114 LOG.info("<-- start of test-case"); +115 +116 assertThatExceptionOfType(FileNotFoundException.class).isThrownBy(() -> resource.getInputStream()); +117 } +118 +119 @Test +120 @DisplayName(("contentLength() throws FileNotFoundException")) +121 public void test_contentLength_ThrowsFileNotFoundException() throws Exception +122 { +123 LOG.info("<-- start of test-case"); +124 +125 assertThatExceptionOfType(FileNotFoundException.class).isThrownBy(() -> resource.contentLength()); +126 } +127 +128 +129 /*************** Expected state after calls that trigger a fetch */ +130 +131 @Test +132 @DisplayName(("call to fetch() updates data")) +133 public void test_fetch_UpdatesData() +134 { +135 LOG.info("<-- start of test-case"); +136 +137 resource.fetch(); +138 +139 assertThat(resource.data).isSameAs(DATA_NOT_FOUND); +140 } +141 +142 @Test +143 @DisplayName(("call to exists() updates data")) +144 public void test_exists_UpdatesData() +145 { +146 LOG.info("<-- start of test-case"); +147 +148 resource.exists(); +149 +150 assertThat(resource.data).isSameAs(DATA_NOT_FOUND); +151 } +152 +153 @Test +154 @DisplayName(("call to isReadable() updates data")) +155 public void test_isReadable_UpdatesData() +156 { +157 LOG.info("<-- start of test-case"); +158 +159 resource.isReadable(); +160 +161 assertThat(resource.data).isSameAs(DATA_NOT_FOUND); +162 } +163 +164 @Test +165 @DisplayName(("call to lastModified() updates data")) +166 public void test_lastModified_UpdatesData() throws Exception +167 { +168 LOG.info("<-- start of test-case"); +169 +170 try +171 { +172 resource.lastModified(); +173 } +174 catch (FileNotFoundException e) {} +175 +176 assertThat(resource.data).isSameAs(DATA_NOT_FOUND); +177 } +178 +179 @Test +180 @DisplayName(("call to isModified() updates data")) +181 public void test_isModified_UpdatesData() +182 { +183 LOG.info("<-- start of test-case"); +184 +185 resource.isModified(); +186 +187 assertThat(resource.data).isSameAs(DATA_NOT_FOUND); +188 } +189 +190 @Test +191 @DisplayName(("call to getInputStream() updates data")) +192 public void test_getInputStream_UpdatesData() throws Exception +193 { +194 LOG.info("<-- start of test-case"); +195 +196 try +197 { +198 resource.getInputStream(); +199 } +200 catch (FileNotFoundException e) {} +201 +202 assertThat(resource.data).isSameAs(DATA_NOT_FOUND); +203 } +204 +205 @Test +206 @DisplayName(("call to contentLength() updates data")) +207 public void test_contentLength_UpdatesData() throws Exception +208 { +209 LOG.info("<-- start of test-case"); +210 +211 try +212 { +213 resource.contentLength(); +214 } +215 catch (FileNotFoundException e) {} +216 +217 assertThat(resource.data).isSameAs(DATA_NOT_FOUND); +218 } +219 } ++