blob: 14bc8efbb4cf138d6085f74270b55d3e447dc292 [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.
#ifndef NET_SPDY_TEST_UTILS_H_
#define NET_SPDY_TEST_UTILS_H_
#include <stdint.h>
#include <string>
#include "net/spdy/spdy_protocol.h"
namespace net {
class HashValue;
class TransportSecurityState;
namespace test {
std::string HexDumpWithMarks(const unsigned char* data, int length,
const bool* marks, int mark_length);
void CompareCharArraysWithHexError(
const std::string& description,
const unsigned char* actual,
const int actual_len,
const unsigned char* expected,
const int expected_len);
void SetFrameFlags(SpdyFrame* frame,
uint8 flags,
SpdyMajorVersion spdy_version);
void SetFrameLength(SpdyFrame* frame,
size_t length,
SpdyMajorVersion spdy_version);
std::string a2b_hex(const char* hex_data);
// Returns a SHA1 HashValue in which each byte has the value |label|.
HashValue GetTestHashValue(uint8_t label);
// Returns SHA1 pinning header for the of the base64 encoding of
// GetTestHashValue(|label|).
std::string GetTestPin(uint8_t label);
// Adds a pin for |host| to |state|.
void AddPin(TransportSecurityState* state,
const std::string& host,
uint8_t primary_label,
uint8_t backup_label);
} // namespace test
} // namespace net
#endif // NET_SPDY_TEST_UTILS_H_