public ISimpleStorageService GetSimpleStorageService() { if (simpleStorageService == null) { simpleStorageService = new SimpleStorageService( Environment.GetEnvironmentVariable(ConfigurationConstants.AwsKeyId), Environment.GetEnvironmentVariable(ConfigurationConstants.AwsSecretKey), Environment.GetEnvironmentVariable(ConfigurationConstants.BucketKey)); } return(simpleStorageService); }
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 static IDisposable StartService(int servicePort) { var container = IoCFactory.NewContainer(); var topology = new Topology(new int[0]); var configuration = new Configuration(topology) { CurrentNodePort = servicePort, OtherShardsPorts = new int[0] }; container.Configure(c => c.For <IConfiguration>().Use(configuration)); return(SimpleStorageService.Start(string.Format("http://+:{0}/", servicePort), container)); }
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>())); }
private ContractDeployment GetContractDeployment <T>() where T : ContractDeploymentMessage, new() { T contract = new T(); ContractDeployment deployment = null; WatchContractDeployment watchContractDeployment = null; SimpleStorageDeployment simpleStorageDeployment = null; if (contract is WatchContractDeployment) { watchContractDeployment = contract as WatchContractDeployment; } else if (contract is SimpleStorageDeployment) { simpleStorageDeployment = contract as SimpleStorageDeployment; } try { deployment = this.context.ContractDeployments.Where(s => s.ByteCode == contract.ByteCode && s.ServerUrl == this.url).First(); } catch (InvalidOperationException ex) { logger.LogError($"contract does not currently exist: {ex}"); } if (deployment == null) { deployment = new ContractDeployment(); if (watchContractDeployment != null) { watchContractDeployment.GasPrice = 0; TransactionReceipt receipt = WatchContractService.DeployContractAndWaitForReceiptAsync(web3, watchContractDeployment).GetAwaiter().GetResult(); deployment.DeploymentAddress = receipt.ContractAddress; deployment.ByteCode = watchContractDeployment.ByteCode; } else if (simpleStorageDeployment != null) { simpleStorageDeployment.GasPrice = 0; TransactionReceipt receipt = SimpleStorageService.DeployContractAndWaitForReceiptAsync(web3, simpleStorageDeployment).GetAwaiter().GetResult(); deployment.DeploymentAddress = receipt.ContractAddress; deployment.ByteCode = simpleStorageDeployment.ByteCode; } deployment.ServerUrl = this.url; this.context.Add(deployment); this.context.SaveChanges(); } return(deployment); }
private void setupSimpleStorageContractCall() { ContractDeployment deployment = GetContractDeployment <SimpleStorageDeployment>(); simpleStorageService = new SimpleStorageService(web3, deployment.DeploymentAddress); }