public async Task TestSoarAuthorizerEthereum() { //todo rewrite this test with mocked ethereum service var secret = "768eafe9ba984e2ca799f8829738c0ba"; var challenge = "63f20673bd324ab78c7b059ddad5cccf"; var fileHash = "438269b95b997fc736cf8c4801843db3"; var address = "0x7Bcbb6Ca8De198f97Ac9Bb3B263216EB1E22AA6D"; IStorageService storageService = new StorageServiceMock(); var temp = await storageService.PutSecret(secret, challenge, address, fileHash); var function = new Function(storageService); var context = new TestLambdaContext(); var req = new APIGatewayCustomAuthorizerRequest() { QueryStringParameters = new Dictionary <string, string>() { { "soarSecret", "768eafe9ba984e2ca799f8829738c0ba" }, { "txnHash", "0x5be37b8355d44138272e860b675fd91928b3ac77ec70f6825ad5543dee4b4c79" } }, StageVariables = new Dictionary <string, string>() { { "soar_contract_address", "0xf413a66fe07b49d2ca798acf6e43a47462e7081b" }, { "infura_address", "https://rinkeby.infura.io/trgLCqvmmrvTb46D5Iz4" } } }; var upperCase = await function.FunctionHandler(req, context); }
public async Task RunBeforeAnyTests() { // Create database container for integration tests var dockerSqlPort = await DockerDatabaseUtilities.EnsureDockerStartedAsync(); var dockerConnectionString = DockerDatabaseUtilities.GetSqlConnectionString(dockerSqlPort); // Build configuration, including the connection string from the database container var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", false, true) .AddInMemoryCollection(new Dictionary <string, string> { { "ConnectionStrings:Database", dockerConnectionString } }) .AddEnvironmentVariables(); _configuration = builder.Build(); _env = Mock.Of <IWebHostEnvironment>(); var startup = new Startup(_configuration, _env); var services = new ServiceCollection(); services.AddLogging(); startup.ConfigureServices(services); #region Register mocks var descriptorCurrentUserService = services.FirstOrDefault(d => d.ServiceType == typeof(ICurrentUserService)); services.Remove(descriptorCurrentUserService !); services.AddTransient(_ => CurrentUserServiceMock.Create(_user).Object); var descriptorDateTimeProvider = services.FirstOrDefault(d => d.ServiceType == typeof(IDateTimeProvider)); services.Remove(descriptorDateTimeProvider !); services.AddTransient(_ => DateTimeProviderMock.Create(DateTime.UtcNow).Object); var descriptorStorageService = services.FirstOrDefault(d => d.ServiceType == typeof(IStorageService)); services.Remove(descriptorStorageService !); services.AddTransient(_ => StorageServiceMock.Create().Object); #endregion _scopeFactory = services.BuildServiceProvider().GetService <IServiceScopeFactory>() ?? throw new InvalidOperationException(); _checkpoint = new Checkpoint { TablesToIgnore = new[] { "__EFMigrationsHistory" }, DbAdapter = DbAdapter.Postgres }; EnsureDatabase(); }
public async Task TestSoarDownloadDetails() { IStorageService storageService = new StorageServiceMock(); var function = new Function(storageService); var context = new TestLambdaContext(); var req = new DownloadDetailsReq() { address = "eth-address" }; //DownloadDetailsRes res = await function.FunctionHandler(req, context); //SecretDetails secretDetails = await storageService.GetSecretDetails(res.secret); //Assert.Equal(req.address, secretDetails.Address); }