X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=dist%2Fhttp-resources%2F2.0.0%2Fxref-test%2Fde%2Fjuplo%2Fhttpresources%2FHttpResourceNotExpiredFetchModifiedTest.html;fp=dist%2Fhttp-resources%2F2.0.0%2Fxref-test%2Fde%2Fjuplo%2Fhttpresources%2FHttpResourceNotExpiredFetchModifiedTest.html;h=d01e785d814e5144ceeef86f208c3a0d9a5a31c8;hb=96ec104e2974d001e9bc82c3af8b21029b2042d4;hp=0000000000000000000000000000000000000000;hpb=de1fa457a1c69c673d4dd5c0a2c9af568f74ea12;p=website diff --git a/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceNotExpiredFetchModifiedTest.html b/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceNotExpiredFetchModifiedTest.html new file mode 100644 index 00000000..d01e785d --- /dev/null +++ b/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceNotExpiredFetchModifiedTest.html @@ -0,0 +1,118 @@ + + +
++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.mockito.ArgumentMatchers.any; +24 import static org.mockito.ArgumentMatchers.eq; +25 import static org.mockito.Mockito.*; +26 +27 +28 @DisplayName(("HttpResource - Fetched - Not Expired - Fetch: Modified")) +29 @ExtendWith({ SpringExtension.class, MockitoExtension.class }) +30 @MockitoSettings(strictness = Strictness.LENIENT) +31 public class HttpResourceNotExpiredFetchModifiedTest +32 { +33 private final static Logger LOG = LoggerFactory.getLogger(HttpResourceNotExpiredFetchModifiedTest.class); +34 +35 @Mock +36 HttpResourceFetcher fetcher; +37 +38 HttpResources resources; +39 URI uri; +40 HttpResource resource; +41 +42 +43 /************** SETUP */ +44 +45 @BeforeEach +46 public void setUp() +47 { +48 Clock clock = Clock.fixed(NOW.toInstant(), ZoneId.of("GMT")); +49 resources = new HttpResources(fetcher, clock); +50 uri = URI.create("http://foo/bar"); +51 resource = new HttpResource(resources, fetcher, clock, uri); +52 resource.data = DATA_NOT_EXPIRED; +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_UPDATED); +60 } +61 +62 +63 /*************** For calls, that do not trigger a fetch see: HttpResourceNotExpiredTest */ +64 +65 +66 /*************** Calls, that trigger a fetch */ +67 +68 @Test +69 @DisplayName(("call to fetch() triggers fetch")) +70 public void test_fetch_TriggersFetch() +71 { +72 LOG.info("<-- start of test-case"); +73 +74 resource.fetch(); +75 +76 // Do not verify implementation: Only verify necessary outcome! +77 verify(fetcher).fetch(eq(uri), any()); +78 } +79 +80 +81 /*************** Results for calls, that does trigger a fetch */ +82 +83 @Test +84 @DisplayName(("fetch() returns true, if fetcher returned true")) +85 public void test_fetch_ReturnsTrueIfFetcherReturnedFalse() +86 { +87 LOG.info("<-- start of test-case"); +88 +89 assertThat(resource.fetch()).isTrue(); +90 } +91 +92 +93 /*************** Expected state after calls that trigger a fetch */ +94 +95 @Test +96 @DisplayName(("fetch() updates data")) +97 public void test_fetch_UpdatesData() +98 { +99 LOG.info("<-- start of test-case"); +100 +101 resource.fetch(); +102 +103 assertThat(resource.data).isSameAs(DATA_UPDATED); +104 } +105 } ++