Пример #1
0
		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)));
					}
				}
			}
		}
Пример #2
0
		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);
					}
				}
			}
		}
Пример #3
0
        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"));
                }
            }
        }
Пример #5
0
		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());
				}
			}
		}
Пример #6
0
		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));
					}
				}
			}
		}