@@ -120,41 +120,26 @@ class MockMetric : public Metric {
120120 (const , override ));
121121};
122122
123- // This class is a vehicle to get a MockMetric into the OperationContext object.
124- class CloningMetric : public Metric {
125- public:
126- explicit CloningMetric (std::unique_ptr<MockMetric> metric)
127- : metric_(std::move(metric)) {}
128- std::unique_ptr<Metric> clone (TableResourceLabels const &,
129- TableDataLabels const &) const override {
130- return std::move (metric_);
131- }
132-
133- private:
134- mutable std::unique_ptr<MockMetric> metric_;
135- };
136-
137123#endif // GOOGLE_CLOUD_CPP_BIGTABLE_WITH_OTEL_METRICS
138124// / @test Verify that successfully reading rows works.
139125TEST_F (AsyncRowReaderTest, Success) {
140126 CompletionQueue cq;
141127
142128#ifdef GOOGLE_CLOUD_CPP_BIGTABLE_WITH_OTEL_METRICS
143- auto mock_metric = std::make_unique <MockMetric>();
129+ auto mock_metric = std::make_shared <MockMetric>();
144130 EXPECT_CALL (*mock_metric, PreCall).Times (1 );
145131 EXPECT_CALL (*mock_metric, PostCall).Times (1 );
146132 EXPECT_CALL (*mock_metric, OnDone).Times (1 );
147133 EXPECT_CALL (*mock_metric, ElementRequest).Times (3 );
148134 EXPECT_CALL (*mock_metric, ElementDelivery).Times (3 );
149135
150- auto fake_metric = std::make_shared<CloningMetric>(std::move (mock_metric));
151136 auto clock = std::make_shared<testing_util::FakeSteadyClock>();
152137
153138 // Normally std::make_shared would be used here, but some weird type deduction
154139 // is preventing it.
155140 // NOLINTNEXTLINE(modernize-make-shared)
156141 auto operation_context = std::shared_ptr<OperationContext>(
157- new OperationContext ({}, {}, {fake_metric }, clock));
142+ new OperationContext ({mock_metric }, clock));
158143#else
159144 auto operation_context = std::make_shared<OperationContext>();
160145#endif
@@ -239,21 +224,20 @@ TEST_F(AsyncRowReaderTest, SuccessDelayedFuture) {
239224 CompletionQueue cq;
240225
241226#ifdef GOOGLE_CLOUD_CPP_BIGTABLE_WITH_OTEL_METRICS
242- auto mock_metric = std::make_unique <MockMetric>();
227+ auto mock_metric = std::make_shared <MockMetric>();
243228 EXPECT_CALL (*mock_metric, PreCall).Times (1 );
244229 EXPECT_CALL (*mock_metric, PostCall).Times (1 );
245230 EXPECT_CALL (*mock_metric, OnDone).Times (1 );
246231 EXPECT_CALL (*mock_metric, ElementRequest).Times (3 );
247232 EXPECT_CALL (*mock_metric, ElementDelivery).Times (3 );
248233
249- auto fake_metric = std::make_shared<CloningMetric>(std::move (mock_metric));
250234 auto clock = std::make_shared<testing_util::FakeSteadyClock>();
251235
252236 // Normally std::make_shared would be used here, but some weird type deduction
253237 // is preventing it.
254238 // NOLINTNEXTLINE(modernize-make-shared)
255239 auto operation_context = std::shared_ptr<OperationContext>(
256- new OperationContext ({}, {}, {fake_metric }, clock));
240+ new OperationContext ({mock_metric }, clock));
257241#else
258242 auto operation_context = std::make_shared<OperationContext>();
259243#endif
@@ -332,21 +316,20 @@ TEST_F(AsyncRowReaderTest, SuccessDelayedFuture) {
332316TEST_F (AsyncRowReaderTest, ResponseInMultipleChunks) {
333317 CompletionQueue cq;
334318#ifdef GOOGLE_CLOUD_CPP_BIGTABLE_WITH_OTEL_METRICS
335- auto mock_metric = std::make_unique <MockMetric>();
319+ auto mock_metric = std::make_shared <MockMetric>();
336320 EXPECT_CALL (*mock_metric, PreCall).Times (1 );
337321 EXPECT_CALL (*mock_metric, PostCall).Times (1 );
338322 EXPECT_CALL (*mock_metric, OnDone).Times (1 );
339323 EXPECT_CALL (*mock_metric, ElementRequest).Times (1 );
340324 EXPECT_CALL (*mock_metric, ElementDelivery).Times (1 );
341325
342- auto fake_metric = std::make_shared<CloningMetric>(std::move (mock_metric));
343326 auto clock = std::make_shared<testing_util::FakeSteadyClock>();
344327
345328 // Normally std::make_shared would be used here, but some weird type deduction
346329 // is preventing it.
347330 // NOLINTNEXTLINE(modernize-make-shared)
348331 auto operation_context = std::shared_ptr<OperationContext>(
349- new OperationContext ({}, {}, {fake_metric }, clock));
332+ new OperationContext ({mock_metric }, clock));
350333#else
351334 auto operation_context = std::make_shared<OperationContext>();
352335#endif
@@ -405,21 +388,20 @@ TEST_F(AsyncRowReaderTest, ResponseInMultipleChunks) {
405388TEST_F (AsyncRowReaderTest, ParserEofFailsOnUnfinishedRow) {
406389 CompletionQueue cq;
407390#ifdef GOOGLE_CLOUD_CPP_BIGTABLE_WITH_OTEL_METRICS
408- auto mock_metric = std::make_unique <MockMetric>();
391+ auto mock_metric = std::make_shared <MockMetric>();
409392 EXPECT_CALL (*mock_metric, PreCall).Times (1 );
410393 EXPECT_CALL (*mock_metric, PostCall).Times (1 );
411394 EXPECT_CALL (*mock_metric, OnDone).Times (1 );
412395 EXPECT_CALL (*mock_metric, ElementRequest).Times (0 );
413396 EXPECT_CALL (*mock_metric, ElementDelivery).Times (0 );
414397
415- auto fake_metric = std::make_shared<CloningMetric>(std::move (mock_metric));
416398 auto clock = std::make_shared<testing_util::FakeSteadyClock>();
417399
418400 // Normally std::make_shared would be used here, but some weird type deduction
419401 // is preventing it.
420402 // NOLINTNEXTLINE(modernize-make-shared)
421403 auto operation_context = std::shared_ptr<OperationContext>(
422- new OperationContext ({}, {}, {fake_metric }, clock));
404+ new OperationContext ({mock_metric }, clock));
423405#else
424406 auto operation_context = std::make_shared<OperationContext>();
425407#endif
@@ -477,21 +459,20 @@ TEST_F(AsyncRowReaderTest, ParserEofFailsOnUnfinishedRow) {
477459TEST_F (AsyncRowReaderTest, ParserEofDoesntFailOnUnfinishedRowIfRowLimit) {
478460 CompletionQueue cq;
479461#ifdef GOOGLE_CLOUD_CPP_BIGTABLE_WITH_OTEL_METRICS
480- auto mock_metric = std::make_unique <MockMetric>();
462+ auto mock_metric = std::make_shared <MockMetric>();
481463 EXPECT_CALL (*mock_metric, PreCall).Times (1 );
482464 EXPECT_CALL (*mock_metric, PostCall).Times (1 );
483465 EXPECT_CALL (*mock_metric, OnDone).Times (1 );
484466 EXPECT_CALL (*mock_metric, ElementRequest).Times (1 );
485467 EXPECT_CALL (*mock_metric, ElementDelivery).Times (1 );
486468
487- auto fake_metric = std::make_shared<CloningMetric>(std::move (mock_metric));
488469 auto clock = std::make_shared<testing_util::FakeSteadyClock>();
489470
490471 // Normally std::make_shared would be used here, but some weird type deduction
491472 // is preventing it.
492473 // NOLINTNEXTLINE(modernize-make-shared)
493474 auto operation_context = std::shared_ptr<OperationContext>(
494- new OperationContext ({}, {}, {fake_metric }, clock));
475+ new OperationContext ({mock_metric }, clock));
495476#else
496477 auto operation_context = std::make_shared<OperationContext>();
497478#endif
@@ -555,21 +536,20 @@ TEST_F(AsyncRowReaderTest, ParserEofDoesntFailOnUnfinishedRowIfRowLimit) {
555536TEST_F (AsyncRowReaderTest, PermanentFailure) {
556537 CompletionQueue cq;
557538#ifdef GOOGLE_CLOUD_CPP_BIGTABLE_WITH_OTEL_METRICS
558- auto mock_metric = std::make_unique <MockMetric>();
539+ auto mock_metric = std::make_shared <MockMetric>();
559540 EXPECT_CALL (*mock_metric, PreCall).Times (1 );
560541 EXPECT_CALL (*mock_metric, PostCall).Times (1 );
561542 EXPECT_CALL (*mock_metric, OnDone).Times (1 );
562543 EXPECT_CALL (*mock_metric, ElementRequest).Times (0 );
563544 EXPECT_CALL (*mock_metric, ElementDelivery).Times (0 );
564545
565- auto fake_metric = std::make_shared<CloningMetric>(std::move (mock_metric));
566546 auto clock = std::make_shared<testing_util::FakeSteadyClock>();
567547
568548 // Normally std::make_shared would be used here, but some weird type deduction
569549 // is preventing it.
570550 // NOLINTNEXTLINE(modernize-make-shared)
571551 auto operation_context = std::shared_ptr<OperationContext>(
572- new OperationContext ({}, {}, {fake_metric }, clock));
552+ new OperationContext ({mock_metric }, clock));
573553#else
574554 auto operation_context = std::make_shared<OperationContext>();
575555#endif
@@ -627,21 +607,20 @@ TEST_F(AsyncRowReaderTest, RetryPolicyExhausted) {
627607 });
628608 CompletionQueue cq (mock_cq);
629609#ifdef GOOGLE_CLOUD_CPP_BIGTABLE_WITH_OTEL_METRICS
630- auto mock_metric = std::make_unique <MockMetric>();
610+ auto mock_metric = std::make_shared <MockMetric>();
631611 EXPECT_CALL (*mock_metric, PreCall).Times (kNumRetries + 1 );
632612 EXPECT_CALL (*mock_metric, PostCall).Times (kNumRetries + 1 );
633613 EXPECT_CALL (*mock_metric, OnDone).Times (1 );
634614 EXPECT_CALL (*mock_metric, ElementRequest).Times (0 );
635615 EXPECT_CALL (*mock_metric, ElementDelivery).Times (0 );
636616
637- auto fake_metric = std::make_shared<CloningMetric>(std::move (mock_metric));
638617 auto clock = std::make_shared<testing_util::FakeSteadyClock>();
639618
640619 // Normally std::make_shared would be used here, but some weird type deduction
641620 // is preventing it.
642621 // NOLINTNEXTLINE(modernize-make-shared)
643622 auto operation_context = std::shared_ptr<OperationContext>(
644- new OperationContext ({}, {}, {fake_metric }, clock));
623+ new OperationContext ({mock_metric }, clock));
645624#else
646625 auto operation_context = std::make_shared<OperationContext>();
647626#endif
@@ -793,21 +772,20 @@ TEST_F(AsyncRowReaderTest, RetrySkipsReadRows) {
793772 });
794773 CompletionQueue cq (mock_cq);
795774#ifdef GOOGLE_CLOUD_CPP_BIGTABLE_WITH_OTEL_METRICS
796- auto mock_metric = std::make_unique <MockMetric>();
775+ auto mock_metric = std::make_shared <MockMetric>();
797776 EXPECT_CALL (*mock_metric, PreCall).Times (2 );
798777 EXPECT_CALL (*mock_metric, PostCall).Times (2 );
799778 EXPECT_CALL (*mock_metric, OnDone).Times (1 );
800779 EXPECT_CALL (*mock_metric, ElementRequest).Times (2 );
801780 EXPECT_CALL (*mock_metric, ElementDelivery).Times (2 );
802781
803- auto fake_metric = std::make_shared<CloningMetric>(std::move (mock_metric));
804782 auto clock = std::make_shared<testing_util::FakeSteadyClock>();
805783
806784 // Normally std::make_shared would be used here, but some weird type deduction
807785 // is preventing it.
808786 // NOLINTNEXTLINE(modernize-make-shared)
809787 auto operation_context = std::shared_ptr<OperationContext>(
810- new OperationContext ({}, {}, {fake_metric }, clock));
788+ new OperationContext ({mock_metric }, clock));
811789#else
812790 auto operation_context = std::make_shared<OperationContext>();
813791#endif
0 commit comments