Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(614)

Unified Diff: services/resource_coordinator/coordination_unit/coordination_unit_impl_unittest.cc

Issue 2917793002: [GRC] Coordination Unit Key-Value Storage (Closed)
Patch Set: Fix comments Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: services/resource_coordinator/coordination_unit/coordination_unit_impl_unittest.cc
diff --git a/services/resource_coordinator/coordination_unit/coordination_unit_impl_unittest.cc b/services/resource_coordinator/coordination_unit/coordination_unit_impl_unittest.cc
index 143d05075b4a51e9aab4a945a4ac68d6c3627164..1b86c1448b23d28ba631e97257719083471bbf4c 100644
--- a/services/resource_coordinator/coordination_unit/coordination_unit_impl_unittest.cc
+++ b/services/resource_coordinator/coordination_unit/coordination_unit_impl_unittest.cc
@@ -3,14 +3,19 @@
// found in the LICENSE file.
#include <memory>
+#include <string>
#include <utility>
#include <vector>
#include "base/bind.h"
#include "base/message_loop/message_loop.h"
#include "base/run_loop.h"
+#include "base/values.h"
+#include "services/resource_coordinator/coordination_unit/coordination_unit_factory.h"
+#include "services/resource_coordinator/coordination_unit/coordination_unit_impl.h"
#include "services/resource_coordinator/coordination_unit/coordination_unit_impl_unittest_util.h"
#include "services/resource_coordinator/coordination_unit/coordination_unit_provider_impl.h"
+#include "services/resource_coordinator/public/interfaces/coordination_unit.mojom.h"
#include "services/service_manager/public/cpp/service_context_ref.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -172,4 +177,31 @@ TEST_F(CoordinationUnitImplTest, CyclicGraphUnits) {
}
}
+TEST_F(CoordinationUnitImplTest, GetSetProperty) {
+ CoordinationUnitID cu_id(CoordinationUnitType::kWebContents, std::string());
+
+ std::unique_ptr<CoordinationUnitImpl> coordination_unit =
+ coordination_unit_factory::CreateCoordinationUnit(
+ cu_id, service_context_ref_factory()->CreateRef());
+
+ // An empty value should be returned if property is not found
+ EXPECT_EQ(base::Value(),
+ coordination_unit->GetProperty(mojom::PropertyType::kTest));
+
+ // An empty value should be able to set a property
+ coordination_unit->SetProperty(mojom::PropertyType::kTest, base::Value());
+ EXPECT_EQ(0u, coordination_unit->property_store_for_testing().size());
+
+ base::Value int_val(41);
+
+ // Perform a valid storage property set
+ coordination_unit->SetProperty(mojom::PropertyType::kTest, int_val);
+ EXPECT_EQ(1u, coordination_unit->property_store_for_testing().size());
+ EXPECT_EQ(int_val,
+ coordination_unit->GetProperty(mojom::PropertyType::kTest));
+
+ coordination_unit->ClearProperty(mojom::PropertyType::kTest);
+ EXPECT_EQ(0u, coordination_unit->property_store_for_testing().size());
+}
+
} // namespace resource_coordinator

Powered by Google App Engine
This is Rietveld 408576698