buffet: Extract StorageInterface and implementations into separate files
This will make it easy to reuse file storage and memory storage
implementations in the forthcoming state aggregator.
BUG=chromium:369322
TEST=Unittests
Change-Id: Ie0dc0dbbfcc13e038352ecf77e2ad28bd41907d9
Reviewed-on: https://chromium-review.googlesource.com/198045
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/buffet/device_registration_info_unittest.cc b/buffet/device_registration_info_unittest.cc
index 2357904..93584b4 100644
--- a/buffet/device_registration_info_unittest.cc
+++ b/buffet/device_registration_info_unittest.cc
@@ -12,30 +12,13 @@
#include "buffet/http_request.h"
#include "buffet/http_transport_fake.h"
#include "buffet/mime_utils.h"
+#include "buffet/storage_impls.h"
using namespace buffet;
using namespace chromeos;
using namespace chromeos::http;
namespace {
-// StorageInterface for testing. Just stores the values in memory.
-class MemStorage : public DeviceRegistrationInfo::StorageInterface {
- public:
- virtual std::unique_ptr<base::Value> Load() override {
- return std::unique_ptr<base::Value>(cache_->DeepCopy());
- }
-
- virtual bool Save(const base::Value* config) {
- cache_.reset(config->DeepCopy());
- ++save_count_;
- return true;
- }
-
- int save_count_ = 0;
-
-private:
- std::unique_ptr<base::Value> cache_;
-};
namespace test_data {
@@ -332,10 +315,10 @@
transport->AddHandler(dev_reg->GetOAuthURL("token"), request_type::kPost,
base::Bind(OAuth2Handler));
- storage->save_count_ = 0;
+ storage->reset_save_count();
DeviceRegistrationInfo::TestHelper::SetTestTicketId(dev_reg.get());
EXPECT_TRUE(dev_reg->FinishRegistration(""));
- EXPECT_EQ(1, storage->save_count_); // The device info must have been saved.
+ EXPECT_EQ(1, storage->save_count()); // The device info must have been saved.
EXPECT_EQ(2, transport->GetRequestCount());
// Validate the device info saved to storage...
@@ -401,9 +384,9 @@
transport->AddHandler(ticket_url, request_type::kPatch,
base::Bind(email_patch_handler));
- storage->save_count_ = 0;
+ storage->reset_save_count();
DeviceRegistrationInfo::TestHelper::SetTestTicketId(dev_reg.get());
EXPECT_TRUE(dev_reg->FinishRegistration(test_data::kUserAccountAuthCode));
- EXPECT_EQ(1, storage->save_count_); // The device info must have been saved.
+ EXPECT_EQ(1, storage->save_count()); // The device info must have been saved.
EXPECT_EQ(4, transport->GetRequestCount());
}