public async Task Caching_Works()

in CachingProxyTests/src/CachingProxyTest.cs [76:104]


    public async Task Caching_Works()
    {
      await AssertGetResponse("/repo1.maven.org/maven2/org/apache/ant/ant-xz/1.10.5/ant-xz-1.10.5.jar", HttpStatusCode.OK,
        (message, bytes) =>
        {
          AssertStatusHeader(message, CachingProxyStatus.MISS);
          Assert.Equal("application/java-archive", message.Content.Headers.ContentType?.ToString());
          Assert.Equal(11541, GetContentLength(message));
          Assert.Equal(11541, bytes.Length);
          Assert.Equal("eca06bb19a4f55673f8f40d0a20eb0ee0342403ee5856b890d6c612e5facb027", SHA256(bytes));
          Assert.Equal("Tue, 10 Jul 2018 04:58:42 GMT", message.Content.Headers.GetValues("Last-Modified").Single());
          Assert.Equal("public, max-age=31536000", message.Headers.CacheControl?.ToString());
        });

      await AssertGetResponse("/repo1.maven.org/maven2/org/apache/ant/ant-xz/1.10.5/ant-xz-1.10.5.jar", HttpStatusCode.OK,
        (message, bytes) =>
        {
          AssertStatusHeader(message, CachingProxyStatus.HIT);
          Assert.Equal(11541, GetContentLength(message));
          Assert.Equal("application/java-archive", message.Content.Headers.ContentType?.ToString());
          Assert.Equal(11541, bytes.Length);
          Assert.Equal("eca06bb19a4f55673f8f40d0a20eb0ee0342403ee5856b890d6c612e5facb027", SHA256(bytes));
          Assert.Equal("Tue, 10 Jul 2018 04:58:42 GMT", message.Content.Headers.GetValues("Last-Modified").Single());
          Assert.Equal("public, max-age=31536000", message.Headers.CacheControl?.ToString());
        });

      Assert.Equal(11541, new FileInfo(
        Path.Combine(myTempDirectory, "repo1.maven.org/maven2/org/apache/ant/ant-xz/1.10.5/cache-ant-xz-1.10.5.jar")).Length);
    }