1 // Copyright (c) 2012 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 #include "net/quic/crypto/null_encrypter.h" 6 #include "net/quic/test_tools/quic_test_utils.h" 7 8 using base::StringPiece; 9 10 namespace net { 11 namespace test { 12 13 TEST(NullEncrypterTest, Encrypt) { 14 unsigned char expected[] = { 15 // fnv hash 16 0xa0, 0x6f, 0x44, 0x8a, 17 0x44, 0xf8, 0x18, 0x3b, 18 0x47, 0x91, 0xb2, 0x13, 19 0x6b, 0x09, 0xbb, 0xae, 20 // payload 21 'g', 'o', 'o', 'd', 22 'b', 'y', 'e', '!', 23 }; 24 NullEncrypter encrypter; 25 scoped_ptr<QuicData> encrypted( 26 encrypter.EncryptPacket(0, "hello world!", "goodbye!")); 27 ASSERT_TRUE(encrypted.get()); 28 test::CompareCharArraysWithHexError( 29 "encrypted data", encrypted->data(), encrypted->length(), 30 reinterpret_cast<const char*>(expected), arraysize(expected)); 31 } 32 33 TEST(NullEncrypterTest, GetMaxPlaintextSize) { 34 NullEncrypter encrypter; 35 EXPECT_EQ(1000u, encrypter.GetMaxPlaintextSize(1016)); 36 EXPECT_EQ(100u, encrypter.GetMaxPlaintextSize(116)); 37 EXPECT_EQ(10u, encrypter.GetMaxPlaintextSize(26)); 38 } 39 40 TEST(NullEncrypterTest, GetCiphertextSize) { 41 NullEncrypter encrypter; 42 EXPECT_EQ(1016u, encrypter.GetCiphertextSize(1000)); 43 EXPECT_EQ(116u, encrypter.GetCiphertextSize(100)); 44 EXPECT_EQ(26u, encrypter.GetCiphertextSize(10)); 45 } 46 47 } // namespace test 48 } // namespace net 49