public static void InitializeTestSpecs(TestContext testContext) { _devices = new Dictionary <string, Device>(); _testDeviceSerial = $"td-{DateTime.UtcNow.Ticks}"; using (var client = new M2XClient(_masterKey)) { var createDeviceParms = $"{{ \"base_device\": \"d781ab7460136af9db496c97172a6e6c\", \"name\": \"{Constants.TestDeviceNamePrefix} {DateTime.UtcNow.Ticks}\", \"description\": \"{Constants.TestDeviceDescription}\", \"serial\": \"{_testDeviceSerial}\", \"visibility\": \"private\" }}"; var createDeviceResult = client.CreateDevice(createDeviceParms).Result; var device = JsonConvert.DeserializeObject <Device>(createDeviceResult.Raw); _devices.Add("primary", device); _testDeviceId = device.id; var testDevice = client.Device(device.id); var updateTagsParms = "{ \"tags\": \"test only\" }"; var resultTags = testDevice.Update(updateTagsParms).Result; var updateLocationParms = $"{{ \"name\": \"Test Device Location\", \"latitude\": {Constants.TestDeviceLatitude}, \"longitude\": {Constants.TestDeviceLongitude} }}"; var resultLocation = testDevice.UpdateLocation(updateLocationParms).Result; var updateMetadataParms = "{ \"owner\": \"The Testing Guy\" } "; var resultMetadata = testDevice.UpdateMetadata(updateMetadataParms); var stream01UpdateParms = $"{{ \"values\": [ {{ \"timestamp\": \"{DateTime.Now.AddSeconds(-10).ToString("yyyy-MM-ddTHH:mm:ssZ")}\", \"value\": 98.6 }}, {{ \"timestamp\": \"{DateTime.Now.AddSeconds(-5).ToString("yyyy-MM-ddTHH:mm:ssZ")}\", \"value\": 98.7 }} ] }}"; var stream01 = testDevice.Stream(Constants.TestStreamName001); var resultStream01Post = stream01.PostValues(stream01UpdateParms).Result; System.Threading.Thread.Sleep(500); var stream02UpdateParms = $"{{ \"values\": [ {{ \"timestamp\": \"{DateTime.Now.AddSeconds(-10).ToString("yyyy-MM-ddTHH:mm:ssZ")}\", \"value\": \"normal\" }}, {{ \"timestamp\": \"{DateTime.Now.AddSeconds(-5).ToString("yyyy-MM-ddTHH:mm:ssZ")}\", \"value\": \"normal\" }} ] }}"; var stream02 = testDevice.Stream(Constants.TestStreamName002); var resultStream02Post = stream02.PostValues(stream02UpdateParms).Result; System.Threading.Thread.Sleep(500); } }
public static void InitializeTestSpecs(TestContext testContext) { using (var client = new M2XClient(_masterKey)) { var createDeviceParms = $"{{ \"name\": \"*** PLEASE DELETE ME *** Test Auto Created Device {DateTime.UtcNow.Ticks}\", \"visibility\": \"private\" }}"; var createDeviceResult = client.CreateDevice(createDeviceParms).Result; _testDevice = JsonConvert.DeserializeObject <Device>(createDeviceResult.Raw); _testDeviceExists = _testDevice != null; } }
public static void InitializeTestSpecs(TestContext testContext) { _devices = new Dictionary <string, Device>(); _distributions = new Dictionary <string, Distribution>(); _testDeviceSerial = $"td-{DateTime.UtcNow.Ticks}"; using (var client = new M2XClient(_masterKey)) { var createDeviceParms = $"{{ \"base_device\": \"d781ab7460136af9db496c97172a6e6c\", \"name\": \"{Constants.TestDeviceNamePrefix} {DateTime.UtcNow.Ticks}\", \"description\": \"{Constants.TestDeviceDescription}\", \"serial\": \"{_testDeviceSerial}\", \"visibility\": \"private\" }}"; var createDeviceResult = client.CreateDevice(createDeviceParms).Result; var device = JsonConvert.DeserializeObject <Device>(createDeviceResult.Raw); _devices.Add("primary", device); _testDeviceId = device.id; var testDevice = client.Device(device.id); var updateTagsParms = "{ \"tags\": \"test only\" }"; var resultTags = testDevice.Update(updateTagsParms).Result; for (var i = 0; i < 5; i++) { var updateLocationParms = $"{{ \"name\": \"Test Device Location{i + 1}\", \"latitude\": {(Constants.TestDeviceLatitude + i)}, \"longitude\": {(Constants.TestDeviceLongitude + i)} }}"; var resultLocation = testDevice.UpdateLocation(updateLocationParms).Result; } var updateMetadataParms = $"{{ \"{Constants.TestMetadataDefaultFieldName}\": \"{Constants.TestMetadataDefaultFieldValue}\" }} "; var resultMetadata = testDevice.UpdateMetadata(updateMetadataParms); var stream01UpdateParms = $"{{ \"values\": [ {{ \"timestamp\": \"{DateTime.Now.AddSeconds(-10).ToString("yyyy-MM-ddTHH:mm:ssZ")}\", \"value\": 98.6 }}, {{ \"timestamp\": \"{DateTime.Now.AddSeconds(-5).ToString("yyyy-MM-ddTHH:mm:ssZ")}\", \"value\": 98.7 }} ] }}"; var stream01 = testDevice.Stream(Constants.TestStreamName001); var resultStream01Post = stream01.PostValues(stream01UpdateParms).Result; System.Threading.Thread.Sleep(250); var stream02UpdateParms = $"{{ \"values\": [ {{ \"timestamp\": \"{DateTime.Now.AddSeconds(-10).ToString("yyyy-MM-ddTHH:mm:ssZ")}\", \"value\": \"normal\" }}, {{ \"timestamp\": \"{DateTime.Now.AddSeconds(-5).ToString("yyyy-MM-ddTHH:mm:ssZ")}\", \"value\": \"normal\" }} ] }}"; var stream02 = testDevice.Stream(Constants.TestStreamName002); var resultStream02Post = stream02.PostValues(stream02UpdateParms).Result; System.Threading.Thread.Sleep(250); var testDistributionCreateParms = $"{{ \"name\": \"Test Distribution {DateTime.Now.Ticks}\", \"description\": \"This is just a test!\", \"visibility\": \"private\", \"base_device\": \"{_testDeviceId}\", \"metadata\": {{ \"{Constants.TestMetadataDefaultFieldName}\": \"{Constants.TestMetadataDefaultFieldValue}\" }} }}"; var testDistributionCreateResult = client.CreateDistribution(testDistributionCreateParms).Result; _accountIsNotPro = testDistributionCreateResult.Error; if (_accountIsNotPro) { return; } var testDistribution = JsonConvert.DeserializeObject <Distribution>(testDistributionCreateResult.Raw); var distributionAddDeviceParms = $"{{ \"serial\": \"td-{(DateTime.UtcNow.Ticks + 50)}\" }}"; var distributionDeviceData = client.Distribution(testDistribution.id).AddDevice(distributionAddDeviceParms).Result; var distributionDevice = JsonConvert.DeserializeObject <Device>(distributionDeviceData.Raw); _devices.Add(distributionDevice.serial, distributionDevice); _distributions.Add("primary", testDistribution); System.Threading.Thread.Sleep(250); } }
public async Task CanCreate_Collection_And_PrivateDevice_ThenAdd_DeviceToCollection_TheRemove_DeviceFromCollection_AndDelete_Both() { using (var client = new M2XClient(_masterKey)) { var collectionParameters = $"{{ \"name\": \"*** PLEASE DELETE ME *** Test Auto Created Collection {DateTime.UtcNow.Ticks}\" }}"; var createCollectionResult = await client.CreateCollection(collectionParameters); Assert.IsNotNull(createCollectionResult); Assert.IsFalse(createCollectionResult.Error); Assert.IsFalse(createCollectionResult.ServerError); Assert.IsNull(createCollectionResult.WebError); Assert.IsFalse(string.IsNullOrWhiteSpace(createCollectionResult.Raw)); var collection = JsonConvert.DeserializeObject <Collection>(createCollectionResult.Raw); Assert.IsNotNull(collection); var collectionWrapper = client.Collection(collection.id); Assert.IsNotNull(collectionWrapper); var deviceParameters = $"{{ \"name\": \"*** PLEASE DELETE ME *** Test Auto Created Device {DateTime.UtcNow.Ticks}\", \"visibility\": \"private\" }}"; var result = await client.CreateDevice(deviceParameters); Assert.IsNotNull(result); Assert.IsFalse(result.Error); Assert.IsFalse(result.ServerError); Assert.IsNull(result.WebError); Assert.IsFalse(string.IsNullOrWhiteSpace(result.Raw)); var device = JsonConvert.DeserializeObject <Device>(result.Raw); Assert.IsNotNull(device); var addCollectionDeviceResult = await collectionWrapper.AddDevice(device.id); Assert.IsNotNull(addCollectionDeviceResult); Assert.IsTrue(string.IsNullOrWhiteSpace(addCollectionDeviceResult.Raw)); var checkCollectionDevices0 = await collectionWrapper.Details(); Assert.IsNotNull(checkCollectionDevices0); Assert.IsFalse(string.IsNullOrWhiteSpace(checkCollectionDevices0.Raw)); var checkCollection0 = JsonConvert.DeserializeObject <Collection>(checkCollectionDevices0.Raw); Assert.IsNotNull(checkCollection0); Assert.IsTrue(checkCollection0.devices > 0); var removeCollectionDeviceResult = await collectionWrapper.RemoveDevice(device.id); Assert.IsNotNull(removeCollectionDeviceResult); Assert.IsTrue(string.IsNullOrWhiteSpace(removeCollectionDeviceResult.Raw)); var checkCollectionDevices1 = await collectionWrapper.Details(); Assert.IsNotNull(checkCollectionDevices1); Assert.IsFalse(string.IsNullOrWhiteSpace(checkCollectionDevices1.Raw)); var checkCollection1 = JsonConvert.DeserializeObject <Collection>(checkCollectionDevices1.Raw); Assert.IsNotNull(checkCollection1); Assert.IsTrue(checkCollection1.devices == 0); var deviceWrapper = client.Device(device.id, device.serial != null ? device.serial.ToString() : null); Assert.IsNotNull(deviceWrapper); await deviceWrapper.Delete(); var devicesCheck = await client.SearchDevices(new { ids = device.id }); Assert.IsNotNull(devicesCheck); Assert.IsFalse(devicesCheck.Error); Assert.IsFalse(devicesCheck.ServerError); Assert.IsNull(devicesCheck.WebError); Assert.IsFalse(string.IsNullOrWhiteSpace(devicesCheck.Raw)); ProcessDeviceSearchResult(devicesCheck.Raw, false); await collectionWrapper.Delete(); var collectionCheck = client.Collection(collection.id); var collectionCheckResult = await collectionCheck.Details(); Assert.IsNotNull(collectionCheck); Assert.IsTrue(collectionCheckResult.Error); Assert.IsFalse(collectionCheckResult.ServerError); Assert.IsNull(collectionCheckResult.WebError); Assert.IsFalse(string.IsNullOrWhiteSpace(collectionCheckResult.Raw)); ProcessCollectionsSearchResult(collectionCheckResult.Raw, false); } }