Storage Engine API
mongo::HarnessHelper Class Referenceabstract

Sets up an OperationContext with a Recovery Unit. More...

#include <test_harness_helper.h>

Inheritance diagram for mongo::HarnessHelper:
mongo::RecordStoreHarnessHelper mongo::RecoveryUnitHarnessHelper mongo::SortedDataInterfaceHarnessHelper mongo::MobileIndexTestHarnessHelper

Detailed Description

Sets up an OperationContext with a Recovery Unit.

Uses a ServiceContextNoop.

A particular HarnessHelper implementation will implement registerHarnessHelperFactory() and newHarnessHelper() such that generic unit tests can create and test that particular HarnessHelper implementation. The newRecoveryUnit() implementation dictates what RecoveryUnit implementation the OperationContext has.

Public Member Functions

virtual ~HarnessHelper ()=0
 
 HarnessHelper ()=default
 
virtual ServiceContext::UniqueOperationContext newOperationContext (Client *const client)
 
virtual ServiceContext::UniqueOperationContext newOperationContext ()
 
Client * client () const
 
ServiceContext * serviceContext ()
 
const ServiceContext * serviceContext () const
 
virtual std::unique_ptr< RecoveryUnitnewRecoveryUnit ()=0
 

Private Attributes

ServiceContextNoop _serviceContext
 
ServiceContext::UniqueClient _client = _serviceContext.makeClient("hh")
 

Constructor & Destructor Documentation

◆ ~HarnessHelper()

mongo::HarnessHelper::~HarnessHelper ( )
pure virtualdefault

◆ HarnessHelper()

mongo::HarnessHelper::HarnessHelper ( )
explicitdefault

Member Function Documentation

◆ client()

Client* mongo::HarnessHelper::client ( ) const
inline

◆ newOperationContext() [1/2]

virtual ServiceContext::UniqueOperationContext mongo::HarnessHelper::newOperationContext ( Client *const  client)
inlinevirtual

◆ newOperationContext() [2/2]

virtual ServiceContext::UniqueOperationContext mongo::HarnessHelper::newOperationContext ( )
inlinevirtual

◆ newRecoveryUnit()

virtual std::unique_ptr<RecoveryUnit> mongo::HarnessHelper::newRecoveryUnit ( )
pure virtual

◆ serviceContext() [1/2]

ServiceContext* mongo::HarnessHelper::serviceContext ( )
inline

◆ serviceContext() [2/2]

const ServiceContext* mongo::HarnessHelper::serviceContext ( ) const
inline

Member Data Documentation

◆ _client

ServiceContext::UniqueClient mongo::HarnessHelper::_client = _serviceContext.makeClient("hh")
private

◆ _serviceContext

ServiceContextNoop mongo::HarnessHelper::_serviceContext
private

The documentation for this class was generated from the following files: