public void CanBeDeleted() { using (var store = NewDocumentStore()) { using (var s = store.OpenSession()) { for (int i = 0; i < 5; i++) { var clone = new User { Name = "Ayende #" + i }; s.Store(clone); } s.SaveChanges(); } using (var s = store.OpenSession()) { for (int i = 0; i < 5; i++) { var clone = s.Load<User>("users/" + (i + 1)); s.Delete(clone); } s.SaveChanges(); } using (var s = store.OpenSession()) { for (int i = 0; i < 5; i++) { Assert.Null(s.Load<User>("users/" + (i + 1))); } } } }
public void CanBeUpdated() { using (var store = NewDocumentStore()) { using (var s = store.OpenSession()) { for (int i = 0; i < 5; i++) { var clone = new User { Name = "Ayende #" + i }; s.Store(clone); } s.SaveChanges(); } using (var s = store.OpenSession()) { for (int i = 0; i < 5; i++) { var clone = s.Load<User>("users/" + (i + 1)); clone.Name = "Rahien #" + i; } s.SaveChanges(); } using (var s = store.OpenSession()) { for (int i = 0; i < 5; i++) { Assert.Equal("Rahien #" + i, s.Load<User>("users/" + (i + 1)).Name); } } } }
public void CanUseMultipleDatabases() { using(GetNewServer(8080)) using(var store = new DocumentStore { Url = "http://localhost:8080" }.Initialize()) { using(var s = store.OpenSession()) { s.Store(new DatabaseDocument { Id = "Raven/Databases/Northwind", Settings = { {"Raven/RunInMemory", "true"}, {"Raven/DataDir", "Northwind"} } }); s.SaveChanges(); } string userId; using(var s = store.OpenSession("Northwind")) { var entity = new User { Name = "First Mutlti Tenant Bank", }; s.Store(entity); userId = entity.Id; s.SaveChanges(); } using (var s = store.OpenSession()) { Assert.Null(s.Load<User>(userId)); } using (var s = store.OpenSession("Northwind")) { Assert.NotNull(s.Load<User>(userId)); } } }
public void GetMetadataForTransient() { using(var store = NewDocumentStore()) { using(var s = store.OpenSession()) { var entity = new User{Name = "Ayende"}; s.Store(entity); s.Advanced.GetMetadataFor(entity)["admin"] = true; s.SaveChanges(); } using (var s = store.OpenSession()) { var entity = new User{Id = "users/1"}; Assert.True(s.Advanced.GetMetadataFor(entity).Value<bool>("admin")); } } }
public void QueryableCountIsAccurate() { using(var store = NewDocumentStore()) { store.DatabaseCommands.PutIndex("Users", new IndexDefinition { Map = "from user in docs.Users select new { user.Name }" }); using(var s = store.OpenSession()) { for (int i = 0; i < 5; i++) { var clone = new User{Name = "Ayende #"+i}; s.Store(clone); } s.SaveChanges(); } // wait for index using (var s = store.OpenSession()) { var count = s.Query<User>("Users") .Customize(x=>x.WaitForNonStaleResults()) .Count(); Assert.Equal(5, count); } using (var s = store.OpenSession()) { var queryable = s.Query<User>("Users"); Assert.Equal(queryable.ToArray().Length, queryable.Count()); } } }
public void CanGetId() { using (var store = NewDocumentStore()) { using (var s = store.OpenSession()) { for (int i = 0; i < 5; i++) { var clone = new User { Name = "Ayende #" + i }; s.Store(clone); } s.SaveChanges(); } using (var s = store.OpenSession()) { for (int i = 0; i < 5; i++) { var clone = s.Load<User>("users/" + (i + 1)); Assert.Equal("users/"+(i+1), s.GetDocumentId(clone)); } } } }