ANNA Suite  2020b
Multipurpose development suite for Telco applications
Classes | Public Member Functions | Static Public Member Functions | Friends | List of all members
anna::testing::TestCase Class Reference

#include <TestCase.hpp>

Classes

class  DebugSummary
 
struct  State
 

Public Member Functions

 TestCase (unsigned int id, const std::string &description="")
 
 ~TestCase ()
 
const State::_vgetState () const
 
const anna::MillisecondgetStartTimestamp () const
 
const anna::MillisecondgetFinishTimestamp () const
 
anna::Millisecond getLapseMs () const
 
anna::Millisecond getProcessingTimeMs () const
 
void addDebugSummaryHint (const std::string &hint)
 
void setState (const State::_v &state)
 
bool isFinished () const
 
bool inProgress () const
 
bool isFailed () const
 
bool isSuccess () const
 
bool hasSameCondition (const TestDiameterCondition &condition) const
 
const DebugSummarygetDebugSummary () const
 
void makeInteractive (bool yes=true)
 
void addInteractiveAmount (unsigned int amount)
 
int interactiveAmount () const
 
void interactiveExecution ()
 
void addTimeout (const anna::Millisecond &timeout) noexcept(false)
 
void addDelay (const anna::Millisecond &delay) noexcept(false)
 
void addWaitDiameter (bool fromEntity, const std::string &code, const std::string &bitR, const std::string &hopByHop, const std::string &applicationId, const std::string &sessionId, const std::string &resultCode, const std::string &msisdn, const std::string &imsi, const std::string &serviceContextId) noexcept(false)
 
void addCommand (const std::string &cmd) noexcept(false)
 
void addIpLimit (unsigned int ipLimit) noexcept(false)
 
void addSendDiameterXml2e (const anna::DataBlock &db, anna::diameter::comm::OriginHost *host, int stepNumber) noexcept(false)
 
void addSendDiameterXml2c (const anna::DataBlock &db, anna::diameter::comm::OriginHost *host, int stepNumber) noexcept(false)
 
void addWaitDiameterAnswer (bool fromEntity, int stepNumber) noexcept(false)
 
void addWaitDiameterRegexpHex (bool fromEntity, const std::string &regexp) noexcept(false)
 
void addWaitDiameterRegexpXml (bool fromEntity, const std::string &regexp) noexcept(false)
 
void nextStep ()
 
bool done ()
 
bool process ()
 
bool reset (bool hard)
 
bool safeToClear ()
 
const unsigned int & getId () const
 
const std::string & getKey1 () const
 
const std::string & getKey2 () const
 
const std::string & getDescription () const
 
void setDescription (const std::string &description)
 
int steps () const
 
void addStep (TestStep *step)
 
TestStepWaitDiametersearchNextWaitConditionFulfilled (const anna::DataBlock &message, bool waitFromEntity)
 
const TestStepgetStep (int stepNumber) const
 
anna::xml::NodeasXML (anna::xml::Node *parent) const
 
std::string asXMLString () const
 

Static Public Member Functions

static const char * asText (const State::_v state)
 

Friends

class TestStep
 

Constructor & Destructor Documentation

◆ TestCase()

anna::testing::TestCase::TestCase ( unsigned int  id,
const std::string &  description = "" 
)

◆ ~TestCase()

anna::testing::TestCase::~TestCase ( )

Member Function Documentation

◆ addCommand()

void anna::testing::TestCase::addCommand ( const std::string &  cmd)
noexcept

◆ addDebugSummaryHint()

void anna::testing::TestCase::addDebugSummaryHint ( const std::string &  hint)
inline
76 { a_debugSummary.addHint(hint); }
void addHint(const std::string &hint)

◆ addDelay()

void anna::testing::TestCase::addDelay ( const anna::Millisecond delay)
noexcept

◆ addInteractiveAmount()

void anna::testing::TestCase::addInteractiveAmount ( unsigned int  amount)
inline
87  {
88  if (a_interactiveAmount == -1) makeInteractive();
89  if (amount == 0) return;
90  a_interactiveAmount += amount;
91  process();
92  }
void makeInteractive(bool yes=true)
Definition: TestCase.hpp:86

◆ addIpLimit()

void anna::testing::TestCase::addIpLimit ( unsigned int  ipLimit)
noexcept

◆ addSendDiameterXml2c()

void anna::testing::TestCase::addSendDiameterXml2c ( const anna::DataBlock db,
anna::diameter::comm::OriginHost host,
int  stepNumber 
)
noexcept

◆ addSendDiameterXml2e()

void anna::testing::TestCase::addSendDiameterXml2e ( const anna::DataBlock db,
anna::diameter::comm::OriginHost host,
int  stepNumber 
)
noexcept

◆ addStep()

void anna::testing::TestCase::addStep ( TestStep step)
inline
136 { a_steps.push_back(step); }

◆ addTimeout()

void anna::testing::TestCase::addTimeout ( const anna::Millisecond timeout)
noexcept

◆ addWaitDiameter()

