| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/chromeos/login/signed_settings_helper.h" | 5 #include "chrome/browser/chromeos/login/signed_settings_helper.h" |
| 6 | 6 |
| 7 #include "chrome/browser/browser_thread.h" | 7 #include "chrome/browser/browser_thread.h" |
| 8 #include "chrome/browser/chromeos/cros/cros_library.h" | 8 #include "chrome/browser/chromeos/cros/cros_library.h" |
| 9 #include "chrome/browser/chromeos/login/mock_ownership_service.h" | 9 #include "chrome/browser/chromeos/login/mock_ownership_service.h" |
| 10 #include "chrome/browser/chromeos/login/owner_manager.h" | 10 #include "chrome/browser/chromeos/login/owner_manager.h" |
| 11 #include "chrome/browser/chromeos/login/signed_settings.h" | 11 #include "chrome/browser/chromeos/login/signed_settings.h" |
| 12 #include "testing/gmock/include/gmock/gmock.h" | 12 #include "testing/gmock/include/gmock/gmock.h" |
| 13 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
| 14 | 14 |
| 15 using ::testing::_; | 15 using ::testing::_; |
| 16 using ::testing::InSequence; | 16 using ::testing::InSequence; |
| 17 | 17 |
| 18 namespace chromeos { | 18 namespace chromeos { |
| 19 | 19 |
| 20 class MockSignedSettingsHelperCallback : public SignedSettingsHelper::Callback { | 20 class MockSignedSettingsHelperCallback : public SignedSettingsHelper::Callback { |
| 21 public: | 21 public: |
| 22 MOCK_METHOD2(OnCheckWhiteListCompleted, void( | 22 MOCK_METHOD2(OnCheckWhitelistCompleted, void( |
| 23 bool success, const std::string& email)); | 23 SignedSettings::ReturnCode code, const std::string& email)); |
| 24 MOCK_METHOD2(OnWhitelistCompleted, void( | 24 MOCK_METHOD2(OnWhitelistCompleted, void( |
| 25 bool success, const std::string& email)); | 25 SignedSettings::ReturnCode code, const std::string& email)); |
| 26 MOCK_METHOD2(OnUnwhitelistCompleted, void( | 26 MOCK_METHOD2(OnUnwhitelistCompleted, void( |
| 27 bool success, const std::string& email)); | 27 SignedSettings::ReturnCode code, const std::string& email)); |
| 28 MOCK_METHOD3(OnStorePropertyCompleted, void( | 28 MOCK_METHOD3(OnStorePropertyCompleted, void( |
| 29 bool success, const std::string& name, const std::string& value)); | 29 SignedSettings::ReturnCode code, |
| 30 const std::string& name, |
| 31 const std::string& value)); |
| 30 MOCK_METHOD3(OnRetrievePropertyCompleted, void( | 32 MOCK_METHOD3(OnRetrievePropertyCompleted, void( |
| 31 bool success, const std::string& name, const std::string& value)); | 33 SignedSettings::ReturnCode code, |
| 34 const std::string& name, |
| 35 const std::string& value)); |
| 32 }; | 36 }; |
| 33 | 37 |
| 34 class SignedSettingsHelperTest : public ::testing::Test, | 38 class SignedSettingsHelperTest : public ::testing::Test, |
| 35 public SignedSettingsHelper::TestDelegate { | 39 public SignedSettingsHelper::TestDelegate { |
| 36 public: | 40 public: |
| 37 SignedSettingsHelperTest() | 41 SignedSettingsHelperTest() |
| 38 : fake_email_("fakey"), | 42 : fake_email_("fakey"), |
| 39 fake_prop_("prop_name"), | 43 fake_prop_("prop_name"), |
| 40 fake_value_("stub"), | 44 fake_value_("stub"), |
| 41 message_loop_(MessageLoop::TYPE_UI), | 45 message_loop_(MessageLoop::TYPE_UI), |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 | 85 |
| 82 ScopedStubCrosEnabler stub_cros_enabler_; | 86 ScopedStubCrosEnabler stub_cros_enabler_; |
| 83 }; | 87 }; |
| 84 | 88 |
| 85 TEST_F(SignedSettingsHelperTest, SerializedOps) { | 89 TEST_F(SignedSettingsHelperTest, SerializedOps) { |
| 86 MockSignedSettingsHelperCallback cb; | 90 MockSignedSettingsHelperCallback cb; |
| 87 | 91 |
| 88 EXPECT_CALL(m_, IsAlreadyOwned()).Times(2); | 92 EXPECT_CALL(m_, IsAlreadyOwned()).Times(2); |
| 89 InSequence s; | 93 InSequence s; |
| 90 EXPECT_CALL(m_, StartVerifyAttempt(_, _, _)).Times(1); | 94 EXPECT_CALL(m_, StartVerifyAttempt(_, _, _)).Times(1); |
| 91 EXPECT_CALL(cb, OnCheckWhiteListCompleted(true, _)) | 95 EXPECT_CALL(cb, OnCheckWhitelistCompleted(SignedSettings::SUCCESS, _)) |
| 92 .Times(1); | 96 .Times(1); |
| 93 EXPECT_CALL(m_, StartSigningAttempt(_, _)).Times(1); | 97 EXPECT_CALL(m_, StartSigningAttempt(_, _)).Times(1); |
| 94 EXPECT_CALL(cb, OnWhitelistCompleted(true, _)) | 98 EXPECT_CALL(cb, OnWhitelistCompleted(SignedSettings::SUCCESS, _)) |
| 95 .Times(1); | 99 .Times(1); |
| 96 EXPECT_CALL(m_, StartSigningAttempt(_, _)).Times(1); | 100 EXPECT_CALL(m_, StartSigningAttempt(_, _)).Times(1); |
| 97 EXPECT_CALL(cb, OnUnwhitelistCompleted(true, _)) | 101 EXPECT_CALL(cb, OnUnwhitelistCompleted(SignedSettings::SUCCESS, _)) |
| 98 .Times(1); | 102 .Times(1); |
| 99 EXPECT_CALL(m_, StartSigningAttempt(_, _)).Times(1); | 103 EXPECT_CALL(m_, StartSigningAttempt(_, _)).Times(1); |
| 100 EXPECT_CALL(cb, OnStorePropertyCompleted(true, _, _)) | 104 EXPECT_CALL(cb, OnStorePropertyCompleted(SignedSettings::SUCCESS, _, _)) |
| 101 .Times(1); | 105 .Times(1); |
| 102 EXPECT_CALL(m_, StartVerifyAttempt(_, _, _)).Times(1); | 106 EXPECT_CALL(m_, StartVerifyAttempt(_, _, _)).Times(1); |
| 103 EXPECT_CALL(cb, OnRetrievePropertyCompleted(true, _, _)) | 107 EXPECT_CALL(cb, OnRetrievePropertyCompleted(SignedSettings::SUCCESS, _, _)) |
| 104 .Times(1); | 108 .Times(1); |
| 105 | 109 |
| 106 pending_ops_ = 5; | 110 pending_ops_ = 5; |
| 107 SignedSettingsHelper::Get()->StartCheckWhitelistOp(fake_email_, &cb); | 111 SignedSettingsHelper::Get()->StartCheckWhitelistOp(fake_email_, &cb); |
| 108 SignedSettingsHelper::Get()->StartWhitelistOp(fake_email_, true, &cb); | 112 SignedSettingsHelper::Get()->StartWhitelistOp(fake_email_, true, &cb); |
| 109 SignedSettingsHelper::Get()->StartWhitelistOp(fake_email_, false, &cb); | 113 SignedSettingsHelper::Get()->StartWhitelistOp(fake_email_, false, &cb); |
| 110 SignedSettingsHelper::Get()->StartStorePropertyOp(fake_prop_, fake_value_, | 114 SignedSettingsHelper::Get()->StartStorePropertyOp(fake_prop_, fake_value_, |
| 111 &cb); | 115 &cb); |
| 112 SignedSettingsHelper::Get()->StartRetrieveProperty(fake_prop_, &cb); | 116 SignedSettingsHelper::Get()->StartRetrieveProperty(fake_prop_, &cb); |
| 113 | 117 |
| 114 message_loop_.Run(); | 118 message_loop_.Run(); |
| 115 } | 119 } |
| 116 | 120 |
| 117 TEST_F(SignedSettingsHelperTest, CanceledOps) { | 121 TEST_F(SignedSettingsHelperTest, CanceledOps) { |
| 118 MockSignedSettingsHelperCallback cb; | 122 MockSignedSettingsHelperCallback cb; |
| 119 | 123 |
| 120 EXPECT_CALL(m_, IsAlreadyOwned()).Times(2); | 124 EXPECT_CALL(m_, IsAlreadyOwned()).Times(2); |
| 121 InSequence s; | 125 InSequence s; |
| 122 EXPECT_CALL(m_, StartVerifyAttempt(_, _, _)).Times(1); | 126 EXPECT_CALL(m_, StartVerifyAttempt(_, _, _)).Times(1); |
| 123 EXPECT_CALL(cb, OnCheckWhiteListCompleted(true, _)) | 127 EXPECT_CALL(cb, OnCheckWhitelistCompleted(SignedSettings::SUCCESS, _)) |
| 124 .Times(1); | 128 .Times(1); |
| 125 EXPECT_CALL(m_, StartSigningAttempt(_, _)).Times(1); | 129 EXPECT_CALL(m_, StartSigningAttempt(_, _)).Times(1); |
| 126 EXPECT_CALL(cb, OnWhitelistCompleted(true, _)) | 130 EXPECT_CALL(cb, OnWhitelistCompleted(SignedSettings::SUCCESS, _)) |
| 127 .Times(1); | 131 .Times(1); |
| 128 EXPECT_CALL(m_, StartSigningAttempt(_, _)).Times(1); | 132 EXPECT_CALL(m_, StartSigningAttempt(_, _)).Times(1); |
| 129 EXPECT_CALL(cb, OnUnwhitelistCompleted(true, _)) | 133 EXPECT_CALL(cb, OnUnwhitelistCompleted(SignedSettings::SUCCESS, _)) |
| 130 .Times(1); | 134 .Times(1); |
| 131 | 135 |
| 132 // CheckWhitelistOp for cb_to_be_canceled still gets executed but callback | 136 // CheckWhitelistOp for cb_to_be_canceled still gets executed but callback |
| 133 // does not happen. | 137 // does not happen. |
| 134 EXPECT_CALL(m_, StartVerifyAttempt(_, _, _)).Times(1); | 138 EXPECT_CALL(m_, StartVerifyAttempt(_, _, _)).Times(1); |
| 135 | 139 |
| 136 EXPECT_CALL(m_, StartSigningAttempt(_, _)).Times(1); | 140 EXPECT_CALL(m_, StartSigningAttempt(_, _)).Times(1); |
| 137 EXPECT_CALL(cb, OnStorePropertyCompleted(true, _, _)) | 141 EXPECT_CALL(cb, OnStorePropertyCompleted(SignedSettings::SUCCESS, _, _)) |
| 138 .Times(1); | 142 .Times(1); |
| 139 EXPECT_CALL(m_, StartVerifyAttempt(_, _, _)).Times(1); | 143 EXPECT_CALL(m_, StartVerifyAttempt(_, _, _)).Times(1); |
| 140 EXPECT_CALL(cb, OnRetrievePropertyCompleted(true, _, _)) | 144 EXPECT_CALL(cb, OnRetrievePropertyCompleted(SignedSettings::SUCCESS, _, _)) |
| 141 .Times(1); | 145 .Times(1); |
| 142 | 146 |
| 143 pending_ops_ = 6; | 147 pending_ops_ = 6; |
| 144 SignedSettingsHelper::Get()->StartCheckWhitelistOp(fake_email_, &cb); | 148 SignedSettingsHelper::Get()->StartCheckWhitelistOp(fake_email_, &cb); |
| 145 SignedSettingsHelper::Get()->StartWhitelistOp(fake_email_, true, &cb); | 149 SignedSettingsHelper::Get()->StartWhitelistOp(fake_email_, true, &cb); |
| 146 SignedSettingsHelper::Get()->StartWhitelistOp(fake_email_, false, &cb); | 150 SignedSettingsHelper::Get()->StartWhitelistOp(fake_email_, false, &cb); |
| 147 | 151 |
| 148 MockSignedSettingsHelperCallback cb_to_be_canceled; | 152 MockSignedSettingsHelperCallback cb_to_be_canceled; |
| 149 SignedSettingsHelper::Get()->StartCheckWhitelistOp(fake_email_, | 153 SignedSettingsHelper::Get()->StartCheckWhitelistOp(fake_email_, |
| 150 &cb_to_be_canceled); | 154 &cb_to_be_canceled); |
| 151 SignedSettingsHelper::Get()->CancelCallback(&cb_to_be_canceled); | 155 SignedSettingsHelper::Get()->CancelCallback(&cb_to_be_canceled); |
| 152 | 156 |
| 153 SignedSettingsHelper::Get()->StartStorePropertyOp(fake_prop_, fake_value_, | 157 SignedSettingsHelper::Get()->StartStorePropertyOp(fake_prop_, fake_value_, |
| 154 &cb); | 158 &cb); |
| 155 SignedSettingsHelper::Get()->StartRetrieveProperty(fake_prop_, &cb); | 159 SignedSettingsHelper::Get()->StartRetrieveProperty(fake_prop_, &cb); |
| 156 | 160 |
| 157 message_loop_.Run(); | 161 message_loop_.Run(); |
| 158 } | 162 } |
| 159 | 163 |
| 160 } // namespace chromeos | 164 } // namespace chromeos |
| OLD | NEW |