public void PutObject_SerializesData_True() { // Arrange var s3Mock = new Mock <IAmazonS3>(); var service = new SimpleStorageService(string.Empty, string.Empty, string.Empty); var stream = new MemoryStream(); var serializer = new LambdaRestSerializer(); string serializedContentFromService = null; string serializedContentFromTest = null; var mockRequests = new List <AlexaRequest>() { new AlexaRequest() { UID = "1", MainText = "Hello there", TitleText = "Test 1", UpdateDate = DateTime.Now, RedirectionUrl = "http://www.google.com" }, new AlexaRequest() { UID = "2", MainText = "Bye", TitleText = "Test 2", UpdateDate = DateTime.Now.AddHours(-1), RedirectionUrl = "http://www.amazon.com" } }; serializer.Serialize <List <AlexaRequest> >(mockRequests, stream); stream.Position = 0; serializedContentFromTest = new StreamReader(stream).ReadToEnd(); // Act s3Mock .Setup(x => x.PutObjectAsync(It.IsAny <PutObjectRequest>(), It.IsAny <CancellationToken>())) .Callback((PutObjectRequest request, CancellationToken token) => { serializedContentFromService = request.ContentBody; }) .Returns(Task.FromResult(new PutObjectResponse() { HttpStatusCode = HttpStatusCode.OK })); service.Client = s3Mock.Object; service.PutObject <List <AlexaRequest> >(mockRequests, It.IsAny <string>()); // Assert Assert.Equal(serializedContentFromTest, serializedContentFromService); }
public void PutObject_WithError_ThrowsError() { // Arrange var s3Mock = new Mock <IAmazonS3>(); var service = new SimpleStorageService(string.Empty, string.Empty, string.Empty); // Act s3Mock.Setup(x => x.PutObjectAsync(It.IsAny <PutObjectRequest>(), It.IsAny <CancellationToken>())).Throws(new Exception()); service.Client = s3Mock.Object; // Assert Assert.Throws <Exception>(() => service.PutObject <string>(It.IsAny <string>(), It.IsAny <string>())); }
public void PutObject_WithOk_True() { // Arrange var s3Mock = new Mock <IAmazonS3>(); var service = new SimpleStorageService(string.Empty, string.Empty, string.Empty); // Act s3Mock.Setup(x => x.PutObjectAsync(It.IsAny <PutObjectRequest>(), It.IsAny <CancellationToken>())).Returns(Task.FromResult(new PutObjectResponse() { HttpStatusCode = HttpStatusCode.OK })); service.Client = s3Mock.Object; // Assert Assert.True(service.PutObject <string>(It.IsAny <string>(), It.IsAny <string>())); }