## testing.BackendHarness


Test fixture a backend author provides to drive the suite.


Usage

``` python
testing.BackendHarness()
```


## Methods

| Name | Description |
|----|----|
| [mutate()](#mutate) | Cause the state at `working_ref` (or the base) to change. |
| [new_object()](#new_object) | Create a fresh, empty system and return a locator for it. |

------------------------------------------------------------------------


#### mutate()


Cause the state at `working_ref` (or the base) to change.


Usage

``` python
mutate(locator, working_ref)
```


Every call writes something new, and for a [MERGE](testing.Capability.md#tether.testing.Capability.MERGE) backend two calls on different branches write *different* things (a new file, table, or key per call): the suite merges a fork into a base both were written to, and expects no conflict.


------------------------------------------------------------------------


#### new_object()


Create a fresh, empty system and return a locator for it.


Usage

``` python
new_object()
```
