public static async Task TestGetOrDefaultForValueType(IKeyValueStorage storage)
        {
            var key = "testValue1_c34a33";
            await storage.Set(key, null);

            var num = await storage.GetOrDefault <int>(key);

            Assert.AreEqual(num, default(int));
        }
        public static async Task SynchronizationTest(IKeyValueStorage storage)
        {
            await storage.Clear();

            var rd = new Random();

            for (int i = 0; i < 50; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    await storage.Set("key" + rd.Next(10000, 99999).ToString(), "qwwwwwwww");
                }


                string key     = "key" + i.ToString();
                string prevKey = "key" + (i - 1).ToString();

                //await storage.Clear();
                await storage.Set(prevKey, null);

                var prevVal = await storage.GetOrDefault <string>(prevKey);

                if (prevVal != null)
                {
                    Assert.Fail($"Not null value after cleaning. Iteration {i}.");
                }

                await storage.Set(key, "val");

                var val = await storage.Get <string>(key);

                Assert.AreEqual(val, "val");
                var isContains = await storage.ContainsKey(key);

                Assert.IsTrue(isContains);
            }

            await storage.Clear();
        }
 async Task <List <UploadLogRecord> > GetLogRecordsList()
 {
     return(await _storage.GetOrDefault <List <UploadLogRecord> >(UploadsLogCacheKey) ?? new List <UploadLogRecord>());
 }