Index: goopdate/offline_utils_unittest.cc |
diff --git a/goopdate/offline_utils_unittest.cc b/goopdate/offline_utils_unittest.cc |
deleted file mode 100644 |
index 4524ab04616150928edb02a352e705f4ba56d571..0000000000000000000000000000000000000000 |
--- a/goopdate/offline_utils_unittest.cc |
+++ /dev/null |
@@ -1,187 +0,0 @@ |
-// Copyright 2010 Google Inc. |
-// |
-// Licensed under the Apache License, Version 2.0 (the "License"); |
-// you may not use this file except in compliance with the License. |
-// You may obtain a copy of the License at |
-// |
-// http://www.apache.org/licenses/LICENSE-2.0 |
-// |
-// Unless required by applicable law or agreed to in writing, software |
-// distributed under the License is distributed on an "AS IS" BASIS, |
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
-// See the License for the specific language governing permissions and |
-// limitations under the License. |
-// ======================================================================== |
- |
-#include "omaha/goopdate/offline_utils.h" |
-#include <atlpath.h> |
-#include "omaha/base/app_util.h" |
-#include "omaha/base/debug.h" |
-#include "omaha/base/error.h" |
-#include "omaha/base/file.h" |
-#include "omaha/base/logging.h" |
-#include "omaha/base/path.h" |
-#include "omaha/base/utils.h" |
-#include "omaha/goopdate/update_response_utils.h" |
-#include "omaha/testing/resource.h" |
-#include "omaha/testing/unit_test.h" |
- |
-namespace omaha { |
- |
-namespace { |
- |
-const TCHAR* kAppId1 = _T("{CDABE316-39CD-43BA-8440-6D1E0547AEE6}"); |
- |
-void CheckResponse(const xml::response::Response& xml_response, |
- const TCHAR* expected_protocol_version) { |
- EXPECT_STREQ(expected_protocol_version, xml_response.protocol); |
- EXPECT_EQ(1, xml_response.apps.size()); |
- |
- const xml::response::App& app(xml_response.apps[0]); |
- EXPECT_STREQ(kAppId1, app.appid); |
- EXPECT_STREQ(_T("ok"), app.status); |
- |
- const xml::response::UpdateCheck& update_check(app.update_check); |
- EXPECT_STREQ(_T("ok"), update_check.status); |
- EXPECT_EQ(1, update_check.urls.size()); |
- EXPECT_STREQ(_T("http://dl.google.com/foo/install/1.2.3.4/"), |
- update_check.urls[0]); |
- |
- const xml::InstallManifest& install_manifest(update_check.install_manifest); |
- EXPECT_STREQ(_T("1.2.3.4"), install_manifest.version); |
- EXPECT_EQ(1, install_manifest.packages.size()); |
- |
- const xml::InstallPackage& install_package(install_manifest.packages[0]); |
- EXPECT_STREQ(_T("foo_installer.exe"), install_package.name); |
- EXPECT_TRUE(install_package.is_required); |
- EXPECT_EQ(12345678, install_package.size); |
- EXPECT_STREQ(_T("abcdef"), install_package.hash); |
- |
- EXPECT_EQ(2, install_manifest.install_actions.size()); |
- |
- const xml::InstallAction* install_action( |
- &install_manifest.install_actions[0]); |
- EXPECT_EQ(xml::InstallAction::kInstall, install_action->install_event); |
- EXPECT_EQ(NEEDS_ADMIN_NO, install_action->needs_admin); |
- EXPECT_STREQ(_T("foo_installer.exe"), install_action->program_to_run); |
- EXPECT_STREQ(_T("-baz"), install_action->program_arguments); |
- EXPECT_FALSE(install_action->terminate_all_browsers); |
- EXPECT_EQ(SUCCESS_ACTION_DEFAULT, install_action->success_action); |
- |
- install_action = &install_manifest.install_actions[1]; |
- EXPECT_EQ(xml::InstallAction::kPostInstall, install_action->install_event); |
- EXPECT_EQ(NEEDS_ADMIN_NO, install_action->needs_admin); |
- EXPECT_FALSE(install_action->terminate_all_browsers); |
- EXPECT_EQ(SUCCESS_ACTION_EXIT_SILENTLY_ON_LAUNCH_CMD, |
- install_action->success_action); |
- |
- EXPECT_EQ(0, app.events.size()); |
- |
- CString value; |
- CString verboselogging_install_data(_T("\n {\n \"distribution\": {\n \"verbose_logging\": true\n }\n }\n ")); // NOLINT |
- EXPECT_SUCCEEDED(update_response_utils::GetInstallData(app.data, |
- _T("verboselogging"), |
- &value)); |
- EXPECT_STREQ(verboselogging_install_data, value); |
- |
- CString foobarapp_install_data(_T("\n {\n \"distribution\": {\n \"skip_first_run_ui\": true,\n \"show_welcome_page\": true,\n \"import_search_engine\": true,\n \"import_history\": false,\n \"create_all_shortcuts\": true,\n \"do_not_launch_foo\": true,\n \"make_foo_default\": false,\n \"verbose_logging\": false\n }\n }\n ")); // NOLINT |
- EXPECT_SUCCEEDED(update_response_utils::GetInstallData(app.data, |
- _T("foobarapp"), |
- &value)); |
- EXPECT_STREQ(foobarapp_install_data, value); |
- |
- EXPECT_EQ(GOOPDATE_E_INVALID_INSTALL_DATA_INDEX, |
- update_response_utils::GetInstallData(app.data, _T("foo"), &value)); |
-} |
- |
-void ParseAndCheck(const TCHAR* source_manifest_extension, |
- const TCHAR* target_manifest_filename, |
- const TCHAR* expected_protocol_version) { |
- CString source_manifest_path = ConcatenatePath( |
- app_util::GetCurrentModuleDirectory(), _T("unittest_support")); |
- source_manifest_path = ConcatenatePath(source_manifest_path, kAppId1); |
- source_manifest_path += source_manifest_extension; |
- |
- CString target_manifest_path = ConcatenatePath( |
- app_util::GetCurrentModuleDirectory(), target_manifest_filename); |
- |
- EXPECT_SUCCEEDED(File::Copy(source_manifest_path, target_manifest_path, |
- true)); |
- |
- scoped_ptr<xml::UpdateResponse> update_response( |
- xml::UpdateResponse::Create()); |
- EXPECT_SUCCEEDED(offline_utils::ParseOfflineManifest( |
- kAppId1, |
- app_util::GetCurrentModuleDirectory(), |
- update_response.get())); |
- |
- CheckResponse(update_response->response(), expected_protocol_version); |
- |
- EXPECT_SUCCEEDED(File::Remove(target_manifest_path)); |
-} |
- |
-} // namespace |
- |
-namespace offline_utils { |
- |
-TEST(OfflineUtilsTest, GetV2OfflineManifest) { |
- CString manifest_path = offline_utils::GetV2OfflineManifest( |
- kAppId1, app_util::GetCurrentModuleDirectory()); |
- |
- EXPECT_STREQ(ConcatenatePath(app_util::GetCurrentModuleDirectory(), |
- CString(kAppId1) + _T(".gup")), |
- manifest_path); |
-} |
- |
-TEST(OfflineUtilsTest, FindV2OfflinePackagePath_Success) { |
- CString installer_exe = _T("foo_installer.exe"); |
- CString installer_path = ConcatenatePath( |
- app_util::GetCurrentModuleDirectory(), |
- kAppId1); |
- EXPECT_SUCCEEDED(CreateDir(installer_path, NULL)); |
- EXPECT_SUCCEEDED(File::Copy( |
- ConcatenatePath(app_util::GetCurrentModuleDirectory(), |
- _T("unittest_support\\SaveArguments.exe")), |
- ConcatenatePath(installer_path, installer_exe), |
- true)); |
- |
- CString package_path; |
- EXPECT_SUCCEEDED(offline_utils::FindV2OfflinePackagePath(installer_path, |
- &package_path)); |
- EXPECT_STREQ(ConcatenatePath(installer_path, installer_exe), package_path); |
- |
- EXPECT_SUCCEEDED(DeleteDirectory(installer_path)); |
-} |
- |
-TEST(OfflineUtilsTest, FindV2OfflinePackagePath_Failure) { |
- CString package_path; |
- EXPECT_EQ(HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND), |
- offline_utils::FindV2OfflinePackagePath( |
- ConcatenatePath(app_util::GetCurrentModuleDirectory(), |
- kAppId1), |
- &package_path)); |
- EXPECT_TRUE(package_path.IsEmpty()); |
-} |
- |
-TEST(OfflineUtilsTest, ParseOfflineManifest_v3_Success) { |
- ParseAndCheck(_T(".v3.gup"), kOfflineManifestFileName, _T("3.0")); |
-} |
- |
-TEST(OfflineUtilsTest, ParseOfflineManifest_v2_Success) { |
- CString target_manifest_filename = CString(kAppId1) + _T(".gup"); |
- ParseAndCheck(_T(".v2.gup"), target_manifest_filename, _T("2.0")); |
-} |
- |
-TEST(OfflineUtilsTest, ParseOfflineManifest_FileDoesNotExist) { |
- scoped_ptr<xml::UpdateResponse> update_response( |
- xml::UpdateResponse::Create()); |
- EXPECT_EQ(HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), |
- offline_utils::ParseOfflineManifest( |
- kAppId1, |
- app_util::GetCurrentModuleDirectory(), |
- update_response.get())); |
-} |
- |
-} // namespace offline_utils |
- |
-} // namespace omaha |