public async Task CanAccess_ApiKey_SingleCollection_ById_AndView_SinggleMetadataField() { using (var client = new M2XClient(_masterKey)) { var collectionParameters = $"{{ \"name\": \"*** PLEASE DELETE ME *** Test Auto Created Collection {DateTime.UtcNow.Ticks}\", \"metadata\": {{ \"{Constants.TestMetadataDefaultFieldName}\": \"{Constants.TestMetadataDefaultFieldValue}\" }} }}"; 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 collectionData = JsonConvert.DeserializeObject <Collection>(createCollectionResult.Raw); var collection = client.Collection(collectionData.id); var result = await collection.MetadataField(Constants.TestMetadataDefaultFieldName); Assert.IsNotNull(result); Assert.IsFalse(result.Error); Assert.IsFalse(result.ServerError); Assert.IsNull(result.WebError); Assert.IsFalse(string.IsNullOrWhiteSpace(result.Raw)); Assert.IsTrue(result.Raw.Length > 6); var deleteCollectionResult = await collection.Delete(); RequestWasProcessedAndReturnedExpectedValue(deleteCollectionResult); } }
public async Task CanCreate_AndDelete_Collection_WithAll_RequiredParameters() { using (var client = new M2XClient(_masterKey)) { var collectionParameters = $"{{ \"name\": \"*** PLEASE DELETE ME *** Test Auto Created Collection {DateTime.UtcNow.Ticks}\" }}"; var result = await client.CreateCollection(collectionParameters); Assert.IsNotNull(result); Assert.IsFalse(result.Error); Assert.IsFalse(result.ServerError); Assert.IsNull(result.WebError); Assert.IsFalse(string.IsNullOrWhiteSpace(result.Raw)); var collection = JsonConvert.DeserializeObject <Collection>(result.Raw); Assert.IsNotNull(collection); var collectionWrapper = client.Collection(collection.id); Assert.IsNotNull(collectionWrapper); 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); } }
public async Task CanAccess_ApiKey_SingleCollection_ById_AndUpdate_CollectionMetadata() { using (var client = new M2XClient(_masterKey)) { var collectionParameters = $"{{ \"name\": \"*** PLEASE DELETE ME *** Test Auto Created Collection {DateTime.UtcNow.Ticks}\", \"metadata\": {{ \"{Constants.TestMetadataDefaultFieldName}\": \"{Constants.TestMetadataDefaultFieldValue}\" }} }}"; 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 collectionData = JsonConvert.DeserializeObject <Collection>(createCollectionResult.Raw); var collection = client.Collection(collectionData.id); var updateMetaDataValue = "The man sitting next to the man..."; var updateMetaDataParams = $"{{ \"owner\": \"{updateMetaDataValue}\" }}"; var result = await collection.UpdateMetadata(updateMetaDataParams); RequestWasProcessedAndReturnedExpectedValue(result); var verifyUpdateResult = await collection.Metadata(); Assert.IsNotNull(verifyUpdateResult); Assert.IsFalse(verifyUpdateResult.Error); Assert.IsFalse(verifyUpdateResult.ServerError); Assert.IsNull(verifyUpdateResult.WebError); Assert.IsFalse(string.IsNullOrWhiteSpace(verifyUpdateResult.Raw)); Assert.IsTrue(verifyUpdateResult.Raw.Length > 6); Assert.IsTrue(verifyUpdateResult.Raw.ToLowerInvariant().Contains(updateMetaDataValue.ToLowerInvariant())); var deleteCollectionResult = await collection.Delete(); RequestWasProcessedAndReturnedExpectedValue(deleteCollectionResult); } }
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); } }