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