summaryrefslogtreecommitdiffstats
path: root/net/quic/test_tools/quic_test_utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'net/quic/test_tools/quic_test_utils.h')
-rw-r--r--net/quic/test_tools/quic_test_utils.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/net/quic/test_tools/quic_test_utils.h b/net/quic/test_tools/quic_test_utils.h
new file mode 100644
index 0000000..14e3fd2
--- /dev/null
+++ b/net/quic/test_tools/quic_test_utils.h
@@ -0,0 +1,69 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+// Common utilities for Quic tests
+
+#ifndef NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_
+#define NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_
+
+#include "net/quic/quic_framer.h"
+#include "testing/gmock/include/gmock/gmock.h"
+
+namespace net {
+
+namespace test {
+
+void CompareCharArraysWithHexError(const std::string& description,
+ const char* actual,
+ const int actual_len,
+ const char* expected,
+ const int expected_len);
+
+void CompareQuicDataWithHexError(const std::string& description,
+ QuicData* actual,
+ QuicData* expected);
+
+// Constructs a basic crypto handshake message
+QuicPacket* ConstructHandshakePacket(QuicGuid guid, CryptoTag tag);
+
+class MockFramerVisitor : public QuicFramerVisitorInterface {
+ public:
+ MockFramerVisitor();
+ ~MockFramerVisitor();
+
+ MOCK_METHOD1(OnError, void(QuicFramer* framer));
+ MOCK_METHOD1(OnPacket, void(const IPEndPoint& client_address));
+ MOCK_METHOD1(OnPacketHeader, bool(const QuicPacketHeader& header));
+ MOCK_METHOD1(OnFecProtectedPayload, void(base::StringPiece payload));
+ MOCK_METHOD1(OnStreamFragment, void(const QuicStreamFragment& fragment));
+ MOCK_METHOD1(OnAckFragment, void(const QuicAckFragment& fragment));
+ MOCK_METHOD1(OnFecData, void(const QuicFecData& fec));
+ MOCK_METHOD1(OnRstStreamFragment,
+ void(const QuicRstStreamFragment& fragment));
+ MOCK_METHOD1(OnConnectionCloseFragment,
+ void(const QuicConnectionCloseFragment& fragment));
+ MOCK_METHOD0(OnPacketComplete, void());
+};
+
+class NoOpFramerVisitor : public QuicFramerVisitorInterface {
+ public:
+ virtual void OnError(QuicFramer* framer) OVERRIDE {}
+ virtual void OnPacket(const IPEndPoint& client_address) OVERRIDE {}
+ virtual bool OnPacketHeader(const QuicPacketHeader& header) OVERRIDE;
+ virtual void OnFecProtectedPayload(base::StringPiece payload) OVERRIDE {}
+ virtual void OnStreamFragment(const QuicStreamFragment& fragment) OVERRIDE {}
+ virtual void OnAckFragment(const QuicAckFragment& fragment) OVERRIDE {}
+ virtual void OnFecData(const QuicFecData& fec) OVERRIDE {}
+ virtual void OnRstStreamFragment(
+ const QuicRstStreamFragment& fragment) OVERRIDE {}
+ virtual void OnConnectionCloseFragment(
+ const QuicConnectionCloseFragment& fragment) OVERRIDE {}
+ virtual void OnPacketComplete() OVERRIDE {}
+};
+
+} // namespace test
+
+} // namespace net
+
+#endif // NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_