40 lines
737 B
C++
40 lines
737 B
C++
#pragma once
|
|
|
|
#include <gmock/gmock.h>
|
|
|
|
#include <rublon/json.hpp>
|
|
#include <rublon/error.hpp>
|
|
|
|
using namespace testing;
|
|
|
|
|
|
inline bool operator==(const rublon::Error & lhs, const rublon::Error & rhs) {
|
|
return lhs.category() == rhs.category();
|
|
}
|
|
|
|
MATCHER(HasValue, "") {
|
|
return arg.has_value();
|
|
}
|
|
|
|
MATCHER(IsObject, "") {
|
|
return arg->IsObject();
|
|
}
|
|
|
|
MATCHER(IsPAMBaypass,""){
|
|
return arg.error().category() == rublon::Error::k_PamBaypass;
|
|
}
|
|
|
|
MATCHER(IsPAMDeny,""){
|
|
return arg.error().category() == rublon::Error::k_PamDeny;
|
|
}
|
|
|
|
MATCHER_P(HasKey, key, "") {
|
|
return rublon::JSONPointer{key}.Get(arg.value()) != nullptr;
|
|
}
|
|
|
|
MATCHER_P(Unexpected, error, "") {
|
|
rublon::Error e = arg.error();
|
|
return e == error;
|
|
}
|
|
|