diff options
author | Peter Qiu <zqiu@chromium.org> | 2015-01-08 16:22:16 -0800 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2015-01-10 00:51:07 +0000 |
commit | 775173013ee886be244417eba0a3b302c4da11e0 (patch) | |
tree | 0100e40c08b47effc527c235a58404d240c63771 /mock_file_writer.h | |
parent | 58676b65cea23a831d032639e5cbfd350d58ff6a (diff) | |
download | apmanager-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.h | 38 |
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_ |