void anna::testing::TestCase::addWaitDiameter ( bool  fromEntity,
const std::string &  code,
const std::string &  bitR,
const std::string &  hopByHop,
const std::string &  applicationId,
const std::string &  sessionId,
const std::string &  resultCode,
const std::string &  msisdn,
const std::string &  imsi,
const std::string &  serviceContextId 
)
noexcept

◆ addWaitDiameterAnswer()

void anna::testing::TestCase::addWaitDiameterAnswer ( bool  fromEntity,
int  stepNumber 
)
noexcept

◆ addWaitDiameterRegexpHex()

void anna::testing::TestCase::addWaitDiameterRegexpHex ( bool  fromEntity,
const std::string &  regexp 
)
noexcept

◆ addWaitDiameterRegexpXml()

void anna::testing::TestCase::addWaitDiameterRegexpXml ( bool  fromEntity,
const std::string &  regexp 
)
noexcept

◆ asText()

static const char* anna::testing::TestCase::asText ( const State::_v  state)
static

◆ asXML()

anna::xml::Node* anna::testing::TestCase::asXML ( anna::xml::Node parent) const

◆ asXMLString()

std::string anna::testing::TestCase::asXMLString ( ) const

◆ done()

bool anna::testing::TestCase::done ( )

◆ getDebugSummary()

const DebugSummary& anna::testing::TestCase::getDebugSummary ( ) const
inline
83 { return a_debugSummary; }

◆ getDescription()

const std::string& anna::testing::TestCase::getDescription ( ) const
inline
129 { return a_description; }

◆ getFinishTimestamp()

const anna::Millisecond& anna::testing::TestCase::getFinishTimestamp ( ) const
inline
73 { return a_finishTimestamp; }

◆ getId()

const unsigned int& anna::testing::TestCase::getId ( ) const
inline
126 { return a_id; }

◆ getKey1()

const std::string& anna::testing::TestCase::getKey1 ( ) const
inline
127 { return a_key1; }

◆ getKey2()

const std::string& anna::testing::TestCase::getKey2 ( ) const
inline
128 { return a_key2; }

◆ getLapseMs()

anna::Millisecond anna::testing::TestCase::getLapseMs ( ) const

◆ getProcessingTimeMs()

anna::Millisecond anna::testing::TestCase::getProcessingTimeMs ( ) const

◆ getStartTimestamp()

const anna::Millisecond& anna::testing::TestCase::getStartTimestamp ( ) const
inline
72 { return a_startTimestamp; }

◆ getState()

const State::_v& anna::testing::TestCase::getState ( ) const
inline
71 { return a_state; }

◆ getStep()

const TestStep* anna::testing::TestCase::getStep ( int  stepNumber) const

◆ hasSameCondition()

bool anna::testing::TestCase::hasSameCondition ( const TestDiameterCondition condition) const

◆ inProgress()

bool anna::testing::TestCase::inProgress ( ) const
inline
79 { return (getState() == State::InProgress); }
const State::_v & getState() const
Definition: TestCase.hpp:71

◆ interactiveAmount()

int anna::testing::TestCase::interactiveAmount ( ) const
inline
93 { return a_interactiveAmount; }

◆ interactiveExecution()

void anna::testing::TestCase::interactiveExecution ( )
inline
94 { a_interactiveAmount --; }

◆ isFailed()

bool anna::testing::TestCase::isFailed ( ) const
inline
80 { return (getState() == State::Failed); }
const State::_v & getState() const
Definition: TestCase.hpp:71
Definition: TestCase.hpp:69

◆ isFinished()

bool anna::testing::TestCase::isFinished ( ) const
inline
78 { return (getState() == State::Failed || getState() == State::Success); }
const State::_v & getState() const
Definition: TestCase.hpp:71
Definition: TestCase.hpp:69
Definition: TestCase.hpp:69

◆ isSuccess()

bool anna::testing::TestCase::isSuccess ( ) const
inline
81 { return (getState() == State::Success); }
const State::_v & getState() const
Definition: TestCase.hpp:71
Definition: TestCase.hpp:69

◆ makeInteractive()

void anna::testing::TestCase::makeInteractive ( bool  yes = true)
inline
86 { a_interactiveAmount = (yes ? 0:-1); }

◆ nextStep()

void anna::testing::TestCase::nextStep ( )
inline
115 { a_stepsIt++; }

◆ process()

bool anna::testing::TestCase::process ( )

◆ reset()

bool anna::testing::TestCase::reset ( bool  hard)

◆ safeToClear()

bool anna::testing::TestCase::safeToClear ( )

◆ searchNextWaitConditionFulfilled()

TestStepWaitDiameter* anna::testing::TestCase::searchNextWaitConditionFulfilled ( const anna::DataBlock message,
bool  waitFromEntity 
)

◆ setDescription()

void anna::testing::TestCase::setDescription ( const std::string &  description)
inline
132 { a_description = description; }

◆ setState()

void anna::testing::TestCase::setState ( const State::_v state)

◆ steps()

int anna::testing::TestCase::steps ( ) const
inline
135 { return a_steps.size(); }

Friends And Related Function Documentation

◆ TestStep

friend class TestStep
friend

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