Ejemplo n.º 1
0
        public void UserController_GetByUsername_ReturnUser()
        {
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var user01 = UserAggregate.Create("jsmith", "*****@*****.**", "password hash", "security stamp");
                var user02 = UserAggregate.Create("mjane", "*****@*****.**", "password hash", "security stamp");

                databaseContext.Set <UserAggregate>().AddRange(new[] { user01, user02 });
                databaseContext.SaveChanges();
            }

            using (WebApp.Start <Startup>(url: iisAddress))
            {
                HttpClient client = new HttpClient();
                client.DefaultRequestHeaders.Accept.Add(
                    new MediaTypeWithQualityHeaderValue("application/json"));
                var response = client.GetAsync(String.Format("{0}UserRead?username={1}", iisAddress, "jsmith")).Result;
                response.StatusCode.Should().Be(HttpStatusCode.OK);
                var result = response.Content.ReadAsStringAsync().Result;

                Debug.WriteLine(response.Content.ReadAsStringAsync().Result);

                var user = JsonConvert.DeserializeObject <UserMessage>(result);

                user.Username.Should()
                .Be("jsmith");
            }
        }
Ejemplo n.º 2
0
        public void PersonController_Get_ReturnPersons()
        {
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var person01 = PersonAggregate.Create("John", "Smith");
                var person02 = PersonAggregate.Create("Mary", "Jane");

                databaseContext.Set <PersonAggregate>().AddRange(new[] { person01, person02 });
                databaseContext.SaveChanges();
            }

            using (WebApp.Start <Startup>(url: iisAddress))
            {
                HttpClient client = new HttpClient();
                client.DefaultRequestHeaders.Accept.Add(
                    new MediaTypeWithQualityHeaderValue("application/json"));
                var response = client.GetAsync(String.Format("{0}PersonRead", iisAddress)).Result;
                response.StatusCode.Should().Be(HttpStatusCode.OK);
                var result = response.Content.ReadAsStringAsync().Result;

                Debug.WriteLine(response.Content.ReadAsStringAsync().Result);

                var persons = JsonConvert.DeserializeObject <PersonMessage[]>(result);

                persons.Should()
                .ContainSingle(x => x.FirstName == "John" && x.LastName == "Smith");
                persons.Should()
                .ContainSingle(x => x.FirstName == "Mary" && x.LastName == "Jane");
            }
        }
        public void PersonAggregate_Delete_WithAddresses_WillCascade()
        {
            /// create
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var person = PersonAggregate.Create("John", "Smith");
                person.AddAddress("Street", "City", "Country", "ZipCode");

                databaseContext.Set <PersonAggregate>().Add(person);
                databaseContext.SaveChanges();
            }

            /// delete
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var person = databaseContext.Set <PersonAggregate>().First();

                databaseContext.Set <PersonAggregate>().Remove(person);
                databaseContext.SaveChanges();
            }

            /// verify
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                databaseContext.Set <PersonAggregate>().Count().Should().Be(0);
                databaseContext.Set <Address>().Count().Should().Be(0);
            }
        }
        public void RoleAggregate_Delete_WillDelete()
        {
            // create
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var role = RoleAggregate.Create(Guid.NewGuid(), "RoleName");
                databaseContext.Set <RoleAggregate>().Add(role);

                databaseContext.SaveChanges();
            }

            // delete
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var role = databaseContext.Set <RoleAggregate>().First();
                databaseContext.Set <RoleAggregate>().Remove(role);

                databaseContext.SaveChanges();
            }

            // verify
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                databaseContext.Set <RoleAggregate>().Count().Should().Be(0);
            }
        }
        public void UserAggregate_AddClaim_WillPersist()
        {
            // create
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var user = UserAggregate.Create("raffaeu", "*****@*****.**",
                                                "password hash", "security stamp");

                user.AddClaim("LOCAL AUTHORITY", "LOCAL AUTHORITY", "schema", "Raffaeu", "schema#string");


                databaseContext.Set <UserAggregate>().Add(user);
                databaseContext.SaveChanges();
            }

            // verify
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var expectedUser = databaseContext.Set <UserAggregate>()
                                   .Include(x => x.Claims)
                                   .First();

                expectedUser.Claims.Count.Should().Be(1);
            }
        }
        public void UserAggregate_Delete_WillDelete()
        {
            // create
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var user = UserAggregate.Create("raffaeu", "*****@*****.**",
                                                "password hash", "security stamp");
                databaseContext.Set <UserAggregate>().Add(user);
                databaseContext.SaveChanges();
            }

            // delete
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var user = databaseContext.Set <UserAggregate>().First();
                databaseContext.Set <UserAggregate>().Remove(user);

                databaseContext.SaveChanges();
            }

            // verify
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                databaseContext.Set <UserAggregate>().Count().Should().Be(0);
            }
        }
