X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=dist%2Fhttp-resources%2F2.0.0%2Fxref-test%2Fde%2Fjuplo%2Fhttpresources%2FHttpResourceNotExpiredFetchServerErrorTest.html;fp=dist%2Fhttp-resources%2F2.0.0%2Fxref-test%2Fde%2Fjuplo%2Fhttpresources%2FHttpResourceNotExpiredFetchServerErrorTest.html;h=323785b006232e82c4744e52081d7c8644db9c8d;hb=96ec104e2974d001e9bc82c3af8b21029b2042d4;hp=0000000000000000000000000000000000000000;hpb=de1fa457a1c69c673d4dd5c0a2c9af568f74ea12;p=website diff --git a/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceNotExpiredFetchServerErrorTest.html b/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceNotExpiredFetchServerErrorTest.html new file mode 100644 index 00000000..323785b0 --- /dev/null +++ b/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceNotExpiredFetchServerErrorTest.html @@ -0,0 +1,120 @@ + + + +/home/kai/Dokumente/yourshouter/http-resources/src/test/java/de/juplo/httpresources/HttpResourceNotExpiredFetchServerErrorTest.java xref + + + +
View Javadoc
+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.HttpData.SERVER_ERROR;
+22  import static de.juplo.httpresources.TestUtil.*;
+23  import static org.assertj.core.api.Assertions.assertThat;
+24  import static org.mockito.ArgumentMatchers.any;
+25  import static org.mockito.ArgumentMatchers.eq;
+26  import static org.mockito.Mockito.verify;
+27  import static org.mockito.Mockito.when;
+28  
+29  
+30  @DisplayName(("HttpResource - Fetched - Not Expired - Fetch: Server Error"))
+31  @ExtendWith({ SpringExtension.class, MockitoExtension.class })
+32  @MockitoSettings(strictness = Strictness.LENIENT)
+33  public class HttpResourceNotExpiredFetchServerErrorTest
+34  {
+35    private final static Logger LOG = LoggerFactory.getLogger(HttpResourceNotExpiredFetchServerErrorTest.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      resource.data = DATA_NOT_EXPIRED;
+55  
+56      // Everything is possible, nothing is necessary: Only defines behavior!
+57  
+58      HttpHeaders headers = new HttpHeaders();
+59      headers.setContentType(MIME_TYPE_CONTENT_TYPE_HTML);
+60  
+61      when(fetcher.fetch(any(), any())).thenReturn(SERVER_ERROR);
+62    }
+63  
+64  
+65    /*************** Calls, that trigger a fetch */
+66  
+67    @Test
+68    @DisplayName(("call to fetch() triggers fetch"))
+69    public void test_fetch_TriggersFetch()
+70    {
+71      LOG.info("<-- start of test-case");
+72  
+73      resource.fetch();
+74  
+75      // Do not verify implementation: Only verify necessary outcome!
+76      verify(fetcher).fetch(eq(uri), any());
+77    }
+78  
+79  
+80    /*************** For calls, that do not trigger a fetch see: HttpResourceNotExpiredTest */
+81  
+82  
+83    /*************** Results for calls, that does trigger a fetch */
+84  
+85    @Test
+86    @DisplayName(("fetch() returns true, if fetcher returned true"))
+87    public void test_fetch_ReturnsTrueIfFetcherReturnedFalse()
+88    {
+89      LOG.info("<-- start of test-case");
+90  
+91      assertThat(resource.fetch()).isTrue();
+92    }
+93  
+94  
+95    /*************** Expected state after calls that trigger a fetch */
+96  
+97    @Test
+98    @DisplayName(("fetch() updates data"))
+99    public void test_fetch_UpdatesData()
+100   {
+101     LOG.info("<-- start of test-case");
+102 
+103     resource.fetch();
+104 
+105     assertThat(resource.data).isSameAs(SERVER_ERROR);
+106   }
+107 }
+
+
+ + +