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); }
public RequestHandler() { _sourceBucketConfiguration = ConfigurationReader.GetSourceBucketConfiguration(); _downloader = new S3FileDownloader(new AmazonS3Client()); _downloadTracker = new DownloadTracker(new AmazonDynamoDBClient(), ConfigurationReader.GetDatabaseConfiguration()); }
public RequestHandler(IFileDownloader downloader, IDownloadTracker downloadTracker, SourceBucketConfiguration sourceBucketConfiguration) { _downloader = downloader; _downloadTracker = downloadTracker; _sourceBucketConfiguration = sourceBucketConfiguration; }