public void TestInMemoryDataStore()
        {
            Assert.IsFalse(File.Exists(_dataPersistFile));
            IDataStore <JObject> dataStore = new InMemoryDataStore <JObject>();

            dataStore.PersistPath = _dataPersistFile;
            var key1  = "testkey1";
            var key2  = "testkey2";
            var json1 = TestUtils.GenerateJson();
            var json2 = TestUtils.GenerateJson();
            var json3 = TestUtils.GenerateJson();

            dataStore.Insert(key1, json1);
            dataStore.Insert(key2, json2);

            var listResult = dataStore.List();

            Assert.AreEqual(2, listResult.Count);
            Assert.IsNotNull(listResult[key1]);
            Assert.IsNotNull(listResult[key2]);

            var getResult = dataStore.Get(key1);

            Assert.IsTrue(JsonConvert.SerializeObject(getResult).Equals(JsonConvert.SerializeObject(json1)));


            dataStore.Insert(key2, json3);
            var getResult2 = dataStore.Get(key2);

            Assert.IsTrue(JsonConvert.SerializeObject(getResult2).Equals(JsonConvert.SerializeObject(json3)));

            dataStore.Save();
            Assert.IsTrue(File.Exists(_dataPersistFile));

            string savedFileContent;
            var    reader = new StreamReader(_dataPersistFile);

            savedFileContent = reader.ReadToEnd();
            reader.Close();
            Debug.WriteLine("Save file content = {0}", savedFileContent);
            Assert.IsTrue(savedFileContent.Length > 0);

            IDataStore <JObject> loadedDataStore = InMemoryDataStore <JObject> .Load <JObject>(_dataPersistFile);

            var listResult2 = loadedDataStore.List();

            Assert.AreEqual(2, listResult2.Count);
            Assert.IsNotNull(listResult2[key1]);
            Assert.IsNotNull(listResult2[key2]);

            var getResult3 = loadedDataStore.Get(key2);

            Assert.IsTrue(JsonConvert.SerializeObject(getResult3).Equals(JsonConvert.SerializeObject(json3)));

            loadedDataStore.Delete(key1);
            listResult2 = loadedDataStore.List();
            Assert.AreEqual(1, listResult2.Count);
            Assert.IsNull(loadedDataStore.Get(key1));
        }
예제 #2
0
 public void SuccessfulRequestPutsFeatureDataInStore()
 {
     _mockFeatureRequestor.Setup(fr => fr.GetAllDataAsync()).ReturnsAsync(MakeAllData());
     using (PollingProcessor pp = MakeProcessor())
     {
         var initTask = pp.Start();
         initTask.Wait();
         Assert.Equal(Flag, _dataStore.Get(DataModel.Features, Flag.Key).Value.Item);
         Assert.Equal(Segment, _dataStore.Get(DataModel.Segments, Segment.Key).Value.Item);
         Assert.True(_dataStore.Initialized());
     }
 }
예제 #3
0
        public SillycoreAuthenticationBuilder WithPolicy(string policyName, params string[] scopes)
        {
            if (_dataStore.Get(Constants.AuthorizationOptions) == null)
            {
                _dataStore.Set(Constants.AuthorizationOptions, new SillycoreAuthorizationOptions());
            }

            var policy = SillycoreAuthorizationPolicy.Create(policyName, scopes);
            var authorizationOptions = _dataStore.Get <SillycoreAuthorizationOptions>(Constants.AuthorizationOptions);

            authorizationOptions.WithPolicy(policy);

            return(this);
        }
예제 #4
0
        public void InMemoryDataStoreShouldAddOneItem()
        {
            InMemoryDataStore.Clear();
            InMemoryDataStore.Add("item1");

            Assert.AreEqual(1, InMemoryDataStore.Get().Count);
        }
예제 #5
0
        public void BasketsController_Update_Basket_Order_Line_Return_Correct_Updated_Order_Line()
        {
            var baskets  = new InMemoryDataStore <Basket>();
            var products = new InMemoryDataStore <Product>();

            products.Seed();
            baskets.Seed(products);

            var bc = new BasketsController(products, baskets, _mapper);

            var actionResult = bc.PatchOrderLine(_testBasketId, _testProductId, new JsonPatchDocument <OrderLineUpdateDto>().Add(p => p.Quantity, 12));

            OkObjectResult okresult = actionResult as OkObjectResult;

            Assert.IsNotNull(okresult);

            OrderLineDto resultOrderLine = okresult.Value as OrderLineDto;

            Assert.IsNotNull(resultOrderLine);

            Assert.IsTrue(resultOrderLine.Quantity == 12);

            OrderLine orderline = null;

            baskets.Get(_testBasketId)?.OrderLines.TryGetValue(resultOrderLine.ProductId, out orderline);

            Assert.IsNotNull(orderline);

            Assert.IsTrue(orderline.Quantity == 12);
        }
