public async Task TestHandleRequest()
        {
            var downloader = Mock.Of <IFileDownloader>();
            var tracker    = Mock.Of <IDownloadTracker>();
            var config     = new SourceBucketConfiguration("bucket", "file.tf");

            Mock.Get(downloader)
            .Setup(m => m.DownloadBase64String(It.IsAny <string>(), It.IsAny <string>()))
            .Returns(Task.FromResult("Response"));

            // Invoke the lambda function and confirm the string was upper cased.
            var requestHandler = new RequestHandler(downloader, tracker, config);
            var context        = new TestLambdaContext();
            var response       = await requestHandler.HandleRequest(new APIGatewayProxyRequest()
            {
                QueryStringParameters = new Dictionary <string, string>()
                {
                    { "cmd", "requestDownload" }
                },
                HttpMethod = "POST"
            }, context);

            Assert.Equal("Response", response.Body);
        }
Example #2
0
 public RequestHandler()
 {
     _sourceBucketConfiguration = ConfigurationReader.GetSourceBucketConfiguration();
     _downloader      = new S3FileDownloader(new AmazonS3Client());
     _downloadTracker = new DownloadTracker(new AmazonDynamoDBClient(), ConfigurationReader.GetDatabaseConfiguration());
 }
Example #3
0
 public RequestHandler(IFileDownloader downloader, IDownloadTracker downloadTracker, SourceBucketConfiguration sourceBucketConfiguration)
 {
     _downloader                = downloader;
     _downloadTracker           = downloadTracker;
     _sourceBucketConfiguration = sourceBucketConfiguration;
 }