public void Capacity_Should_Double() { using (var store = GetDocumentStore()) { var hiLoKeyGenerator = new AsyncHiLoKeyGenerator("users", store, store.DefaultDatabase, store.Conventions.IdentityPartsSeparator); using (var session = store.OpenSession()) { session.Store(new HiloDoc { Max = 64 }, "Raven/Hilo/users"); session.SaveChanges(); for (var i = 0; i < 32; i++) { hiLoKeyGenerator.GenerateDocumentKeyAsync(new User()).GetAwaiter().GetResult(); } } using (var session = store.OpenSession()) { var hiloDoc = session.Load <HiloDoc>("Raven/Hilo/Users"); var max = hiloDoc.Max; Assert.Equal(max, 96); //we should be receiving a range of 64 now hiLoKeyGenerator.GenerateDocumentKeyAsync(new User()).GetAwaiter().GetResult(); } using (var session = store.OpenSession()) { var hiloDoc = session.Load <HiloDoc>("Raven/Hilo/users"); var max = hiloDoc.Max; Assert.Equal(max, 160); } } }
public void Can_Use_Server_Prefix() { using (var store = GetDocumentStore()) { using (var session = store.OpenSession()) { session.Store(new PrefixHiloDoc() { ServerPrefix = "4," }, "Raven/ServerPrefixForHilo"); session.SaveChanges(); var hiLoKeyGenerator = new AsyncHiLoKeyGenerator("users", store, store.DefaultDatabase, store.Conventions.IdentityPartsSeparator); var generateDocumentKey = hiLoKeyGenerator.GenerateDocumentKeyAsync(new User()).GetAwaiter().GetResult(); Assert.Equal("users/4,1", generateDocumentKey); } } }