public void TestCleanup()
        {
            JArray results = Find("namespace", StorageTestSuite.TestNamespace);

            foreach (JToken result in results)
            {
                JObject objectToDelete = result.ToObject<JObject>();
                objectToDelete["secret"] = StorageTestSuite.TestSecret;

                Storage deleteStorage = new Storage(objectToDelete);
                deleteStorage.Destroy();
            }
        }
        public void TestDelete()
        {
            JArray result = Find("namespace", StorageTestSuite.TestNamespace);
            Assert.IsNotNull(result);

            JObject objectToDelete = result[0].ToObject<JObject>();
            objectToDelete["secret"] = "guest";

            Storage deleteStorage = new Storage(objectToDelete);
            deleteStorage.Destroy();

            JArray afterDeleteResult = Find("namespace", StorageTestSuite.TestNamespace);
            Assert.IsTrue(afterDeleteResult.Count == 0);
        }
        public void TestUpdate()
        {
            JArray result = Find("namespace", StorageTestSuite.TestNamespace);
            JObject foundObject = result[0].ToObject<JObject>();

            JArray storedArray = foundObject["list"].ToObject<JArray>();
            storedArray.Add("coffee");

            foundObject["list"] = storedArray;
            foundObject["secret"] = StorageTestSuite.TestSecret;

            Storage updateStorage = new Storage(foundObject);
            JObject updatedObject = updateStorage.Update();

            Assert.AreEqual<string>(updatedObject["id"].ToString(), foundObject["id"].ToString());

            JArray updatedObjects = Find("id", updatedObject["id"].ToString());

            Assert.IsTrue(updatedObjects[0]["list"].ToObject<JArray>().ToObject<List<string>>().Contains("coffee"));
        }
        private JArray Find(string property, string value)
        {
            JObject findObject = GetTestObjectHeader();
            findObject[property] = value;

            Storage findStorage = new Storage(findObject);
            return findStorage.Find();
        }
        private JObject CreateDummyJObject()
        {
            JObject jsonObject = GetTestObjectHeader();
            jsonObject.Add("namespace", StorageTestSuite.TestNamespace);

            JArray items = new JArray();
            items.Add("milk");
            items.Add("eggs");
            items.Add("sugar");

            jsonObject.Add("list", items);

            Storage storage = new Storage(jsonObject);
            JObject result = storage.Create();

            dummyObjectId = result["id"].ToString();

            return result;
        }