testonly

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 22, 2018 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Overview

Package testonly contains code and data that should only be used by tests. Production code MUST NOT depend on anything in this package. This will be enforced by tools where possible.

As an example PEM encoded test certificates and helper functions to decode them are suitable candidates for being placed in testonly. However, nothing specific to a particular application should be added at this level. Do not add CT specific test data for example.

Index

Constants

View Source
const DemoPrivateKey string = `` /* 294-byte string literal not displayed */

DemoPrivateKey is the private key itself; must only be used for testing purposes

View Source
const DemoPrivateKeyPass string = "towel"

DemoPrivateKeyPass is the password for DemoPrivateKey

View Source
const DemoPublicKey string = `` /* 178-byte string literal not displayed */

DemoPublicKey is the public key that corresponds to DemoPrivateKey.

Variables

This section is empty.

Functions

func CompactMerkleTreeLeafTestNodeHashes

func CompactMerkleTreeLeafTestNodeHashes() [][][]byte

CompactMerkleTreeLeafTestNodeHashes returns the CompactMerkleTree.node state that must result after each of the leaf additions returned by MerkleTreeLeafTestInputs(), as described above.

func EmptyMerkleTreeRootHash

func EmptyMerkleTreeRootHash() []byte

EmptyMerkleTreeRootHash returns the expected root hash for an empty Merkle Tree that uses SHA256 hashing.

func EnsureErrorContains

func EnsureErrorContains(t *testing.T, err error, s string)

EnsureErrorContains checks that an error contains a specific substring and fails a test with a fatal if it does not or the error was nil.

func HashKey

func HashKey(key string) []byte

HashKey converts a map key into a map index using SHA256. This preserves tests that precomputed indexes based on SHA256.

func MerkleTreeLeafTestInputs

func MerkleTreeLeafTestInputs() [][]byte

MerkleTreeLeafTestInputs returns a slice of leaf inputs that may be used in compact Merkle tree test cases. They are intended to be added successively, so that after each addition the corresponding root from MerkleTreeLeafTestRoots gives the expected Merkle tree root hash.

func MerkleTreeLeafTestRootHashes

func MerkleTreeLeafTestRootHashes() [][]byte

MerkleTreeLeafTestRootHashes returns a slice of Merkle tree root hashes that correspond to the expected tree state for the leaf additions returned by MerkleTreeLeafTestInputs(), as described above.

func MustDecodeBase64

func MustDecodeBase64(b64 string) []byte

MustDecodeBase64 expects a base 64 encoded string input and panics if it cannot be decoded

func MustHexDecode

func MustHexDecode(b string) []byte

MustHexDecode decodes its input string from hex and panics if this fails

func MustMarshalAny added in v1.0.2

func MustMarshalAny(t *testing.T, in proto.Message) *any.Any

MustMarshalAny is used in tests to Marshal proto messages into the protobuf.ptypes.any.Any used in the Trillian API and in storage. Failure to marshal will fail the test but the suite will continue.

func MustMarshalAnyNoT added in v1.0.2

func MustMarshalAnyNoT(in proto.Message) []byte

MustMarshalAnyNoT is used to Marshal proto messages into the protobuf.ptypes.any.Any used throughout the Trillian API and in storage. Use if testing.T not available. Failure to marshal will fail the test suite.

func MustToTimestampProto added in v1.0.5

func MustToTimestampProto(t time.Time) *tspb.Timestamp

MustToTimestampProto converts t to a Timestamp protobuf, or panics if this fails.

func NewSignerWithErr

func NewSignerWithErr(pubKey crypto.PublicKey, err error) crypto.Signer

NewSignerWithErr creates a signer that always returns err when Sign() is called.

func NewSignerWithFixedSig

func NewSignerWithFixedSig(pubKey crypto.PublicKey, sig []byte) crypto.Signer

NewSignerWithFixedSig creates a signer that always return sig when Sign() is called.

func RelativeToPackage

func RelativeToPackage(p string) string

RelativeToPackage returns the input path p as an absolute path, resolved relative to the caller's package. The working directory for Go tests is the dir of the test file. Using "plain" relative paths in test utilities is, therefore, brittle, as the directory structure may change depending on where the tests are placed.

func TransparentHash

func TransparentHash(key string) []byte

TransparentHash returns a key that can be visually inspected. This supports testing where it was nice to see what the key was.

Types

type MockServer added in v1.0.7

MockServer implements the TrillianAdminServer, the TrillianMapServer, and TrillianLogServer.

func NewMockServer added in v1.0.7

func NewMockServer(ctrl *gomock.Controller) (*MockServer, func(), error)

NewMockServer starts a server on a random port. Returns the started server, the listener it's using for connection and a close function that must be defer-called on the scope the server is meant to stop.

Directories

Path Synopsis
maphammer
maphammer is a stress/load test for a Trillian Map.
maphammer is a stress/load test for a Trillian Map.
mapreplay
mapreplay replays a log of Trillian Map requests.
mapreplay replays a log of Trillian Map requests.
Package integration provides test-only code for performing integrated tests of Trillian functionality.
Package integration provides test-only code for performing integrated tests of Trillian functionality.
Package matchers contains additional gomock matchers.
Package matchers contains additional gomock matchers.
Package tmock is a generated GoMock package.
Package tmock is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL