blob: 054c7fb20594ff829639059f9cebe7040daf5b87 [file] [log] [blame]
// 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.
#include "net/tools/quic/test_tools/quic_test_utils.h"
#include "base/sha1.h"
#include "net/quic/quic_connection.h"
#include "net/quic/test_tools/quic_connection_peer.h"
#include "net/quic/test_tools/quic_test_utils.h"
#include "net/tools/quic/quic_epoll_connection_helper.h"
using base::StringPiece;
using net::test::MockHelper;
namespace net {
namespace tools {
namespace test {
QuicVersion QuicVersionMax() { return QuicSupportedVersions().front(); }
QuicVersion QuicVersionMin() { return QuicSupportedVersions().back(); }
MockConnection::MockConnection(QuicGuid guid,
IPEndPoint address,
int fd,
EpollServer* eps,
bool is_server)
: QuicConnection(guid, address,
new QuicEpollConnectionHelper(eps),
new QuicDefaultPacketWriter(fd), is_server,
QuicSupportedVersions()),
has_mock_helper_(false),
writer_(net::test::QuicConnectionPeer::GetWriter(this)),
helper_(helper()) {
}
MockConnection::MockConnection(QuicGuid guid,
IPEndPoint address,
bool is_server)
: QuicConnection(guid, address, new testing::NiceMock<MockHelper>(),
new testing::NiceMock<MockPacketWriter>(),
is_server, QuicSupportedVersions()),
has_mock_helper_(true),
writer_(net::test::QuicConnectionPeer::GetWriter(this)),
helper_(helper()) {
}
MockConnection::MockConnection(QuicGuid guid,
IPEndPoint address,
QuicConnectionHelperInterface* helper,
QuicPacketWriter* writer,
bool is_server)
: QuicConnection(guid, address, helper, writer, is_server,
QuicSupportedVersions()),
has_mock_helper_(false) {
}
MockConnection::~MockConnection() {
}
void MockConnection::AdvanceTime(QuicTime::Delta delta) {
CHECK(has_mock_helper_) << "Cannot advance time unless a MockClock is being"
" used";
static_cast<MockHelper*>(helper())->AdvanceTime(delta);
}
uint64 SimpleRandom::RandUint64() {
unsigned char hash[base::kSHA1Length];
base::SHA1HashBytes(reinterpret_cast<unsigned char*>(&seed_), sizeof(seed_),
hash);
memcpy(&seed_, hash, sizeof(seed_));
return seed_;
}
MockQuicSessionOwner::MockQuicSessionOwner() {
}
MockQuicSessionOwner::~MockQuicSessionOwner() {
}
bool TestDecompressorVisitor::OnDecompressedData(StringPiece data) {
data.AppendToString(&data_);
return true;
}
void TestDecompressorVisitor::OnDecompressionError() {
error_ = true;
}
TestSession::TestSession(QuicConnection* connection,
const QuicConfig& config,
bool is_server)
: QuicSession(connection, config, is_server),
crypto_stream_(NULL) {
}
TestSession::~TestSession() {}
void TestSession::SetCryptoStream(QuicCryptoStream* stream) {
crypto_stream_ = stream;
}
QuicCryptoStream* TestSession::GetCryptoStream() {
return crypto_stream_;
}
MockAckNotifierDelegate::MockAckNotifierDelegate() {
}
MockAckNotifierDelegate::~MockAckNotifierDelegate() {
}
MockPacketWriter::MockPacketWriter() {
}
MockPacketWriter::~MockPacketWriter() {
}
} // namespace test
} // namespace tools
} // namespace net