test

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2022 License: Apache-2.0 Imports: 33 Imported by: 8

Documentation

Index

Constants

View Source
const (
	// ServerKeyFile is the name of the file holding the matrix server private key.
	ServerKeyFile = "server_key.pem"
	// TLSCertFile is the name of the file holding the TLS certificate used for federation.
	TLSCertFile = "tls_cert.pem"
	// TLSKeyFile is the name of the file holding the TLS key used for federation.
	TLSKeyFile = "tls_key.pem"
)

Variables

View Source
var (

	// private keys that tests can use
	PrivateKeyA = ed25519.NewKeyFromSeed([]byte{
		1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
		17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 77,
	})
	PrivateKeyB = ed25519.NewKeyFromSeed([]byte{
		1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
		17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 66,
	})
)
View Source
var Quiet = false
View Source
var Required = os.Getenv("DENDRITE_TEST_SKIP_NODB") == ""

Functions

func AssertEventIDsEqual

func AssertEventIDsEqual(t *testing.T, gotEventIDs []string, wants []*gomatrixserverlib.HeaderedEvent)

func AssertEventsEqual

func AssertEventsEqual(t *testing.T, gots, wants []*gomatrixserverlib.HeaderedEvent)

func ListenAndServe added in v0.8.6

func ListenAndServe(t *testing.T, router http.Handler, withTLS bool) (apiURL string, cancel func())

ListenAndServe will listen on a random high-numbered port and attach the given router. Returns the base URL to send requests to. Call `cancel` to shutdown the server, which will block until it has closed.

func NewMatrixKey added in v0.8.6

func NewMatrixKey(matrixKeyPath string) (err error)

NewMatrixKey generates a new ed25519 matrix server key and writes it to a file.

func NewRequest added in v0.8.3

func NewRequest(t *testing.T, method, path string, opts ...HTTPRequestOpt) *http.Request

func NewTLSKey added in v0.8.6

func NewTLSKey(tlsKeyPath, tlsCertPath string, keySize int) error

NewTLSKey generates a new RSA TLS key and certificate and writes it to a file.

func NewTLSKeyWithAuthority added in v0.8.6

func NewTLSKeyWithAuthority(serverName, tlsKeyPath, tlsCertPath, authorityKeyPath, authorityCertPath string, keySize int) error

func PrepareDBConnectionString

func PrepareDBConnectionString(t *testing.T, dbType DBType) (connStr string, close func())

Prepare a sqlite or postgres connection string for testing. Returns the connection string to use and a close function which must be called when the test finishes. Calling this function twice will return the same database, which will have data from previous tests unless close() is called. TODO: namespace for concurrent package tests

func Reversed

Reverse a list of events

func RoomHistoryVisibility added in v0.9.2

func RoomHistoryVisibility(vis gomatrixserverlib.HistoryVisibility) roomModifier

func RoomPreset

func RoomPreset(p Preset) roomModifier

func RoomVersion

func RoomVersion(ver gomatrixserverlib.RoomVersion) roomModifier

func SaveMatrixKey added in v0.9.6

func SaveMatrixKey(matrixKeyPath string, data ed25519.PrivateKey) error

func UnsortedStringSliceEqual added in v0.8.6

func UnsortedStringSliceEqual(first, second []string) bool

UnsortedStringSliceEqual returns true if the slices have same length & elements. Does not modify the given slice.

func WithAllDatabases

func WithAllDatabases(t *testing.T, testFn func(t *testing.T, db DBType))

Creates subtests with each known DBType

func WithKeyID added in v0.8.6

func WithKeyID(keyID gomatrixserverlib.KeyID) eventModifier

func WithOrigin added in v0.8.6

func WithOrigin(origin gomatrixserverlib.ServerName) eventModifier

func WithPrivateKey added in v0.8.6

func WithPrivateKey(pkey ed25519.PrivateKey) eventModifier

func WithStateKey

func WithStateKey(skey string) eventModifier

func WithTimestamp

func WithTimestamp(ts time.Time) eventModifier

func WithUnsigned

func WithUnsigned(unsigned interface{}) eventModifier

Types

type DBType

type DBType int
var DBTypePostgres DBType = 2
var DBTypeSQLite DBType = 1

type HTTPRequestOpt added in v0.8.3

type HTTPRequestOpt func(req *http.Request)

func WithJSONBody added in v0.8.3

func WithJSONBody(t *testing.T, body interface{}) HTTPRequestOpt

func WithQueryParams added in v0.8.3

func WithQueryParams(qps map[string]string) HTTPRequestOpt

type NopJSONVerifier added in v0.8.6

type NopJSONVerifier struct {
}

NopJSONVerifier is a JSONVerifier that verifies nothing and returns no errors.

func (*NopJSONVerifier) VerifyJSONs added in v0.8.6

type Preset

type Preset int
var (
	PresetNone               Preset = 0
	PresetPrivateChat        Preset = 1
	PresetPublicChat         Preset = 2
	PresetTrustedPrivateChat Preset = 3
)

type Room

type Room struct {
	ID      string
	Version gomatrixserverlib.RoomVersion
	// contains filtered or unexported fields
}

func NewRoom

func NewRoom(t *testing.T, creator *User, modifiers ...roomModifier) *Room

Create a new test room. Automatically creates the initial create events.

func (*Room) CreateAndInsert

func (r *Room) CreateAndInsert(t *testing.T, creator *User, eventType string, content interface{}, mods ...eventModifier) *gomatrixserverlib.HeaderedEvent

func (*Room) CreateEvent

func (r *Room) CreateEvent(t *testing.T, creator *User, eventType string, content interface{}, mods ...eventModifier) *gomatrixserverlib.HeaderedEvent

Create an event in this room but do not insert it. Does not modify the room in any way (depth, fwd extremities, etc) so is thread-safe.

func (*Room) CurrentState added in v0.8.6

func (r *Room) CurrentState() []*gomatrixserverlib.HeaderedEvent

func (*Room) Events

func (r *Room) Events() []*gomatrixserverlib.HeaderedEvent

func (*Room) ForwardExtremities added in v0.8.6

func (r *Room) ForwardExtremities() []string

func (*Room) InsertEvent

func (r *Room) InsertEvent(t *testing.T, he *gomatrixserverlib.HeaderedEvent)

Add a new event to this room DAG. Not thread-safe.

func (*Room) MustGetAuthEventRefsForEvent added in v0.8.6

func (r *Room) MustGetAuthEventRefsForEvent(t *testing.T, needed gomatrixserverlib.StateNeeded) []gomatrixserverlib.EventReference

type User

type User struct {
	ID string
	// contains filtered or unexported fields
}

func NewUser

func NewUser(t *testing.T, opts ...UserOpt) *User

type UserOpt added in v0.8.6

type UserOpt func(*User)

func WithAccountType added in v0.9.2

func WithAccountType(accountType api.AccountType) UserOpt

func WithSigningServer added in v0.8.6

func WithSigningServer(srvName gomatrixserverlib.ServerName, keyID gomatrixserverlib.KeyID, privKey ed25519.PrivateKey) UserOpt

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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