X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=dist%2Fhttp-resources%2F2.0.0%2Fxref-test%2Fde%2Fjuplo%2Fhttpresources%2FHttpResourceExpiredFetchServerErrorTest.html;fp=dist%2Fhttp-resources%2F2.0.0%2Fxref-test%2Fde%2Fjuplo%2Fhttpresources%2FHttpResourceExpiredFetchServerErrorTest.html;h=5b9a6d6aedb75f2920a2b85eb9d695629cae812e;hb=96ec104e2974d001e9bc82c3af8b21029b2042d4;hp=0000000000000000000000000000000000000000;hpb=de1fa457a1c69c673d4dd5c0a2c9af568f74ea12;p=website diff --git a/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceExpiredFetchServerErrorTest.html b/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceExpiredFetchServerErrorTest.html new file mode 100644 index 00000000..5b9a6d6a --- /dev/null +++ b/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceExpiredFetchServerErrorTest.html @@ -0,0 +1,186 @@ + + + +/home/kai/Dokumente/yourshouter/http-resources/src/test/java/de/juplo/httpresources/HttpResourceExpiredFetchServerErrorTest.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.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 - Expired - Fetch: Server Error"))
+31  @ExtendWith({ SpringExtension.class, MockitoExtension.class })
+32  @MockitoSettings(strictness = Strictness.LENIENT)
+33  public class HttpResourceExpiredFetchServerErrorTest
+34  {
+35    private final static Logger LOG = LoggerFactory.getLogger(HttpResourceExpiredFetchServerErrorTest.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_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    /*************** Results for calls, that did trigger a fetch */
+66  
+67    @Test
+68    @DisplayName(("fetch() reports modifications"))
+69    public void test_fetch_ReportsModifications()
+70    {
+71      LOG.info("<-- start of test-case");
+72  
+73      assertThat(resource.fetch()).isTrue();
+74    }
+75  
+76    @Test
+77    @DisplayName(("exists() is false"))
+78    public void test_exists_ReportsFalse()
+79    {
+80      LOG.info("<-- start of test-case");
+81  
+82      assertThat(resource.exists()).isFalse();
+83    }
+84  
+85    @Test
+86    @DisplayName(("isReadable() is false"))
+87    public void test_isReadable_ReportsFalse()
+88    {
+89      LOG.info("<-- start of test-case");
+90  
+91      assertThat(resource.isReadable()).isFalse();
+92    }
+93  
+94    @Test
+95    @DisplayName(("isModified() reports modifications"))
+96    public void test_isModified_ReportsModifications()
+97    {
+98      LOG.info("<-- start of test-case");
+99  
+100     assertThat(resource.isModified()).isTrue();
+101   }
+102 
+103   @Test
+104   @DisplayName(("getInputStream() throws FileNotFoundException"))
+105   public void test_HasNoContent()
+106   {
+107     LOG.info("<-- start of test-case");
+108 
+109     assertThatExceptionOfType(FileNotFoundException.class).isThrownBy(() -> resource.getInputStream());
+110   }
+111 
+112 
+113   /*************** Expected state after calls, that did trigger a fetch */
+114 
+115   @Test
+116   @DisplayName(("fetch() updates data"))
+117   public void test_fetch_UpdatesData()
+118   {
+119     LOG.info("<-- start of test-case");
+120 
+121     resource.fetch();
+122 
+123     assertThat(resource.data).isSameAs(SERVER_ERROR);
+124   }
+125 
+126   @Test
+127   @DisplayName(("exists() updates data"))
+128   public void test_exists_UpdatesData()
+129   {
+130     LOG.info("<-- start of test-case");
+131 
+132     resource.exists();
+133 
+134     assertThat(resource.data).isSameAs(SERVER_ERROR);
+135   }
+136 
+137   @Test
+138   @DisplayName(("isReadable() updates data"))
+139   public void test_isReadable_UpdatesData()
+140   {
+141     LOG.info("<-- start of test-case");
+142 
+143     resource.isReadable();
+144 
+145     assertThat(resource.data).isSameAs(SERVER_ERROR);
+146   }
+147 
+148   @Test
+149   @DisplayName(("isModified() updates data"))
+150   public void test_isModified_UpdatesData()
+151   {
+152     LOG.info("<-- start of test-case");
+153 
+154     resource.isModified();
+155 
+156     assertThat(resource.data).isSameAs(SERVER_ERROR);
+157   }
+158 
+159   @Test
+160   @DisplayName(("getInputStream() updates data"))
+161   public void test_getInputStream_UpdatesData()
+162   {
+163     LOG.info("<-- start of test-case");
+164 
+165     try
+166     {
+167       resource.getInputStream();
+168     }
+169     catch(Exception e) {}
+170 
+171     assertThat(resource.data).isSameAs(SERVER_ERROR);
+172   }
+173 }
+
+
+ + +