예제 #1
0
 public void WrongClassRefitFixture()
 {
     using (var fixture = new RefitFixture <Startup, ISearchEngine>(RestService.For <ISearchEngine>))
     {
         Assert.Throws <IntegrationFixtureException>(() => fixture.Freeze <FreezeTests>());
     }
 }
예제 #2
0
 public void DoubleCallRefitFixture()
 {
     using (var fixture = new RefitFixture <Startup, ISearchEngine>(RestService.For <ISearchEngine>))
     {
         var service = fixture.Freeze <Mock <ISearchEngineService> >();
         Assert.Throws <IntegrationFixtureException>(() => fixture.Freeze <Mock <ISearchEngineService> >());
     }
 }
예제 #3
0
        public async Task GetViaRefitClientFreeze()
        {
            using (var fixture = new RefitFixture <Startup, ISearchEngine>(RestService.For <ISearchEngine>))
            {
                var service = fixture.Freeze <Mock <ISearchEngineService> >();
                service.Setup(a => a.GetNumberOfCharactersFromSearchQuery(It.IsNotNull <string>()))
                .ReturnsAsync(8);

                var refitClient = fixture.GetRefitClient();
                var response    = await refitClient.GetNumberOfCharacters("Hoi");

                await response.EnsureSuccessStatusCodeAsync();

                service.Verify(s => s.GetNumberOfCharactersFromSearchQuery("Hoi"), Times.Once);
            }
        }
예제 #4
0
        public async Task CheckMyTicket_CheckStatusCode(string edition, string number, HttpStatusCode expectedStatusCode)
        {
            using (var fixture = new RefitFixture <Startup, ILogicClient>(RestService.For <ILogicClient>))
            {
                var refitClient = fixture.GetRefitClient();
                var response    = await refitClient.Post(new Ticket
                {
                    Edition = edition,
                    Number  = number
                });

                var statusCode = response.StatusCode;

                Assert.Equal(expectedStatusCode, statusCode);
            }
        }
        public async Task NoMiddleNamePutRequestTest()
        {
            using (var fixture = new RefitFixture <Startup, ILogicClient>(RestService.For <ILogicClient>))
            {
                var refitClient = fixture.GetRefitClient();
                var response    = await refitClient.Put(new Name
                {
                    FirstName = "Alexander",
                    LastName  = "Johnson",
                });

                await response.EnsureSuccessStatusCodeAsync();

                Assert.Contains("Alexander", response.Content);
                Assert.Contains("Johnson", response.Content);
            }
        }
예제 #6
0
        public async Task GetViaRefitClient()
        {
            using (var fixture = new RefitFixture <Startup, ISearchEngine>(RestService.For <ISearchEngine>))
            {
                using (var mockServer = fixture.FreezeServer("Google"))
                {
                    SetupStableServer(mockServer, "Response");
                    var refitClient = fixture.GetRefitClient();
                    var response    = await refitClient.GetNumberOfCharacters("Hoi");

                    await response.EnsureSuccessStatusCodeAsync();

                    var request = mockServer.LogEntries.Select(a => a.RequestMessage).Single();
                    Assert.Contains("Hoi", request.RawQuery);
                }
            }
        }
        public async Task NamesTest(string firstName, string middleName, string lastName, HttpStatusCode expectedStatusCode, params string[] responseContains)
        {
            using (var fixture = new RefitFixture <Startup, ILogicClient>(RestService.For <ILogicClient>))
            {
                var refitClient = fixture.GetRefitClient();
                var response    = await refitClient.Post(new Name
                {
                    FirstName  = firstName,
                    MiddleName = middleName,
                    LastName   = lastName,
                });

                var statusCode = response.StatusCode;

                Assert.Equal(expectedStatusCode, statusCode);
                var content = response.Content;

                foreach (var expectedResponse in responseContains)
                {
                    Assert.Contains(expectedResponse, content);
                }
            }
        }