Go to the documentation of this file.
17 #include <gmock/gmock.h>
18 #include <gtest/gtest.h>
20 #include "absl/strings/str_cat.h"
21 #include "absl/types/optional.h"
33 #include "src/proto/grpc/testing/xds/v3/orca_service.grpc.pb.h"
34 #include "src/proto/grpc/testing/xds/v3/orca_service.pb.h"
38 using xds::data::orca::v3::OrcaLoadReport;
39 using xds::service::orca::v3::OpenRcaService;
40 using xds::service::orca::v3::OrcaLoadReportRequest;
46 using experimental::OrcaService;
58 auto* interval_proto =
request.mutable_report_interval();
59 interval_proto->set_seconds(timespec.
tv_sec);
60 interval_proto->set_nanos(timespec.
tv_nsec);
66 OrcaLoadReport ReadResponse() {
78 << elapsed.ToString();
80 << elapsed.ToString();
89 std::unique_ptr<grpc::ClientReaderInterface<OrcaLoadReport>>
stream_;
93 OrcaServiceEnd2endTest()
94 :
orca_service_(OrcaService::Options().set_min_report_duration(
107 ~OrcaServiceEnd2endTest()
override {
server_->Shutdown(); }
112 std::unique_ptr<OpenRcaService::Stub>
stub_;
115 TEST_F(OrcaServiceEnd2endTest, Basic) {
116 constexpr
char kMetricName1[] =
"foo";
117 constexpr
char kMetricName2[] =
"bar";
118 constexpr
char kMetricName3[] =
"baz";
119 constexpr
char kMetricName4[] =
"quux";
125 auto ReadResponses = [&](
std::function<void(
const OrcaLoadReport&)> checker) {
127 OrcaLoadReport
response = stream1.ReadResponse();
137 ReadResponses([](
const OrcaLoadReport&
response) {
144 ReadResponses([](
const OrcaLoadReport&
response) {
152 ReadResponses([](
const OrcaLoadReport&
response) {
161 ReadResponses([&](
const OrcaLoadReport&
response) {
172 ReadResponses([&](
const OrcaLoadReport&
response) {
182 {{kMetricName2, 0.5}, {kMetricName4, 0.9}});
183 ReadResponses([&](
const OrcaLoadReport&
response) {
197 int main(
int argc,
char** argv) {
EXPECT_THAT(status.error_message(), ::testing::HasSubstr("subject_token_type"))
std::string StrCat(const AlphaNum &a, const AlphaNum &b)
constexpr Duration ZeroDuration()
std::unique_ptr< grpc::ClientReaderInterface< OrcaLoadReport > > stream_
#define EXPECT_LE(val1, val2)
std::string server_address("0.0.0.0:10000")
std::unique_ptr< OpenRcaService::Stub > stub_
int main(int argc, char **argv)
wrapped_grpc_channel * channel
constexpr bool has_value() const noexcept
GPRAPI void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...) GPR_PRINT_FORMAT_CHECK(4
int64_t grpc_test_slowdown_factor()
std::shared_ptr< Channel > CreateChannel(const grpc::string &target, const std::shared_ptr< ChannelCredentials > &creds)
int RUN_ALL_TESTS() GTEST_MUST_USE_RESULT_
int grpc_pick_unused_port_or_die(void)
absl::optional< grpc_core::Timestamp > last_response_time_
GPRAPI gpr_timespec gpr_now(gpr_clock_type clock)
const grpc_core::Duration requested_interval_
internal::PairMatcher< FirstMatcher, SecondMatcher > Pair(FirstMatcher first_matcher, SecondMatcher second_matcher)
std::unique_ptr< Server > server_
static constexpr Duration Milliseconds(int64_t millis)
GTEST_API_ void InitGoogleTest(int *argc, char **argv)
OrcaService orca_service_
TEST_F(ChannelArgumentsTest, SetInt)
gpr_timespec as_timespec() const
static Timestamp FromTimespecRoundDown(gpr_timespec t)
internal::UnorderedElementsAreMatcher< ::testing::tuple<> > UnorderedElementsAre()
EXPECT_EQ(options.token_exchange_service_uri, "https://foo/exchange")
#define EXPECT_GE(val1, val2)
std::shared_ptr< ServerCredentials > InsecureServerCredentials()
std::string server_address_
EXPECT_TRUE(grpc::experimental::StsCredentialsOptionsFromJson(minimum_valid_json, &options) .ok())
std::shared_ptr< ChannelCredentials > InsecureChannelCredentials()
Credentials for an unencrypted, unauthenticated channel.
grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:36