Documentation ¶
Overview ¶
Package drivertest provides a conformance test for implementations of runtimevar.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RunConformanceTests ¶
func RunConformanceTests(t *testing.T, newHarness HarnessMaker)
RunConformanceTests runs conformance tests for provider implementations of runtimevar.
Types ¶
type Harness ¶
type Harness interface { // MakeWatcher creates a driver.Watcher to watch the given variable. MakeWatcher(ctx context.Context, name string, decoder *runtimevar.Decoder) (driver.Watcher, error) // CreateVariable creates the variable with the given contents in the provider. CreateVariable(ctx context.Context, name string, val []byte) error // UpdateVariable updates an existing variable to have the given contents in the provider. UpdateVariable(ctx context.Context, name string, val []byte) error // DeleteVariable deletes an existing variable in the provider. DeleteVariable(ctx context.Context, name string) error // Close is called when the test is complete. Close() // Mutable returns true iff the driver supports UpdateVariable/DeleteVariable. // If false, those functions should return errors, and the conformance tests // will skip and/or ignore errors for tests that require them. Mutable() bool }
Harness descibes the functionality test harnesses must provide to run conformance tests.
type HarnessMaker ¶
HarnessMaker describes functions that construct a harness for running tests. It is called exactly once per test; Harness.Close() will be called when the test is complete.
Click to show internal directories.
Click to hide internal directories.