Beispiel #1
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, AddressBookDbContext dbContext)
        {
            dbContext.Database.Migrate();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseSwagger();
                app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "AddressBook.Api v1"));
            }

            app.UseHttpsRedirection();

            app.UseRouting();

            app.UseCors(
                options => options
                .AllowAnyHeader()
                .AllowAnyMethod()
                .AllowAnyOrigin()
                );

            app.UseAuthentication();
            app.UseAuthorization();

            app.UseEndpoints(endpoints => endpoints.MapControllers());
        }
Beispiel #2
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory,
                              AddressBookDbContext addressBookDbContext, ApplicationDbContext applicationDbContext)
        {
            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
            loggerFactory.AddDebug();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseDatabaseErrorPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

            app.UseStaticFiles();

            app.UseIdentity();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });

            SampleData.Initialize(applicationDbContext);
            SampleData.Initialize(addressBookDbContext);
        }
Beispiel #3
0
        public void TestDeleteContact()
        {
            var options = new DbContextOptionsBuilder <AddressBookDbContext>()
                          .UseInMemoryDatabase(databaseName: "DeleteContact")
                          .Options;


            Contact contact = CreateNewContact();

            using (var dbContext = new AddressBookDbContext(options))
            {
                var contactsDataAccess = new ContactsDataAccess(dbContext);

                contactsDataAccess.Create(contact);

                dbContext.SaveChanges();
            }

            using (var dbContext = new AddressBookDbContext(options))
            {
                var contactsDataAccess = new ContactsDataAccess(dbContext);

                Contact c = contactsDataAccess.GetById(contact.Id);
                contactsDataAccess.Delete(c);

                dbContext.SaveChanges();
            }

            using (var dbContext = new AddressBookDbContext(options))
            {
                Assert.Equal(0, dbContext.Contacts.Count());
                Assert.Equal(0, dbContext.Addresses.Count());
                Assert.Equal(0, dbContext.PhoneNumbers.Count());
            }
        }
Beispiel #4
0
        public void Get_ReturnsGroupedValues()
        {
            // arrange
            var options = new DbContextOptionsBuilder <AddressBookDbContext>()
                          .UseInMemoryDatabase(databaseName: "AddressBook")
                          .Options;

            using (var context = new AddressBookDbContext(options))
            {
                context.AddressBook.Add(new AddressBook {
                    FirstName = "Jane", LastName = "Jones", StreetAddress = "Test Rd 1", City = "Rome", Country = "Italy"
                });
                context.AddressBook.Add(new AddressBook {
                    FirstName = "Tim", LastName = "Smith", StreetAddress = "Test Rd 2", City = "Paris", Country = "France"
                });
                context.AddressBook.Add(new AddressBook {
                    FirstName = "John", LastName = "Doe", StreetAddress = "Test Rd 3", City = "Paris", Country = "France"
                });
                context.SaveChanges();
            }

            using (var context = new AddressBookDbContext(options))
            {
                // act
                var            controller = new AddressBookController(context);
                OkObjectResult result     = controller.Get() as OkObjectResult;
                var            content    = result.Value as IDictionary <string, List <AddressBook> >;

                // assert
                Assert.Equal(3, context.AddressBook.Count());
                Assert.IsType <OkObjectResult>(result);
                Assert.Equal(200, result.StatusCode);
                Assert.Equal(2, content.Count());
            }
        }
Beispiel #5
0
        public static void Seed(AddressBookDbContext context)
        {
            context.Database.EnsureCreated();

            if (context.AddressBook.Any())
            {
                return;
            }

            List <AddressBook> addresses = new List <AddressBook>
            {
                new AddressBook {
                    FirstName = "John", LastName = "Smith", StreetAddress = "Test St 1", City = "London", Country = "England"
                },
                new AddressBook {
                    FirstName = "Jane", LastName = "Doe", StreetAddress = "Test St 2", City = "london", Country = "England"
                },
                new AddressBook {
                    FirstName = "Tim", LastName = "Jones", StreetAddress = "Test St 3", City = "New York", Country = "USA"
                }
            };

            foreach (AddressBook address in addresses)
            {
                context.AddressBook.Add(address);
            }
            context.SaveChanges();
        }
Beispiel #6
0
        public static void SeedHostDb(AddressBookDbContext context)
        {
            context.SuppressAutoSetTenantId = true;

            // Host seed
            new InitialHostDbBuilder(context).Create();

            // Default tenant seed (in host database).
            new DefaultTenantBuilder(context).Create();
            new TenantRoleAndUserBuilder(context, 1).Create();
        }
Beispiel #7
0
        public ContactRepositoryTests()
        {
            var dbContextOptions = new DbContextOptionsBuilder <AddressBookDbContext>()
                                   .UseInMemoryDatabase("AddressBookDatabase")
                                   .Options;

            _dbContext = new AddressBookDbContext(dbContextOptions);

            _dbContext.Contacts.AddRange(new List <Contact>
            {
                new Contact
                {
                    ContactId     = 1,
                    FirstName     = "Test First Name 1",
                    MiddleName    = "Test Middle Name 1",
                    LastName      = "Test Last Name 1",
                    DisplayName   = "Test Display Name 1",
                    StreetAddress = "Test Street Address 1",
                    City          = "Test City 1",
                    Region        = "TO",
                    PostalCode    = "12345",
                    Country       = "Test Country 1",
                    PhoneNumber   = "(012) 345-6789",
                    EmailAddress  = "*****@*****.**"
                },
                new Contact
                {
                    ContactId     = 2,
                    FirstName     = "Test First Name 2",
                    MiddleName    = "Test Middle Name 2",
                    LastName      = "Test Last Name 2",
                    DisplayName   = "Test Display Name 2",
                    StreetAddress = "Test Street Address 2",
                    City          = "Test City 2",
                    Region        = "TT",
                    PostalCode    = "67890",
                    Country       = "Test Country 2",
                    PhoneNumber   = "(123) 456-7890",
                    EmailAddress  = "*****@*****.**"
                }
            });

            _dbContext.SaveChanges();

            var mapperConfig = new MapperConfiguration(
                config => config.CreateMap <ContactDto, Contact>()
                );
            var mapper = mapperConfig.CreateMapper();

            var sieveProcessorOptions = Options.Create(new SieveOptions());
            var sieveProcessor        = new SieveProcessor(sieveProcessorOptions);

            _contactRepository = new ContactRepository(_dbContext, mapper, sieveProcessor);
        }
Beispiel #8
0
        public void TestIsInAddressBook()
        {
            var options = new DbContextOptionsBuilder <AddressBookDbContext>()
                          .UseInMemoryDatabase(databaseName: "CreateContact")
                          .Options;


            using (var dbContext = new AddressBookDbContext(options))
            {
                var contactsDataAccess = new ContactsDataAccess(dbContext);

                contactsDataAccess.Create(CreateNewContact());

                dbContext.SaveChanges();
            }

            using (var dbContext = new AddressBookDbContext(options))
            {
                Assert.Equal(1, dbContext.Contacts.Count());
                Assert.Equal(1, dbContext.Addresses.Count());
                Assert.Equal(1, dbContext.PhoneNumbers.Count());
                Assert.True(dbContext.Contacts.First().Id > 0);
            }

            Contact sameContact = CreateNewContact();

            using (var dbContext = new AddressBookDbContext(options))
            {
                var contactsDataAccess = new ContactsDataAccess(dbContext);

                bool isInAddressBook = contactsDataAccess.IsInAddressBook(sameContact);

                Assert.True(isInAddressBook);

                sameContact.Name += "_Changed";

                isInAddressBook = contactsDataAccess.IsInAddressBook(sameContact);

                Assert.False(isInAddressBook);
            }
        }
Beispiel #9
0
        public void Get_ReturnsEmptyObject()
        {
            // arrange
            var options = new DbContextOptionsBuilder <AddressBookDbContext>()
                          .UseInMemoryDatabase(databaseName: "AddressBook")
                          .Options;

            using (var context = new AddressBookDbContext(options))
            {
                // act
                var            controller = new AddressBookController(context);
                OkObjectResult result     = controller.Get() as OkObjectResult;
                var            content    = result.Value as IDictionary <string, List <AddressBook> >;

                // assert
                Assert.Empty(context.AddressBook);
                Assert.IsType <OkObjectResult>(result);
                Assert.Equal(200, result.StatusCode);
                Assert.Empty(content);
            }
        }
Beispiel #10
0
 public ContactsController(AddressBookDbContext addressBookDbContext, IAddressBookService addressBookService, AddressBookBroadcaster addressBookBroadcaster)
 {
     this.addressBookDbContext   = addressBookDbContext;
     this.addressBookService     = addressBookService;
     this.addressBookBroadcaster = addressBookBroadcaster;
 }
Beispiel #11
0
 public DefaultSettingsCreator(AddressBookDbContext context)
 {
     _context = context;
 }
Beispiel #12
0
 public DefaultTenantBuilder(AddressBookDbContext context)
 {
     _context = context;
 }
 public DefaultLanguagesCreator(AddressBookDbContext context)
 {
     _context = context;
 }
Beispiel #14
0
 public PhoneNumbersDataAccess(AddressBookDbContext addressBookDbContext)
 {
     this.context = addressBookDbContext;
 }
Beispiel #15
0
 public AddressBookController(AddressBookDbContext context)
 {
     _context = context;
 }
 public TenantRoleAndUserBuilder(AddressBookDbContext context, int tenantId)
 {
     _context  = context;
     _tenantId = tenantId;
 }
Beispiel #17
0
 public ContactRepository(AddressBookDbContext context) : base(context)
 {
 }
Beispiel #18
0
 public AddressBookRepository()
 {
     _db = new AddressBookDbContext();
 }
 public InitialHostDbBuilder(AddressBookDbContext context)
 {
     _context = context;
 }
 public HostRoleAndUserCreator(AddressBookDbContext context)
 {
     _context = context;
 }
Beispiel #21
0
 public DefaultEditionCreator(AddressBookDbContext context)
 {
     _context = context;
 }
 public PhoneNumbersController(AddressBookDbContext context, IAddressBookService addressBookService)
 {
     this.context            = context;
     this.addressBookService = addressBookService;
 }
Beispiel #23
0
 public Repository(AddressBookDbContext context)
 {
     _context = context;
 }
Beispiel #24
0
 public UserRepository(AddressBookDbContext dbContext, ISieveProcessor sieveProcessor)
 {
     _dbContext      = dbContext;
     _sieveProcessor = sieveProcessor;
 }
Beispiel #25
0
 public ContactsDataAccess(AddressBookDbContext context)
 {
     this.context = context;
 }
 public ContactRepository(AddressBookDbContext dbContext, IMapper mapper, ISieveProcessor sieveProcessor)
 {
     _dbContext      = dbContext;
     _mapper         = mapper;
     _sieveProcessor = sieveProcessor;
 }