X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=dist%2Fhttp-resources%2F2.0.0%2Fxref-test%2Fde%2Fjuplo%2Fhttpresources%2FHttpResourceNotExpiredFetchUnmodifiedTest.html;fp=dist%2Fhttp-resources%2F2.0.0%2Fxref-test%2Fde%2Fjuplo%2Fhttpresources%2FHttpResourceNotExpiredFetchUnmodifiedTest.html;h=f99a4f4f8f5857d71c77823d0e184a5005e3af80;hb=96ec104e2974d001e9bc82c3af8b21029b2042d4;hp=0000000000000000000000000000000000000000;hpb=de1fa457a1c69c673d4dd5c0a2c9af568f74ea12;p=website diff --git a/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceNotExpiredFetchUnmodifiedTest.html b/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceNotExpiredFetchUnmodifiedTest.html new file mode 100644 index 00000000..f99a4f4f --- /dev/null +++ b/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceNotExpiredFetchUnmodifiedTest.html @@ -0,0 +1,102 @@ + + +
++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.Mockito.*; +25 +26 +27 @DisplayName(("HttpResource - Fetched - Not Expired - Fetch: Unmodified")) +28 @ExtendWith({ SpringExtension.class, MockitoExtension.class }) +29 @MockitoSettings(strictness = Strictness.LENIENT) +30 public class HttpResourceNotExpiredFetchUnmodifiedTest +31 { +32 private final static Logger LOG = LoggerFactory.getLogger(HttpResourceNotExpiredFetchUnmodifiedTest.class); +33 +34 @Mock +35 HttpResourceFetcher fetcher; +36 +37 HttpResources resources; +38 URI uri; +39 HttpResource resource; +40 +41 +42 /************** SETUP */ +43 +44 @BeforeEach +45 public void setUp() +46 { +47 Clock clock = Clock.fixed(NOW.toInstant(), ZoneId.of("GMT")); +48 resources = new HttpResources(fetcher, clock); +49 uri = URI.create("http://foo/bar"); +50 resource = new HttpResource(resources, fetcher, clock, uri); +51 resource.data = DATA_NOT_EXPIRED; +52 +53 // Everything is possible, nothing is necessary: Only defines behavior! +54 +55 HttpHeaders headers = new HttpHeaders(); +56 headers.setContentType(MIME_TYPE_CONTENT_TYPE_HTML); +57 +58 when(fetcher.fetch(any(), any())).thenReturn(DATA_NOT_EXPIRED_DUMMY); +59 } +60 +61 +62 /*************** For calls, that do not trigger a fetch see: HttpResourceNotExpiredTest */ +63 +64 +65 /*************** Results for calls, that does trigger a fetch */ +66 +67 @Test +68 @DisplayName(("fetch() returns false, if fetcher returned false")) +69 public void test_fetch_ReturnsFalseIfFetcherReturnedFalse() +70 { +71 LOG.info("<-- start of test-case"); +72 +73 assertThat(resource.fetch()).isFalse(); +74 } +75 +76 +77 /*************** Expected state after calls that trigger a fetch */ +78 +79 @Test +80 @DisplayName(("fetch() updates data")) +81 public void test_fetch_UpdatesData() +82 { +83 LOG.info("<-- start of test-case"); +84 +85 resource.fetch(); +86 +87 assertThat(resource.data).isSameAs(DATA_NOT_EXPIRED_DUMMY); +88 } +89 } ++