#pragma once #include #include #include 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; }