| Index: net/quic/crypto/null_decrypter_test.cc
|
| diff --git a/net/quic/crypto/null_decrypter_test.cc b/net/quic/crypto/null_decrypter_test.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..6c914d7fea0e9190c70901a08576bb22391318aa
|
| --- /dev/null
|
| +++ b/net/quic/crypto/null_decrypter_test.cc
|
| @@ -0,0 +1,77 @@
|
| +// 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/quic/crypto/null_decrypter.h"
|
| +#include "net/quic/test_tools/quic_test_utils.h"
|
| +
|
| +using base::StringPiece;
|
| +
|
| +namespace net {
|
| +
|
| +namespace test {
|
| +
|
| +TEST(NullDecrypterTest, Decrypt) {
|
| + unsigned char expected[] = {
|
| + // fnv hash
|
| + 0x07, 0x2d, 0x42, 0xf0,
|
| + 0xbe, 0x69, 0x12, 0x3d,
|
| + 0x20, 0x80, 0x5f, 0x9a,
|
| + 0x84, 0x9d, 0xd6, 0x0a,
|
| + /* TODO(rch): replace this when uint128 multiplication is implemented.
|
| + 0x47, 0x11, 0xea, 0x5f,
|
| + 0xcf, 0x1d, 0x66, 0x5b,
|
| + 0xba, 0xf0, 0xbc, 0xfd,
|
| + 0x88, 0x79, 0xca, 0x37,
|
| + */
|
| + // payload
|
| + 'g', 'o', 'o', 'd',
|
| + 'b', 'y', 'e', '!',
|
| + };
|
| + NullDecrypter decrypter;
|
| + scoped_ptr<QuicData> decrypted(
|
| + decrypter.Decrypt("hello world!",
|
| + StringPiece(reinterpret_cast<const char*>(expected),
|
| + arraysize(expected))));
|
| + ASSERT_TRUE(decrypted.get());
|
| + EXPECT_EQ("goodbye!", decrypted->AsStringPiece());
|
| +}
|
| +
|
| +TEST(NullDecrypterTest, BadHash) {
|
| + unsigned char expected[] = {
|
| + // fnv hash
|
| + 0x46, 0x11, 0xea, 0x5f,
|
| + 0xcf, 0x1d, 0x66, 0x5b,
|
| + 0xba, 0xf0, 0xbc, 0xfd,
|
| + 0x88, 0x79, 0xca, 0x37,
|
| + // payload
|
| + 'g', 'o', 'o', 'd',
|
| + 'b', 'y', 'e', '!',
|
| + };
|
| + NullDecrypter decrypter;
|
| + scoped_ptr<QuicData> decrypted(
|
| + decrypter.Decrypt("hello world!",
|
| + StringPiece(reinterpret_cast<const char*>(expected),
|
| + arraysize(expected))));
|
| + ASSERT_FALSE(decrypted.get());
|
| +}
|
| +
|
| +TEST(NullDecrypterTest, ShortInput) {
|
| + unsigned char expected[] = {
|
| + // fnv hash (truncated)
|
| + 0x46, 0x11, 0xea, 0x5f,
|
| + 0xcf, 0x1d, 0x66, 0x5b,
|
| + 0xba, 0xf0, 0xbc, 0xfd,
|
| + 0x88, 0x79, 0xca,
|
| + };
|
| + NullDecrypter decrypter;
|
| + scoped_ptr<QuicData> decrypted(
|
| + decrypter.Decrypt("hello world!",
|
| + StringPiece(reinterpret_cast<const char*>(expected),
|
| + arraysize(expected))));
|
| + ASSERT_FALSE(decrypted.get());
|
| +}
|
| +
|
| +} // namespace test
|
| +
|
| +} // namespace net
|
|
|