blob: 792d4d8a728b98cdb1d9f18375d9f9333c8dbbc2 [file] [log] [blame]
Alex Deymo2de23f52014-02-26 14:30:13 -08001// Copyright (c) 2014 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
Alex Deymobd04b142014-03-18 15:00:05 -07005#include "update_engine/policy_manager/real_state.h"
6
Alex Deymo2de23f52014-02-26 14:30:13 -08007#include <gtest/gtest.h>
8
Gilad Arnold308c1012014-03-12 15:37:06 -07009#include "update_engine/policy_manager/fake_random_provider.h"
10#include "update_engine/policy_manager/fake_shill_provider.h"
Alex Deymobd04b142014-03-18 15:00:05 -070011#include "update_engine/policy_manager/fake_system_provider.h"
Gilad Arnold78a78112014-03-13 14:58:06 -070012#include "update_engine/policy_manager/fake_time_provider.h"
Alex Deymo2de23f52014-02-26 14:30:13 -080013#include "update_engine/policy_manager/pmtest_utils.h"
Gilad Arnold5ef9c482014-03-03 13:51:02 -080014
Alex Deymo2de23f52014-02-26 14:30:13 -080015namespace chromeos_policy_manager {
16
17TEST(PmRealStateTest, InitTest) {
Alex Deymobd04b142014-03-18 15:00:05 -070018 RealState state(new FakeRandomProvider(),
19 new FakeShillProvider(),
20 new FakeSystemProvider(),
Gilad Arnold78a78112014-03-13 14:58:06 -070021 new FakeTimeProvider());
Alex Deymo2de23f52014-02-26 14:30:13 -080022 EXPECT_TRUE(state.Init());
Gilad Arnoldbeb39e92014-03-11 11:34:50 -070023
Gilad Arnold308c1012014-03-12 15:37:06 -070024 // Check that the providers are being initialized. Beyond ensuring that we get
25 // non-null provider handles, verifying that we can get a single variable from
26 // each provider is enough of an indication that it has initialized.
Alex Deymo2de23f52014-02-26 14:30:13 -080027 PMTEST_ASSERT_NOT_NULL(state.random_provider());
Alex Deymo540d9422014-02-27 11:17:31 -080028 PMTEST_EXPECT_NOT_NULL(state.random_provider()->var_seed());
Gilad Arnold308c1012014-03-12 15:37:06 -070029 PMTEST_ASSERT_NOT_NULL(state.shill_provider());
30 PMTEST_EXPECT_NOT_NULL(state.shill_provider()->var_is_connected());
Alex Deymobd04b142014-03-18 15:00:05 -070031 PMTEST_ASSERT_NOT_NULL(state.system_provider());
32 PMTEST_ASSERT_NOT_NULL(state.system_provider()->var_is_normal_boot_mode());
Gilad Arnold78a78112014-03-13 14:58:06 -070033 PMTEST_ASSERT_NOT_NULL(state.time_provider());
34 PMTEST_ASSERT_NOT_NULL(state.time_provider()->var_curr_date());
Alex Deymo2de23f52014-02-26 14:30:13 -080035}
36
37} // namespace chromeos_policy_manager