예제 #1
0
        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"]);
                    }
                }
            }
        }
예제 #2
0
        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());
        }
예제 #3
0
        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());
            }
        }
예제 #4
0
        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);
        }