blob: 01c9fa00cb3f15d0b677ab8b20fa5267740ab1cd [file] [log] [blame]
Chris Masonef8d037f2014-02-19 01:53:00 +00001// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
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 "update_engine/hwid_override.h"
6
7#include <string>
8
9#include <base/file_path.h>
10#include <base/file_util.h>
11#include <base/files/scoped_temp_dir.h>
12#include <gtest/gtest.h>
13
14namespace chromeos_update_engine {
15
16class HwidOverrideTest : public ::testing::Test {
17 public:
18 HwidOverrideTest() {}
19 virtual ~HwidOverrideTest() {}
20
21 virtual void SetUp() {
22 ASSERT_TRUE(tempdir_.CreateUniqueTempDir());
23 ASSERT_TRUE(file_util::CreateDirectory(tempdir_.path().Append("etc")));
24 }
25
26 protected:
27 base::ScopedTempDir tempdir_;
28
29 private:
30 DISALLOW_COPY_AND_ASSIGN(HwidOverrideTest);
31};
32
33TEST_F(HwidOverrideTest, ReadGood) {
34 std::string expected_hwid("expected");
35 std::string keyval(HwidOverride::kHwidOverrideKey);
36 keyval += ("=" + expected_hwid);
37 ASSERT_EQ(file_util::WriteFile(tempdir_.path().Append("etc/lsb-release"),
38 keyval.c_str(), keyval.length()),
39 keyval.length());
40 EXPECT_EQ(expected_hwid, HwidOverride::Read(tempdir_.path()));
41}
42
43TEST_F(HwidOverrideTest, ReadNothing) {
44 std::string keyval("SOMETHING_ELSE=UNINTERESTING");
45 ASSERT_EQ(file_util::WriteFile(tempdir_.path().Append("etc/lsb-release"),
46 keyval.c_str(), keyval.length()),
47 keyval.length());
48 EXPECT_EQ(std::string(), HwidOverride::Read(tempdir_.path()));
49}
50
51TEST_F(HwidOverrideTest, ReadFailure) {
52 EXPECT_EQ(std::string(), HwidOverride::Read(tempdir_.path()));
53}
54
55} // namespace chromeos_update_engine