public void TestInitializer() { WebSocketConnectionManager webSocketConnectionManager = new WebSocketConnectionManager(); PuzzleGenerator <SudokuPuzzle> sudokuGenerator = new SudokuGenerator(); PuzzlePrinter <SudokuPuzzle> sudokuPrinter = new SudokuPrinter(); IPuzzleService <SudokuPuzzle> sudokuPuzzleService = new SudokuPuzzleService(sudokuGenerator, sudokuPrinter); _httpHandler = new HttpClientHandlerMock(); IRestServiceConnector restServiceConnector = new RestServiceConnector(_httpHandler); IPuzzleStorageService puzzleStorageService = new PuzzleStorageService(restServiceConnector); _puzzleHandler = new PuzzleHandler(webSocketConnectionManager, sudokuPuzzleService, puzzleStorageService); }
public async Task FirstInvokeWillProxyRequest() { // arrange var expectedResponse = CreateAnonymousString(); var clientHandlerMock = HttpClientHandlerMock.CreateWithExpectedResponse(HttpStatusCode.OK, expectedResponse); var server = CreateDccTestServerWith(clientHandlerMock, listeningPort: 1234); // act var result = await server.CreateClient().GetStringAsync("test-endpoint"); // assert result.Should().Be(expectedResponse); }
public async Task SecondInvokeWillReturnStoredTape() { // arrange var clientHandlerMock = HttpClientHandlerMock.CreateWithExpectedResponse(HttpStatusCode.OK, CreateAnonymousString()); var server = CreateDccTestServerWith(clientHandlerMock, listeningPort: 1235); await server.CreateClient().GetStringAsync("test-endpoint"); // act await server.CreateClient().GetAsync("test-endpoint"); // assert clientHandlerMock.SendCallbackInvocationCount.Should().Be(1); }
/* * However, this policy is not enforced for custom handlers and there * is also no way a derived class could tell its HttpClientHandler parent * that it just sent a request. * */ public void ModifyHandlerAfterFirstRequest_Mock () { var ch = new HttpClientHandlerMock (); ch.AllowAutoRedirect = true; var client = new HttpClient (ch); ch.OnSend = (l) => { return Task.FromResult (new HttpResponseMessage ()); }; client.GetAsync ("http://xamarin.com").Wait (WaitTimeout); ch.AllowAutoRedirect = false; }