public async Task UserCanBeAdded() { // Arrange using (var con = OpenConnection()) using (var cache = new SqliteCache(con)) { var user = DummyGenerator.CreateDummyUserEx(); user.UserID = 123; user.ScreenName = "testi"; user.UrlDisplay = "display_url"; var entry = new UserCacheEntry(user); // Act await cache.AddUsers(new[] { entry }); // Assert using (var cmd = con.CreateCommand()) { cmd.CommandText = "SELECT Id, UserName, UserData FROM Users"; using (var reader = cmd.ExecuteReader()) { Assert.IsTrue(reader.Read()); Assert.AreEqual(123L, reader.GetInt64(0)); Assert.AreEqual("testi", reader.GetString(1)); var jsonUser = JsonConvert.DeserializeObject <UserEx>(reader.GetString(2)); Assert.AreEqual(user.UserID, jsonUser.UserID); Assert.AreEqual(user.ScreenName, jsonUser.ScreenName); Assert.AreEqual(user.UrlDisplay, jsonUser.UrlDisplay); } } } }
public async Task AddingUserTwiceUpdatesData() { // Arrange using (var con = OpenConnection()) using (var cache = new SqliteCache(con)) { var user = DummyGenerator.CreateDummyUserEx(); user.UserID = 123; user.ScreenName = "test"; await cache.AddUsers(new[] { new UserCacheEntry(user) }); // Act user.ScreenName = "testi"; await cache.AddUsers(new[] { new UserCacheEntry(user) }); // Assert var fromDb = (await cache.GetKnownUsers()).First(); Assert.AreEqual("testi", fromDb.UserName); } }
public async Task ClearRemovesAllDataFromCache() { // Arrange using (var con = OpenConnection()) using (var cache = new SqliteCache(con)) { await cache.AddHashtags(new[] { "one", "two", "three" }); await cache.AddMessages(new[] { new MessageCacheEntry(DummyGenerator.CreateDummyMessage()) }); await cache.AddStatuses(new[] { DummyGenerator.CreateDummyStatus() }); var userToCache = DummyGenerator.CreateDummyUserEx(1); userToCache.Name = userToCache.ScreenName = "test"; await cache.AddUsers(new[] { new UserCacheEntry(userToCache) }); // Act await cache.Clear(); // Assert var tags = await cache.GetKnownHashtags(); Assert.AreEqual(0, tags.Count()); var msg = await cache.GetMessages(); Assert.AreEqual(0, msg.Count); var user = await cache.GetUser(1); Assert.IsNull(user); var status = await cache.GetStatus(0); Assert.IsNull(status); } }