Loading...
Searching...
No Matches
test_macros.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2019-2022 ExpoLab, UC Davis
3
*
4
* Permission is hereby granted, free of charge, to any person
5
* obtaining a copy of this software and associated documentation
6
* files (the "Software"), to deal in the Software without
7
* restriction, including without limitation the rights to use,
8
* copy, modify, merge, publish, distribute, sublicense, and/or
9
* sell copies of the Software, and to permit persons to whom the
10
* Software is furnished to do so, subject to the following conditions:
11
*
12
* The above copyright notice and this permission notice shall be
13
* included in all copies or substantial portions of the Software.
14
*
15
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22
* DEALINGS IN THE SOFTWARE.
23
*
24
*/
25
26
#pragma once
27
#include <glog/logging.h>
28
#include <google/protobuf/util/json_util.h>
29
#include <google/protobuf/util/message_differencer.h>
30
31
#include "gmock/gmock.h"
32
33
namespace
resdb
{
34
namespace
testing {
35
36
MATCHER_P
(
EqualsProto
,
replica
,
""
) {
37
return ::google::protobuf::util::MessageDifferencer::Equals(
arg
,
replica
);
38
}
39
40
template
<
typename
T>
41
T
ParseFromText
(
const
std::string&
json_str
) {
42
T
message
;
43
google::protobuf::util::JsonParseOptions
options
;
44
auto
st
=
45
google::protobuf::util::JsonStringToMessage(
json_str
, &
message
,
options
);
46
if
(!
st
.ok()) {
47
LOG
(
ERROR
) <<
st
.message();
48
}
49
return
message
;
50
}
51
52
}
// namespace testing
53
}
// namespace resdb
resdb::testing::ParseFromText
T ParseFromText(const std::string &json_str)
Definition
test_macros.h:41
resdb::testing::MATCHER_P
MATCHER_P(EqualsProto, replica, "")
Definition
test_macros.h:36
resdb
Definition
chain_state.cpp:24
common
test
test_macros.h
Generated by
1.9.8