public void Health_ShouldReturnSuccessMessage_WhenDatabaseAvailable()
        {
            // Arrange/Act
            _basicDataFixture = new BasicDataFixture();
            _testServer       = new TestServerFixture(BuildTestRegistryForSuccess());

            var response = _testServer.Client.GetAsync(@"/health").Result;
            var body     = response.Content.ReadAsStringAsync().Result;

            // Assert
            response.StatusCode.Should().Be(HttpStatusCode.OK);
            body.Should().Contain("The API is working correctly.");

            _basicDataFixture.Dispose();
            _testServer.Dispose();
        }
        public void Health_ShouldReturnFailureMessage_WhenDatabaseUnavailable()
        {
            // arrange
            // act
            _basicDataFixture = new BasicDataFixture();
            _testServer       = new TestServerFixture(BuildTestRegistryForFailure());

            var response = _testServer.Client.GetAsync(@"/health").Result;
            var body     = response.Content.ReadAsStringAsync().Result;

            response.StatusCode.Should().Be(HttpStatusCode.OK);
            body.Should().Contain("One or more components of the API are malfunctioning.");

            _basicDataFixture.Dispose();
            _testServer.Dispose();
        }
        public string ValidPrimeNumber(int number)
        {
            // Arrange/Act
            _basicDataFixture = new BasicDataFixture();
            _testServer       = new TestServerFixture(BuildTestRegistryForSuccess());

            var response = _testServer.Client.GetAsync(string.Format("/primefactor?number={0}", number)).Result;
            var body     = response.Content.ReadAsStringAsync().Result;

            // Assert
            response.StatusCode.Should().Be(HttpStatusCode.OK);

            _basicDataFixture.Dispose();
            _testServer.Dispose();

            return(body);
        }
 public void OneTimeTearDown()
 {
     _testServer.Dispose();
     _dummyDataFixture.Dispose();
 }