コード例 #1
0
        public async Task TestBooksGetMethod404NotFound()
        {
            try {
                BookStoreUI.Contracts.IBookRepository booksRepository = new BookStoreUI.Services.BooksRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryHttpClientFactory <EmptyDataSeeder>(),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                var answer = await booksRepository.Get(1);

                Assert.AreEqual(null, answer);
            }
            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }
コード例 #2
0
        public async Task TestBooksGetAllMethod500InternalServerError()
        {
            try {
                BookStoreUI.Contracts.IBookRepository booksRepository = new BookStoreUI.Services.BooksRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryFaultyHttpClientFactory <BookStoreApi.Code.AppDataSeeder>(),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                var answer = await booksRepository.Get();

                Assert.AreEqual(0, answer.Count());
            }
            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }
コード例 #3
0
        public async Task TestBooksGetMethod200Ok()
        {
            try {
                BookStoreUI.Contracts.IBookRepository booksRepository = new BookStoreUI.Services.BooksRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryHttpClientFactory <MockDataSeeder>(MockDataSeeder.AdminLogin),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                var answer = await booksRepository.Get(2);

                Assert.AreEqual("Hard to be the God", answer.Title);
            }
            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }
コード例 #4
0
        public async Task TestBooksDelete500InternalServerError()
        {
            try {
                BookStoreUI.Contracts.IBookRepository booksRepository = new BookStoreUI.Services.BooksRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryFaultyHttpClientFactory <AppDataSeeder>(AppDataSeeder.AdminDto),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                var answer = await booksRepository.Delete(1);

                Assert.AreEqual(StatusCodes.Status500InternalServerError, answer.StatusCode);
            }
            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }
コード例 #5
0
        public async Task TestBooksDelete404NotFound()
        {
            try {
                BookStoreUI.Contracts.IBookRepository booksRepository = new BookStoreUI.Services.BooksRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryHttpClientFactory <MockDataSeeder>(MockDataSeeder.AdminLogin),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                var answer = await booksRepository.Delete(14);

                Assert.AreEqual(StatusCodes.Status404NotFound, answer.StatusCode);
            }
            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }
コード例 #6
0
        //[TestMethod]
        public async Task TestBooksCreate403Forbidden()
        {
            try {
                BookStoreUI.Contracts.IBookRepository booksRepository = new BookStoreUI.Services.BooksRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryHttpClientFactory <MockDataSeeder>(MockDataSeeder.Customer1Login),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                var invalidAuthor = NewBookDTO;
                var answer        = await booksRepository.Create(invalidAuthor);

                Assert.AreEqual(StatusCodes.Status403Forbidden, answer.StatusCode);
            }

            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }
コード例 #7
0
        public async Task TestBooksUpdate400BadRequest()
        {
            try {
                BookStoreUI.Contracts.IBookRepository booksRepository = new BookStoreUI.Services.BooksRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryAuthentificatedHttpClientFactory <MockDataSeeder>(MockDataSeeder.AdminLogin),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                var authorToUpdate = await booksRepository.Get(3);

                authorToUpdate.Title = String.Empty;
                var answer = await booksRepository.Update(authorToUpdate);

                Assert.AreEqual(StatusCodes.Status400BadRequest, answer.StatusCode);
            }
            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }
コード例 #8
0
        public async Task TestBooksUpdate500InternalServerError()
        {
            try {
                BookStoreUI.Contracts.IBookRepository booksRepository = new BookStoreUI.Services.BooksRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryFaultyHttpClientFactory <AppDataSeeder>(AppDataSeeder.AdminDto),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                BookStoreUI.Data.DTOs.Book bookToUpdate = new BookStoreUI.Data.DTOs.Book()
                {
                    Id    = 3,
                    Title = "Some book",
                    Isbn  = "978-5-17-087885-7"
                };
                var answer = await booksRepository.Update(bookToUpdate);

                Assert.AreEqual(StatusCodes.Status500InternalServerError, answer.StatusCode);
            }
            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }