summaryrefslogtreecommitdiff
path: root/mock_file_writer.h
diff options
context:
space:
mode:
authorPeter Qiu <zqiu@chromium.org>2015-01-08 16:22:16 -0800
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-01-10 00:51:07 +0000
commit775173013ee886be244417eba0a3b302c4da11e0 (patch)
tree0100e40c08b47effc527c235a58404d240c63771 /mock_file_writer.h
parent58676b65cea23a831d032639e5cbfd350d58ff6a (diff)
downloadapmanager-775173013ee886be244417eba0a3b302c4da11e0.tar.gz
apmanager: store config files under /var/run/apmanager
This prevents non-root/apmanager users from modifying the files generated by apmanager. Also add a wrapper class for base::WriteFile to prevent any file writes during unittest. BUG=chromium:446679 TEST=USE="asan clang" FEATURES=test emerge-$BOARD apmanager Start an AP service using apmanager, verify hostapd and dhcp server config files are store in "/var/run/apmanager/hostapd" and "/var/run/apmanager/dnsmasq" respectively. Change-Id: I2bf2d34a8c95c9493f2cf5d5eb4895fefcdae8dc Reviewed-on: https://chromium-review.googlesource.com/239632 Reviewed-by: Paul Stewart <pstew@chromium.org> Commit-Queue: Zeping Qiu <zqiu@chromium.org> Trybot-Ready: Zeping Qiu <zqiu@chromium.org> Tested-by: Zeping Qiu <zqiu@chromium.org>
Diffstat (limited to 'mock_file_writer.h')
-rw-r--r--mock_file_writer.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/mock_file_writer.h b/mock_file_writer.h
new file mode 100644
index 0000000..f5a7f31
--- /dev/null
+++ b/mock_file_writer.h
@@ -0,0 +1,38 @@
+// Copyright 2015 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef APMANAGER_MOCK_FILE_WRITER_H_
+#define APMANAGER_MOCK_FILE_WRITER_H_
+
+#include <string>
+
+#include <base/lazy_instance.h>
+#include <gmock/gmock.h>
+
+#include "apmanager/file_writer.h"
+
+namespace apmanager {
+
+class MockFileWriter : public FileWriter {
+ public:
+ ~MockFileWriter() override;
+
+ // This is a singleton. Use MockFileWriter::GetInstance()->Foo().
+ static MockFileWriter* GetInstance();
+
+ MOCK_METHOD2(Write, bool(const std::string& file_name,
+ const std::string& content));
+
+ protected:
+ MockFileWriter();
+
+ private:
+ friend struct base::DefaultLazyInstanceTraits<MockFileWriter>;
+
+ DISALLOW_COPY_AND_ASSIGN(MockFileWriter);
+};
+
+} // namespace apmanager
+
+#endif // APMANAGER_MOCK_FILE_WRITER_H_