Ejemplo n.º 7
0
 public void Cleanup()
 {
     using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
     {
         databaseContext.Database.Delete();
         databaseContext.Database.Create();
     }
 }
        public void RoleAggregate_Valid_CanBeCreated()
        {
            // create
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var role = RoleAggregate.Create(Guid.NewGuid(), "RoleName");
                databaseContext.Set <RoleAggregate>().Add(role);

                databaseContext.SaveChanges();
            }

            // verify
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var expectedRole = databaseContext.Set <RoleAggregate>().First();
                expectedRole.Name.Should().Be("RoleName");
            }
        }
        public void PersonAggregate_Valid_CanBeCreated()
        {
            /// create
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var person = PersonAggregate.Create("FirstName", "LastName");
                databaseContext.Set <PersonAggregate>().Add(person);

                databaseContext.SaveChanges();
            }

            /// verify
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var expectedPerson = databaseContext.Set <PersonAggregate>().First();
                expectedPerson.FirstName.Should().Be("FirstName");
                expectedPerson.LastName.Should().Be("LastName");
            }
        }
        public void UserAggregate_Valid_CanBeCreate()
        {
            // create
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var user = UserAggregate.Create("raffaeu", "*****@*****.**",
                                                "password hash", "security stamp");
                databaseContext.Set <UserAggregate>().Add(user);

                databaseContext.SaveChanges();
            }

            // verify
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var expectedUser = databaseContext.Set <UserAggregate>().First();
                expectedUser.Username.Should().Be("raffaeu");
            }
        }
        public void PersonAggregate_AddAddress_WillContain()
        {
            /// create
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var person = PersonAggregate.Create("John", "Smith");
                person.AddAddress("Street", "City", "Country", "ZipCode");

                databaseContext.Set <PersonAggregate>().Add(person);
                databaseContext.SaveChanges();
            }

            /// verify
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var person = databaseContext.Set <PersonAggregate>()
                             .Include(x => x.Addresses).First();

                person.Addresses.Count.Should().Be(1);
            }
        }
        public void RoleAggregate_AddUser_WillAdd()
        {
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var role = RoleAggregate.Create(Guid.NewGuid(), "RoleName");
                var user = UserAggregate.Create("raffaeu", "*****@*****.**", "password hash", "security stamp");
                role.AddUserToRole(user);

                databaseContext.Set <RoleAggregate>().Add(role);

                databaseContext.SaveChanges();
            }

            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var role = databaseContext.Set <RoleAggregate>()
                           .Include(x => x.Users)
                           .Single();

                role.Users.Count.Should().Be(1);
            }
        }
        public void UserAggregate_AddLogin_WillPersist()
        {
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var user = UserAggregate.Create("raffaeu", "*****@*****.**",
                                                "password hash", "security stamp");
                user.AddLogin("providerName", "providerKey");

                databaseContext.Set <UserAggregate>().Add(user);
                databaseContext.SaveChanges();
            }

            // verify
            using (DatabaseContext databaseContext = DatabaseTestFactory.GetSession())
            {
                var expectedUser = databaseContext.Set <UserAggregate>()
                                   .Include(x => x.Logins)
                                   .First();

                expectedUser.Logins.Count.Should().Be(1);
            }
        }