Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        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);
            }
        }