X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=dist%2Fhttp-resources%2F2.0.0%2Fxref-test%2Fde%2Fjuplo%2Fhttpresources%2FHttpResourceNotFetchedTest.html;fp=dist%2Fhttp-resources%2F2.0.0%2Fxref-test%2Fde%2Fjuplo%2Fhttpresources%2FHttpResourceNotFetchedTest.html;h=497af827510d91b578524bb4f1344010e803ac14;hb=96ec104e2974d001e9bc82c3af8b21029b2042d4;hp=0000000000000000000000000000000000000000;hpb=de1fa457a1c69c673d4dd5c0a2c9af568f74ea12;p=website diff --git a/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceNotFetchedTest.html b/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceNotFetchedTest.html new file mode 100644 index 00000000..497af827 --- /dev/null +++ b/dist/http-resources/2.0.0/xref-test/de/juplo/httpresources/HttpResourceNotFetchedTest.html @@ -0,0 +1,279 @@ + + + +/home/kai/Dokumente/yourshouter/http-resources/src/test/java/de/juplo/httpresources/HttpResourceNotFetchedTest.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.TestUtil.*;
+22  import static org.assertj.core.api.Assertions.assertThat;
+23  import static org.junit.jupiter.api.Assertions.assertNull;
+24  import static org.mockito.ArgumentMatchers.any;
+25  import static org.mockito.ArgumentMatchers.eq;
+26  import static org.mockito.Mockito.*;
+27  
+28  
+29  @DisplayName(("HttpResource - Not Fetched"))
+30  @ExtendWith({ SpringExtension.class, MockitoExtension.class })
+31  @MockitoSettings(strictness = Strictness.LENIENT)
+32  public class HttpResourceNotFetchedTest
+33  {
+34    private final static Logger LOG = LoggerFactory.getLogger(HttpResourceNotFetchedTest.class);
+35  
+36    @Mock
+37    HttpResourceFetcher fetcher;
+38  
+39    HttpResources resources;
+40    URI uri;
+41    HttpResource resource;
+42  
+43  
+44    /************** SETUP */
+45  
+46    @BeforeEach
+47    public void setUp()
+48    {
+49      Clock clock = Clock.fixed(NOW.toInstant(), ZoneId.of("GMT"));
+50      resources = new HttpResources(fetcher, clock);
+51      uri = URI.create("http://foo/bar");
+52      resource = new HttpResource(resources, fetcher, clock, uri);
+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_NOT_EXPIRED);
+60    }
+61  
+62  
+63    /*************** Calls, that trigger a fetch */
+64  
+65    @Test
+66    @DisplayName(("call to fetch() triggers fetch"))
+67    public void test_fetch_TriggersFetch()
+68    {
+69      LOG.info("<-- start of test-case");
+70  
+71      resource.fetch();
+72  
+73      // Do not verify implementation: Only verify necessary outcome!
+74      verify(fetcher).fetch(eq(uri), any());
+75    }
+76  
+77    @Test
+78    @DisplayName(("call to exists() triggers fetch"))
+79    public void test_exists_TriggersFetch()
+80    {
+81      LOG.info("<-- start of test-case");
+82  
+83      resource.exists();
+84  
+85      // Do not verify implementation: Only verify necessary outcome!
+86      verify(fetcher).fetch(eq(uri), any());
+87    }
+88  
+89    @Test
+90    @DisplayName(("call to isReadable() triggers fetch"))
+91    public void test_isReadable_TriggersFetch()
+92    {
+93      LOG.info("<-- start of test-case");
+94  
+95      resource.isReadable();
+96  
+97      // Do not verify implementation: Only verify necessary outcome!
+98      verify(fetcher).fetch(eq(uri), any());
+99    }
+100 
+101   @Test
+102   @DisplayName(("call to lastModified() triggers fetch"))
+103   public void test_lastModified_TriggersFetch() throws Exception
+104   {
+105     LOG.info("<-- start of test-case");
+106 
+107     resource.lastModified();
+108 
+109     // Do not verify implementation: Only verify necessary outcome!
+110     verify(fetcher).fetch(eq(uri), any());
+111   }
+112 
+113   @Test
+114   @DisplayName(("call to isModified() triggers fetch"))
+115   public void test_isModified_TriggersFetch()
+116   {
+117     LOG.info("<-- start of test-case");
+118 
+119     resource.isModified();
+120 
+121     // Do not verify implementation: Only verify necessary outcome!
+122     verify(fetcher).fetch(eq(uri), any());
+123   }
+124 
+125   @Test
+126   @DisplayName(("call to getInputStream() triggers fetch"))
+127   public void test_getInputStream_TriggersFetch() throws Exception
+128   {
+129     LOG.info("<-- start of test-case");
+130 
+131     resource.getInputStream();
+132 
+133     // Do not verify implementation: Only verify necessary outcome!
+134     verify(fetcher).fetch(eq(uri), any());
+135   }
+136 
+137   @Test
+138   @DisplayName(("call to contentLength() does trigger fetch"))
+139   public void test_contentLength_TriggersFetch() throws Exception
+140   {
+141     LOG.info("<-- start of test-case");
+142 
+143     resource.contentLength();
+144 
+145     // Do not verify implementation: Only verify necessary outcome!
+146     verify(fetcher).fetch(eq(uri), any());
+147   }
+148 
+149 
+150   /*************** Calls, that do not trigger a fetch */
+151 
+152   @Test
+153   @DisplayName(("call to fetched() does not trigger fetch"))
+154   public void test_fetched_DoesNotTriggerFetch() throws Exception
+155   {
+156     LOG.info("<-- start of test-case");
+157 
+158     resource.fetched();
+159 
+160     // Do not verify implementation: Only verify necessary outcome!
+161     verify(fetcher, never()).fetch(eq(uri), any());
+162   }
+163 
+164   @Test
+165   @DisplayName(("call to expires() does not trigger fetch"))
+166   public void test_expires_DoesNotTriggerFetch() throws Exception
+167   {
+168     LOG.info("<-- start of test-case");
+169 
+170     resource.expires();
+171 
+172     // Do not verify implementation: Only verify necessary outcome!
+173     verify(fetcher, never()).fetch(eq(uri), any());
+174   }
+175 
+176   @Test
+177   @DisplayName(("call to isExpired() does not trigger fetch"))
+178   public void test_isExpired_DoesNotTriggerFetch() throws Exception
+179   {
+180     LOG.info("<-- start of test-case");
+181 
+182     resource.isExpired();
+183 
+184     // Do not verify implementation: Only verify necessary outcome!
+185     verify(fetcher, never()).fetch(eq(uri), any());
+186   }
+187 
+188   @Test
+189   @DisplayName(("call to eTag() does not trigger fetch"))
+190   public void test_eTag_DoesNotTriggerFetch() throws Exception
+191   {
+192     LOG.info("<-- start of test-case");
+193 
+194     resource.eTag();
+195 
+196     // Do not verify implementation: Only verify necessary outcome!
+197     verify(fetcher, never()).fetch(eq(uri), any());
+198   }
+199 
+200   @Test
+201   @DisplayName(("call to contentType() does not trigger fetch"))
+202   public void test_contentType_DoesNotTriggerFetch() throws Exception
+203   {
+204     LOG.info("<-- start of test-case");
+205 
+206     resource.contentType();
+207 
+208     // Do not verify implementation: Only verify necessary outcome!
+209     verify(fetcher, never()).fetch(eq(uri), any());
+210   }
+211 
+212 
+213   /*************** Initial results for calls, that does not trigger a fetch */
+214 
+215   @Test
+216   @DisplayName(("is not fetched"))
+217   public void test_isNotFetched() throws Exception
+218   {
+219     LOG.info("<-- start of test-case");
+220 
+221     assertThat(resource.fetched()).isFalse();
+222   }
+223 
+224   @Test
+225   @DisplayName(("has Long.MIN_VALUE as initial expiration value"))
+226   public void test_hasInitialExpirationValue() throws Exception
+227   {
+228     LOG.info("<-- start of test-case");
+229 
+230     assertThat(resource.expires()).isEqualTo(Long.MIN_VALUE);
+231   }
+232 
+233   @Test
+234   @DisplayName(("is expired"))
+235   public void test_isExpired() throws Exception
+236   {
+237     LOG.info("<-- start of test-case");
+238 
+239     assertThat(resource.isExpired()).isTrue();
+240   }
+241 
+242   @Test
+243   @DisplayName(("has no eTag"))
+244   public void test_hasNoETag() throws Exception
+245   {
+246     LOG.info("<-- start of test-case");
+247 
+248     assertThat(resource.eTag()).isNull();
+249   }
+250 
+251   @Test
+252   @DisplayName(("has no content-type"))
+253   public void test_hasNoContentType() throws Exception
+254   {
+255     LOG.info("<-- start of test-case");
+256 
+257     assertThat(resource.contentType()).isNull();
+258   }
+259 
+260 
+261   /*************** For results for calls, that does trigger a fetch, see
+262    *************** - HttpResourceNotFetchedFirstFetchSuccessfullTest
+263    *************** - HttpResourceNotFetchedFirstFetchNotFoundTest
+264    *************** - HttpResourceNotFetchedFirstFetchServerErrorTest
+265    ***************/
+266 }
+
+
+ + +