storage-test
Safe HaskellNone
LanguageHaskell2010

Test.Ouroboros.Storage.LedgerDB.V1.BackingStore.Mock

Synopsis

Types

newtype ID Source #

An ID for a mocked value handle.

Constructors

ID Word 

Instances

Instances details
Num ID Source # 
Instance details

Defined in Test.Ouroboros.Storage.LedgerDB.V1.BackingStore.Mock

Methods

(+)IDIDID #

(-)IDIDID #

(*)IDIDID #

negateIDID #

absIDID #

signumIDID #

fromIntegerIntegerID #

Show ID Source # 
Instance details

Defined in Test.Ouroboros.Storage.LedgerDB.V1.BackingStore.Mock

Methods

showsPrecIntIDShowS #

showIDString #

showList ∷ [ID] → ShowS #

Eq ID Source # 
Instance details

Defined in Test.Ouroboros.Storage.LedgerDB.V1.BackingStore.Mock

Methods

(==)IDIDBool #

(/=)IDIDBool #

Ord ID Source # 
Instance details

Defined in Test.Ouroboros.Storage.LedgerDB.V1.BackingStore.Mock

Methods

compareIDIDOrdering #

(<)IDIDBool #

(<=)IDIDBool #

(>)IDIDBool #

(>=)IDIDBool #

maxIDIDID #

minIDIDID #

data Mock vs Source #

Constructors

Mock 

Fields

Instances

Instances details
Show vs ⇒ Show (Mock vs) Source # 
Instance details

Defined in Test.Ouroboros.Storage.LedgerDB.V1.BackingStore.Mock

Methods

showsPrecIntMock vs → ShowS #

showMock vs → String #

showList ∷ [Mock vs] → ShowS #

Eq vs ⇒ Eq (Mock vs) Source # 
Instance details

Defined in Test.Ouroboros.Storage.LedgerDB.V1.BackingStore.Mock

Methods

(==)Mock vs → Mock vs → Bool #

(/=)Mock vs → Mock vs → Bool #

MonadState (Mock vs) (MockMonad ks vs d) Source # 
Instance details

Defined in Test.Ouroboros.Storage.LedgerDB.V1.BackingStore.Mock

Methods

getMockMonad ks vs d (Mock vs) #

putMock vs → MockMonad ks vs d () #

state ∷ (Mock vs → (a, Mock vs)) → MockMonad ks vs d a #

data ValueHandle values Source #

Constructors

ValueHandle 

Fields

Instances

Instances details
Show values ⇒ Show (ValueHandle values) Source # 
Instance details

Defined in Test.Ouroboros.Storage.LedgerDB.V1.BackingStore.Mock

Methods

showsPrecIntValueHandle values → ShowS #

showValueHandle values → String #

showList ∷ [ValueHandle values] → ShowS #

Eq (ValueHandle vs) Source # 
Instance details

Defined in Test.Ouroboros.Storage.LedgerDB.V1.BackingStore.Mock

Methods

(==)ValueHandle vs → ValueHandle vs → Bool #

(/=)ValueHandle vs → ValueHandle vs → Bool #

Ord (ValueHandle vs) Source # 
Instance details

Defined in Test.Ouroboros.Storage.LedgerDB.V1.BackingStore.Mock

Methods

compareValueHandle vs → ValueHandle vs → Ordering #

(<)ValueHandle vs → ValueHandle vs → Bool #

(<=)ValueHandle vs → ValueHandle vs → Bool #

(>)ValueHandle vs → ValueHandle vs → Bool #

(>=)ValueHandle vs → ValueHandle vs → Bool #

maxValueHandle vs → ValueHandle vs → ValueHandle vs #

minValueHandle vs → ValueHandle vs → ValueHandle vs #

emptyMockEmptyValues vs ⇒ Mock vs Source #

An empty mock state.

Type classes

class ApplyDiff vs d where Source #

Methods

applyDiff ∷ vs → d → vs Source #

class DiffSize d where Source #

Counts how many diffs are there. Not to be confused with how many values result from the diffs.

Methods

diffSize ∷ d → Int Source #

class EmptyValues vs where Source #

Methods

emptyValues ∷ vs Source #

class (EmptyValues vs, ApplyDiff vs d, LookupKeysRange ks vs, LookupKeys ks vs, ValuesLength vs, MakeDiff vs d, DiffSize d, KeysSize ks, MakeInitHint vs, MakeWriteHint d, MakeReadHint vs, MakeSerializeTablesHint vs, Show ks, Show vs, Show d, Show (InitHint vs), Show (WriteHint d), Show (ReadHint vs), Show (SerializeTablesHint vs), Eq ks, Eq vs, Eq d, Eq (InitHint vs), Eq (WriteHint d), Eq (ReadHint vs), Eq (SerializeTablesHint vs), Typeable ks, Typeable vs, Typeable d, Typeable (InitHint vs), Typeable (WriteHint d), Typeable (ReadHint vs), Typeable (SerializeTablesHint vs)) ⇒ HasOps ks vs d Source #

Abstract over interactions between values, keys and diffs.

class KeysSize ks where Source #

Methods

keysSize ∷ ks → Int Source #

class LookupKeys ks vs where Source #

Methods

lookupKeys ∷ ks → vs → vs Source #

class LookupKeysRange ks vs where Source #

Methods

lookupKeysRangeMaybe ks → Int → vs → vs Source #