예제 #6
0
        public void InMemoryDataStoreShouldAddMultipleItems()
        {
            InMemoryDataStore.Clear();
            InMemoryDataStore.Add("item1");
            InMemoryDataStore.Add("item2");
            InMemoryDataStore.Add("item3");
            InMemoryDataStore.Add("item4");
            InMemoryDataStore.Add("item5");

            Assert.AreEqual(5, InMemoryDataStore.Get().Count);
        }
        public void TestInMemoryDataStore()
        {
            Assert.IsFalse(File.Exists(dataPersistFile));
            IDataStore<JObject> dataStore = new InMemoryDataStore<JObject>();
            dataStore.PersistPath = dataPersistFile;
            string key1 = "testkey1";
            string key2 = "testkey2";
            JObject json1 = TestUtils.GenerateJson();
            JObject json2 = TestUtils.GenerateJson();
            JObject json3 = TestUtils.GenerateJson();

            dataStore.Insert(key1, json1);
            dataStore.Insert(key2, json2);

            Dictionary<string, JObject> listResult = dataStore.List();
            Assert.AreEqual(2, listResult.Count);
            Assert.IsNotNull(listResult[key1]);
            Assert.IsNotNull(listResult[key2]);

            JObject getResult = dataStore.Get(key1);
            Assert.IsTrue(JsonConvert.SerializeObject(getResult).Equals(JsonConvert.SerializeObject(json1)));


            dataStore.Insert(key2, json3);
            JObject getResult2 = dataStore.Get(key2);
            Assert.IsTrue(JsonConvert.SerializeObject(getResult2).Equals(JsonConvert.SerializeObject(json3)));

            dataStore.Save();
            Assert.IsTrue(File.Exists(dataPersistFile));

            string savedFileContent = null;
            StreamReader reader = new StreamReader(dataPersistFile);
            savedFileContent = reader.ReadToEnd();
            reader.Close();
            Debug.WriteLine(String.Format("Save file content = {0}", savedFileContent));
            Assert.IsTrue(savedFileContent.Length > 0);

            IDataStore<JObject> loadedDataStore = InMemoryDataStore<JObject>.Load<JObject>(dataPersistFile);
            Dictionary<string, JObject> listResult2 = loadedDataStore.List();
            Assert.AreEqual(2, listResult2.Count);
            Assert.IsNotNull(listResult2[key1]);
            Assert.IsNotNull(listResult2[key2]);

            JObject getResult3 = loadedDataStore.Get(key2);
            Assert.IsTrue(JsonConvert.SerializeObject(getResult3).Equals(JsonConvert.SerializeObject(json3)));

            loadedDataStore.Delete(key1);
            listResult2 = loadedDataStore.List();
            Assert.AreEqual(1, listResult2.Count);
            Assert.IsNull(loadedDataStore.Get(key1));
        }
예제 #8
0
        public void AfterAddingItemsAndClearingInMemoryDataStoreShouldResetToEmpty()
        {
            InMemoryDataStore.Add("item1");
            InMemoryDataStore.Add("item2");
            InMemoryDataStore.Add("item3");
            InMemoryDataStore.Add("item4");
            InMemoryDataStore.Add("item5");

            Assert.IsTrue(InMemoryDataStore.Get().Count > 0);

            InMemoryDataStore.Clear();

            Assert.AreEqual(0, InMemoryDataStore.Get().Count);
        }
예제 #9
0
        // POST: api/Log
        public HttpResponseMessage Post([FromBody] string value)
        {
            try
            {
                InMemoryDataStore.Add("<" + DateTime.Now + "> " + value);

                // Common practice in REST is to return the location of the new resource
                var response = Request.CreateResponse(HttpStatusCode.Created);
                response.Headers.Location = new Uri(Request.RequestUri + "/" + (InMemoryDataStore.Get().Count - 1));
                return(response);
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
        public void TestInsertIntoDataStore()
        {
            //given
            IDataStore<JObject> dataStore = new InMemoryDataStore<JObject>();
            var obj = new JObject();
            obj["key"] = "value";

            //when
            dataStore.Insert("key1", obj);
            dataStore.Insert("key2", obj);

            //then
            var list = dataStore.List();
            Assert.AreEqual(2, list.Count);
            Assert.IsNotNull(list["key1"]);

            var result = dataStore.Get("key1");
            Assert.AreEqual(obj, result);
        }
예제 #11
0
        public void TestInsertIntoDataStore()
        {
            //given
            IDataStore <JObject> dataStore = new InMemoryDataStore <JObject>();
            var obj = new JObject();

            obj["key"] = "value";

            //when
            dataStore.Insert("key1", obj);
            dataStore.Insert("key2", obj);

            //then
            var list = dataStore.List();

            Assert.AreEqual(2, list.Count);
            Assert.IsNotNull(list["key1"]);

            var result = dataStore.Get("key1");

            Assert.AreEqual(obj, result);
        }
예제 #12
0
 // GET: api/Log/5
 public string Get(int id)
 {
     return(InMemoryDataStore.Get()[id]);
 }
예제 #13
0
 // GET: api/Log
 public IEnumerable <string> Get()
 {
     return(InMemoryDataStore.Get());
 }