public async Task AWS_InsertItemTest() { var stream = GetValidStream(); var connector = new AWSS3Connector(new InstanceLogger(new Utils.LogWriter(), "HOSTID", "1234", "INSTID")); await connector.InitAsync(stream); var record = await AddObject(connector, "dev123", new KeyValuePair <string, object>("pointOne", 37.5), new KeyValuePair <string, object>("pointTwo", 58.6), new KeyValuePair <string, object>("pointThree", "testing")); using (var s3Client = GetS3Client()) { var gor = new GetObjectRequest() { Key = record.Data["id"].ToString(), BucketName = stream.S3BucketName }; using (var result = await s3Client.GetObjectAsync(gor)) { using (var rdr = new StreamReader(result.ResponseStream)) { var jsonFromServer = JsonConvert.DeserializeObject <Dictionary <string, object> >(rdr.ReadToEnd()); Assert.AreEqual(record.Data["id"], jsonFromServer["id"]); Assert.AreEqual(stream.Id, jsonFromServer["dataStreamId"]); Assert.AreEqual(37.5, jsonFromServer["pointOne"]); Assert.AreEqual(58.6, jsonFromServer["pointTwo"]); Assert.AreEqual("testing", jsonFromServer["pointThree"]); Assert.AreEqual(record.DeviceId, jsonFromServer["deviceId"]); } } } }
public async Task AWS_S3_GetList_Test() { var stream = GetValidStream(); var connector = new AWSS3Connector(new InstanceLogger(new Utils.LogWriter(), "HOSTID", "1234", "INSTID")); await connector.InitAsync(stream); await connector.GetItemsAsync("devid", new Core.Models.UIMetaData.ListRequest()); }
public async Task AWS_CreateBucket() { using (var client = GetS3Client()) { Assert.AreEqual(0, client.ListBuckets().Buckets.Where(bkt => bkt.BucketName == BUCKET_NAME).Count()); } var stream = GetValidStream(); var connector = new AWSS3Connector(new InstanceLogger(new Utils.LogWriter(), "HOSTID", "1234", "INSTID")); await connector.InitAsync(stream); using (var client = GetS3Client()) { Assert.AreEqual(1, client.ListBuckets().Buckets.Where(bkt => bkt.BucketName == BUCKET_NAME).Count()); } }
private async Task <DataStreamRecord> AddObject(AWSS3Connector connector, string deviceId, params KeyValuePair <string, object>[] items) { var record = new Pipeline.Admin.Models.DataStreamRecord() { DeviceId = deviceId }; foreach (var item in items) { record.Data.Add(item.Key, item.Value); } var addResult = await connector.AddItemAsync(record); Assert.IsTrue(addResult.Successful); return(record); }