public async Task TestSingleItemOperation() { var mockConfigProvider = GetMockConfigurationProvider(); var mockSessionStoreSerializerFactory = GetMockSessionStoreSerializerFactory(); var mockSessionProviderFactory = GetSessionProviderFactory(mockSessionStoreSerializerFactory, mockConfigProvider); var sessionStore = new Tavisca.Common.Plugins.SessionStore.SessionStore(mockSessionProviderFactory); var mockData = new SampleClass() { Id = 123, Data = "Kratos" }; var key = Guid.NewGuid().ToString(); var category = "spartan"; await sessionStore.AddAsync(new DataItem <SampleClass>(new ItemKey(category, key), mockData)); var readData = await sessionStore.GetAsync <SampleClass>(new ItemKey(category, key), CancellationToken.None); Assert.NotNull(readData); Assert.Equal(mockData.Id, readData.Id); Assert.Equal(mockData.Data, readData.Data); }
public async Task TestMultiItemOperation() { var mockConfigProvider = GetMockConfigurationProvider(); var mockSessionStoreSerializerFactory = GetMockSessionStoreSerializerFactory(); var mockSessionProviderFactory = GetSessionProviderFactory(mockSessionStoreSerializerFactory, mockConfigProvider); var sessionStore = new Tavisca.Common.Plugins.SessionStore.SessionStore(mockSessionProviderFactory); var key = Guid.NewGuid().ToString(); var category_base = "spartan"; var itemCount = 100; var categories = new string[itemCount]; for (var i = 0; i < itemCount; i++) { categories[i] = category_base + i; } var id = 1; var dataItems = categories .Select(x => new DataItem <SampleClass>(new ItemKey(x, key), new SampleClass() { Id = id++, Data = id.ToString() })).ToArray(); await sessionStore.AddMultipleAsync(dataItems); var itemKeys = categories.Select(x => new ItemKey(x, key)).ToArray(); var readItems = await sessionStore.GetMultipleAsync <SampleClass>(itemKeys); foreach (var dataItem in dataItems) { var match = readItems.SingleOrDefault(x => x.Key.Equals(dataItem.Key)); Assert.NotNull(match); Assert.Equal(dataItem.Value.Id, match.Value.Id); Assert.Equal(dataItem.Value.Data, match.Value.Data); } }