class MakeDiff vs d where Source #

Methods

diff ∷ vs → vs → d Source #

class MakeInitHint vs where Source #

Methods

makeInitHintProxy vs → InitHint vs Source #

class MakeReadHint vs where Source #

Methods

makeReadHintProxy vs → ReadHint vs Source #

class MakeWriteHint d where Source #

Methods

makeWriteHintProxy d → WriteHint d Source #

class ValuesLength vs where Source #

Methods

valuesLength ∷ vs → Int Source #

State monad to run the mock in

newtype MockMonad ks vs d a Source #

State within which the mock runs.

Constructors

MockMonad (ExceptT Err (State (Mock vs)) a) 

Instances

Instances details
MonadError Err (MockMonad ks vs d) Source # 
Instance details

Defined in Test.Ouroboros.Storage.LedgerDB.V1.BackingStore.Mock

Methods

throwErrorErrMockMonad ks vs d a #

catchErrorMockMonad ks vs d a → (ErrMockMonad ks vs d a) → MockMonad ks vs d a #

MonadState (Mock vs) (MockMonad ks vs d) Source # 
Instance details

Defined in Test.Ouroboros.Storage.LedgerDB.V1.BackingStore.Mock

Methods

getMockMonad ks vs d (Mock vs) #

putMock vs → MockMonad ks vs d () #

state ∷ (Mock vs → (a, Mock vs)) → MockMonad ks vs d a #

Applicative (MockMonad ks vs d) Source # 
Instance details

Defined in Test.Ouroboros.Storage.LedgerDB.V1.BackingStore.Mock

Methods

pure ∷ a → MockMonad ks vs d a #

(<*>)MockMonad ks vs d (a → b) → MockMonad ks vs d a → MockMonad ks vs d b #

liftA2 ∷ (a → b → c) → MockMonad ks vs d a → MockMonad ks vs d b → MockMonad ks vs d c #

(*>)MockMonad ks vs d a → MockMonad ks vs d b → MockMonad ks vs d b #

(<*)MockMonad ks vs d a → MockMonad ks vs d b → MockMonad ks vs d a #

Functor (MockMonad ks vs d) Source # 
Instance details

Defined in Test.Ouroboros.Storage.LedgerDB.V1.BackingStore.Mock

Methods

fmap ∷ (a → b) → MockMonad ks vs d a → MockMonad ks vs d b #

(<$) ∷ a → MockMonad ks vs d b → MockMonad ks vs d a #

Monad (MockMonad ks vs d) Source # 
Instance details

Defined in Test.Ouroboros.Storage.LedgerDB.V1.BackingStore.Mock

Methods

(>>=)MockMonad ks vs d a → (a → MockMonad ks vs d b) → MockMonad ks vs d b #

(>>)MockMonad ks vs d a → MockMonad ks vs d b → MockMonad ks vs d b #

return ∷ a → MockMonad ks vs d a #

runMockMonadMockMonad ks vs d a → Mock vs → (Either Err a, Mock vs) Source #

Mocked BackingStore operations

mBSCloseMonadState (Mock vs) m ⇒ m () Source #

Close the backing store.

Closing is idempotent.

mBSCopy ∷ (MonadState (Mock vs) m, MonadError Err m) ⇒ SerializeTablesHint vs → FsPath → m () Source #

Copy the contents of the backing store to the given path.

mBSInitFromCopy ∷ (MonadState (Mock vs) m, MonadError Err m) ⇒ InitHint vs → FsPath → m () Source #

mBSInitFromValuesMonadState (Mock vs) m ⇒ WithOrigin SlotNoInitHint vs → vs → m () Source #

mBSVHAtSlotMonad m ⇒ ValueHandle vs → m (WithOrigin SlotNo) Source #

Read the slot number out of a value handle

mBSVHCloseMonadState (Mock vs) m ⇒ ValueHandle vs → m () Source #

Close a backing store value handle.

Closing is idempotent.

mBSVHRangeRead ∷ (MonadState (Mock vs) m, MonadError Err m, LookupKeysRange ks vs) ⇒ ValueHandle vs → ReadHint vs → RangeQuery ks → m vs Source #

Perform a range read on a backing store value handle.

mBSVHRead ∷ (MonadState (Mock vs) m, MonadError Err m, LookupKeys ks vs) ⇒ ValueHandle vs → ReadHint vs → ks → m vs Source #

Perform a regular read on a backing store value handle

mBSVHStat ∷ (MonadState (Mock vs) m, MonadError Err m, ValuesLength vs) ⇒ ValueHandle vs → m Statistics Source #

Retrieve statistics for the backing store value handle.

mBSValueHandle ∷ (MonadState (Mock vs) m, MonadError Err m) ⇒ m (ValueHandle vs) Source #

Open a new value handle, which captures the state of the backing store at the time of opening the handle.

mBSWrite ∷ (MonadState (Mock vs) m, MonadError Err m, ApplyDiff vs d) ⇒ SlotNoWriteHint d → d → m () Source #

Write a diff to the backing store.

mGuardBSClosed ∷ (MonadState (Mock vs) m, MonadError Err m) ⇒ m () Source #

Throw an error if the backing store has been closed.

mGuardBSVHClosed ∷ (MonadState (Mock vs) m, MonadError Err m) ⇒ ValueHandle vs → m () Source #

Throw an error if the given backing store value handle has been closed.