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 #ifndef NET_SPDY_TEST_UTILS_H_ 6 #define NET_SPDY_TEST_UTILS_H_ 7 8 #include <stdint.h> 9 10 #include <string> 11 12 #include "net/spdy/spdy_protocol.h" 13 14 namespace net { 15 16 class HashValue; 17 class TransportSecurityState; 18 19 namespace test { 20 21 std::string HexDumpWithMarks(const unsigned char* data, int length, 22 const bool* marks, int mark_length); 23 24 void CompareCharArraysWithHexError( 25 const std::string& description, 26 const unsigned char* actual, 27 const int actual_len, 28 const unsigned char* expected, 29 const int expected_len); 30 31 void SetFrameFlags(SpdyFrame* frame, 32 uint8 flags, 33 SpdyMajorVersion spdy_version); 34 35 void SetFrameLength(SpdyFrame* frame, 36 size_t length, 37 SpdyMajorVersion spdy_version); 38 39 std::string a2b_hex(const char* hex_data); 40 41 // Returns a SHA1 HashValue in which each byte has the value |label|. 42 HashValue GetTestHashValue(uint8_t label); 43 44 // Returns SHA1 pinning header for the of the base64 encoding of 45 // GetTestHashValue(|label|). 46 std::string GetTestPin(uint8_t label); 47 48 // Adds a pin for |host| to |state|. 49 void AddPin(TransportSecurityState* state, 50 const std::string& host, 51 uint8_t primary_label, 52 uint8_t backup_label); 53 54 } // namespace test 55 56 } // namespace net 57 58 #endif // NET_SPDY_TEST_UTILS_H_ 59