public void HappyFlow_True()
            {
                var fixture = new EnterspeedIngestServiceTestFixture();

                var mockMessageHandler = new MockHttpMessageHandler("{\"status\": 200, \"message\": \"Entity Saved\"}", HttpStatusCode.OK);

                fixture.Connection
                .HttpClientConnection
                .Returns(new HttpClient(mockMessageHandler)
                {
                    BaseAddress = new Uri("https://example.com/")
                });

                fixture.ConfigurationProvider
                .Configuration
                .Returns(new EnterspeedConfiguration());

                var mockEntity = new MockEnterspeedEntity()
                {
                    Id         = "1234",
                    Type       = "test",
                    Properties = new Dictionary <string, IEnterspeedProperty>
                    {
                        ["testProperty"] = new StringEnterspeedProperty("title", "Hello world")
                    }
                };

                var sut = fixture.Create <EnterspeedIngestService>();

                var result = sut.Save(mockEntity);

                Assert.True(result.Success);
                Assert.Equal(200, result.StatusCode);
                Assert.Equal("Entity Saved", result.Message);
            }
            public void MissingEntity_False()
            {
                var fixture = new EnterspeedIngestServiceTestFixture();

                var mockMessageHandler = new MockHttpMessageHandler(HttpStatusCode.OK);

                fixture.Connection
                .HttpClientConnection
                .Returns(new HttpClient(mockMessageHandler)
                {
                    BaseAddress = new Uri("https://example.com")
                });

                fixture.ConfigurationProvider
                .Configuration
                .Returns(new EnterspeedConfiguration());

                var sut = fixture.Create <EnterspeedIngestService>();

                var result = sut.Save(null);

                Assert.False(result.Success);
            }
            public void EndpointError_False()
            {
                var fixture = new EnterspeedIngestServiceTestFixture();

                var mockMessageHandler = new MockHttpMessageHandler(HttpStatusCode.BadRequest, true);

                fixture.Connection
                .HttpClientConnection
                .Returns(new HttpClient(mockMessageHandler)
                {
                    BaseAddress = new Uri("https://example.com")
                });

                fixture.ConfigurationProvider
                .Configuration
                .Returns(new EnterspeedConfiguration());

                var sut = fixture.Create <EnterspeedIngestService>();

                var result = sut.Delete("1234");

                Assert.False(result.Success);
            }
            public void MissingId_False()
            {
                var fixture = new EnterspeedIngestServiceTestFixture();

                var mockMessageHandler = new MockHttpMessageHandler("{\"status\": 200, \"message\": \"Entity Deleted\"}", HttpStatusCode.OK);

                fixture.Connection
                .HttpClientConnection
                .Returns(new HttpClient(mockMessageHandler)
                {
                    BaseAddress = new Uri("https://example.com")
                });

                fixture.ConfigurationProvider
                .Configuration
                .Returns(new EnterspeedConfiguration());

                var sut = fixture.Create <EnterspeedIngestService>();

                var result = sut.Delete(string.Empty);

                Assert.False(result.Success);
            }