1 // Copyright (c) 2019 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef QUICHE_QUIC_TEST_TOOLS_WEB_TRANSPORT_TEST_TOOLS_H_ 6 #define QUICHE_QUIC_TEST_TOOLS_WEB_TRANSPORT_TEST_TOOLS_H_ 7 8 #include "quiche/quic/core/web_transport_interface.h" 9 #include "quiche/quic/platform/api/quic_test.h" 10 #include "quiche/spdy/core/http2_header_block.h" 11 12 namespace quic { 13 namespace test { 14 15 class MockWebTransportSessionVisitor : public WebTransportVisitor { 16 public: 17 MOCK_METHOD(void, OnSessionReady, (const spdy::Http2HeaderBlock&), 18 (override)); 19 MOCK_METHOD(void, OnSessionClosed, 20 (WebTransportSessionError, const std::string&), (override)); 21 MOCK_METHOD(void, OnIncomingBidirectionalStreamAvailable, (), (override)); 22 MOCK_METHOD(void, OnIncomingUnidirectionalStreamAvailable, (), (override)); 23 MOCK_METHOD(void, OnDatagramReceived, (absl::string_view), (override)); 24 MOCK_METHOD(void, OnCanCreateNewOutgoingBidirectionalStream, (), (override)); 25 MOCK_METHOD(void, OnCanCreateNewOutgoingUnidirectionalStream, (), (override)); 26 }; 27 28 class MockWebTransportStreamVisitor : public WebTransportStreamVisitor { 29 public: 30 MOCK_METHOD(void, OnCanRead, (), (override)); 31 MOCK_METHOD(void, OnCanWrite, (), (override)); 32 33 MOCK_METHOD(void, OnResetStreamReceived, (WebTransportStreamError error), 34 (override)); 35 MOCK_METHOD(void, OnStopSendingReceived, (WebTransportStreamError error), 36 (override)); 37 MOCK_METHOD(void, OnWriteSideInDataRecvdState, (), (override)); 38 }; 39 40 } // namespace test 41 } // namespace quic 42 43 #endif // QUICHE_QUIC_TEST_TOOLS_WEB_TRANSPORT_TEST_TOOLS_H_ 44