コード例 #1
0
        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);
        }
コード例 #2
0
        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>()));
        }
コード例 #3
0
        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>()));
        }