xref: /aosp_15_r20/external/cronet/components/metrics/structured/test/test_event_storage.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright 2023 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "components/metrics/structured/test/test_event_storage.h"
6 
7 #include "base/functional/callback_forward.h"
8 #include "base/task/current_thread.h"
9 #include "components/metrics/structured/histogram_util.h"
10 
11 namespace metrics::structured {
12 
13 namespace {
14 using ::google::protobuf::RepeatedPtrField;
15 }
16 
17 TestEventStorage::TestEventStorage() = default;
18 
19 TestEventStorage::~TestEventStorage() = default;
20 
AddEvent(StructuredEventProto event)21 void TestEventStorage::AddEvent(StructuredEventProto event) {
22   events()->mutable_events()->Add(std::move(event));
23 }
24 
TakeEvents()25 RepeatedPtrField<StructuredEventProto> TestEventStorage::TakeEvents() {
26   return std::move(*events_.mutable_events());
27 }
28 
RecordedEventsCount() const29 int TestEventStorage::RecordedEventsCount() const {
30   return events_.events_size();
31 }
32 
Purge()33 void TestEventStorage::Purge() {
34   events_.clear_uma_events();
35   events_.clear_events();
36 }
37 
AddBatchEvents(const RepeatedPtrField<StructuredEventProto> & events)38 void TestEventStorage::AddBatchEvents(
39     const RepeatedPtrField<StructuredEventProto>& events) {
40   events_.mutable_events()->MergeFrom(events);
41 }
42 
CopyEvents(EventsProto * proto) const43 void TestEventStorage::CopyEvents(EventsProto* proto) const {
44   proto->mutable_events()->MergeFrom(events_.events());
45 }
46 
47 }  // namespace metrics::structured
48