@@ -43,6 +43,7 @@ using ::google::iam::credentials::v1::SignBlobRequest;
4343using ::google::iam::credentials::v1::SignBlobResponse;
4444using ::testing::Contains;
4545using ::testing::HasSubstr;
46+ using ::testing::Not;
4647using ::testing::Return;
4748
4849class MinimalIamCredentialsStubTest : public ::testing::Test {
@@ -72,7 +73,7 @@ TEST_F(MinimalIamCredentialsStubTest, AsyncGenerateAccessTokenLogging) {
7273 });
7374 auto stub = DecorateMinimalIamCredentialsStub (
7475 mock, Options{}
75- .set <TracingComponentsOption>({" rpc " })
76+ .set <TracingComponentsOption>({" auth " })
7677 .set <GrpcTracingOptionsOption>(
7778 TracingOptions{}.SetOptions (" single_line_mode" )));
7879 GenerateAccessTokenRequest request;
@@ -116,7 +117,7 @@ TEST_F(MinimalIamCredentialsStubTest, SignBlobLogging) {
116117 EXPECT_CALL (*mock, SignBlob).WillOnce (Return (expected));
117118 auto stub = DecorateMinimalIamCredentialsStub (
118119 mock, Options{}
119- .set <TracingComponentsOption>({" rpc " })
120+ .set <TracingComponentsOption>({" auth " })
120121 .set <GrpcTracingOptionsOption>(
121122 TracingOptions{}.SetOptions (" single_line_mode" )));
122123 SignBlobRequest request;
@@ -187,6 +188,36 @@ TEST_F(MinimalIamCredentialsStubTest, AsyncGenerateAccessTokenMetadata) {
187188 EXPECT_THAT (lines, Not (Contains (HasSubstr (" AsyncGenerateAccessToken" ))));
188189}
189190
191+ TEST_F (MinimalIamCredentialsStubTest, LoggingComponentNames) {
192+ struct TestCase {
193+ std::set<std::string> components;
194+ bool enabled;
195+ };
196+ // Note that "rpc" enables logging of this component for backwards
197+ // compatibility reasons.
198+ std::vector<TestCase> cases = {
199+ {{" auth" }, true },
200+ {{" rpc" }, true },
201+ {{" auth" , " rpc" }, true },
202+ {{" rest" }, false },
203+ };
204+
205+ for (auto const & c : cases) {
206+ auto mock = std::make_shared<MockMinimalIamCredentialsStub>();
207+ EXPECT_CALL (*mock, SignBlob).WillOnce (Return (SignBlobResponse{}));
208+ auto stub = DecorateMinimalIamCredentialsStub (
209+ mock, Options{}.set <TracingComponentsOption>(c.components ));
210+ grpc::ClientContext context;
211+ (void )stub->SignBlob (context, SignBlobRequest{});
212+ auto const lines = log_.ExtractLines ();
213+ if (c.enabled ) {
214+ EXPECT_THAT (lines, Contains (HasSubstr (" SignBlob" )));
215+ } else {
216+ EXPECT_THAT (lines, Not (Contains (HasSubstr (" SignBlob" ))));
217+ }
218+ }
219+ }
220+
190221#ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY
191222using ::google::cloud::testing_util::DisableTracing;
192223using ::google::cloud::testing_util::EnableTracing;
0 commit comments