public void WriteGetObjectResponseTests(string clientRegion, string endpointUrl, string expectedEndpointHost) { var request = new WriteGetObjectResponseRequest { RequestRoute = "route", RequestToken = "token" }; var config = new AmazonS3Config(); config.RegionEndpoint = RegionEndpoint.GetBySystemName(clientRegion); if (!string.IsNullOrEmpty(endpointUrl)) { config.ServiceURL = endpointUrl; } var internalRequest = S3ArnTestUtils.RunMockRequest(request, WriteGetObjectResponseRequestMarshaller.Instance, config); Assert.AreEqual(expectedEndpointHost, internalRequest.Endpoint.Host); }
public void WriteGetObjectResponseWithWithChunkedEncodingTest() { var request = new WriteGetObjectResponseRequest { RequestRoute = "route", RequestToken = "token", Body = new MyTestStream(100, false), }; var config = new AmazonS3Config { RegionEndpoint = RegionEndpoint.USWest2 }; var internalRequest = S3ArnTestUtils.RunMockRequest(request, WriteGetObjectResponseRequestMarshaller.Instance, config); Assert.AreEqual(false, internalRequest.ContentStream.CanSeek); Assert.IsTrue(!internalRequest.Headers.ContainsKey("Content-Length")); Assert.IsTrue(internalRequest.Headers.ContainsKey("transfer-encoding")); Assert.AreEqual("chunked", internalRequest.Headers["transfer-encoding"]); }
public void WriteGetObjectResponseSignerTest() { var signer = new S3Signer(); var request = new WriteGetObjectResponseRequest { RequestRoute = "route", RequestToken = "token" }; var config = new AmazonS3Config { RegionEndpoint = RegionEndpoint.EUWest1 }; var iRequest = S3ArnTestUtils.RunMockRequest(request, WriteGetObjectResponseRequestMarshaller.Instance, config); signer.Sign(iRequest, config, new RequestMetrics(), new ImmutableCredentials("ACCESS", "SECRET", "")); Assert.IsTrue(iRequest.Headers.ContainsKey(HeaderKeys.AuthorizationHeader)); Assert.IsTrue((iRequest.Headers["Authorization"]).Contains("s3-object-lambda")); }
public void WriteGetObjectResponseWithNoChunkedEncodingTest(bool canseek, long?contentlength, bool expectedCanSeek, string expectedContentLength) { var request = new WriteGetObjectResponseRequest { RequestRoute = "route", RequestToken = "token", Body = new MyTestStream(90, canseek), ContentLength = contentlength }; var config = new AmazonS3Config { RegionEndpoint = RegionEndpoint.USWest2 }; var internalRequest = S3ArnTestUtils.RunMockRequest(request, WriteGetObjectResponseRequestMarshaller.Instance, config); Assert.AreEqual(expectedCanSeek, internalRequest.ContentStream.CanSeek); Assert.IsTrue(internalRequest.Headers.ContainsKey("Content-Length")); Assert.AreEqual(expectedContentLength, internalRequest.Headers["Content-Length"]); Assert.IsTrue(!internalRequest.Headers.ContainsKey("transfer-encoding")); }