Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/extensions/external_provider_impl.h" | 5 #include "chrome/browser/extensions/external_provider_impl.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
| 9 #include "base/files/file_util.h" | 9 #include "base/files/file_util.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 26 #include "content/public/test/test_utils.h" | 26 #include "content/public/test/test_utils.h" |
| 27 #include "net/test/embedded_test_server/embedded_test_server.h" | 27 #include "net/test/embedded_test_server/embedded_test_server.h" |
| 28 #include "net/test/embedded_test_server/http_request.h" | 28 #include "net/test/embedded_test_server/http_request.h" |
| 29 #include "net/test/embedded_test_server/http_response.h" | 29 #include "net/test/embedded_test_server/http_response.h" |
| 30 #include "testing/gmock/include/gmock/gmock.h" | 30 #include "testing/gmock/include/gmock/gmock.h" |
| 31 | 31 |
| 32 #if defined(OS_CHROMEOS) | 32 #if defined(OS_CHROMEOS) |
| 33 #include "chrome/browser/chromeos/customization_document.h" | 33 #include "chrome/browser/chromeos/customization_document.h" |
| 34 #include "chrome/browser/chromeos/login/users/fake_user_manager.h" | 34 #include "chrome/browser/chromeos/login/users/fake_user_manager.h" |
| 35 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h" | 35 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h" |
| 36 #include "chromeos/system/mock_statistics_provider.h" | 36 #include "chromeos/system/fake_statistics_provider.h" |
| 37 #include "chromeos/system/statistics_provider.h" | 37 #include "chromeos/system/statistics_provider.h" |
| 38 #endif | 38 #endif |
| 39 | 39 |
| 40 using ::testing::_; | |
| 41 using ::testing::NotNull; | 40 using ::testing::NotNull; |
| 42 using ::testing::Return; | 41 using ::testing::Return; |
| 42 using ::testing::_; | |
| 43 | 43 |
| 44 namespace extensions { | 44 namespace extensions { |
| 45 | 45 |
| 46 namespace { | 46 namespace { |
| 47 | 47 |
| 48 using namespace net::test_server; | 48 using namespace net::test_server; |
| 49 | 49 |
| 50 const char kManifestPath[] = "/update_manifest"; | 50 const char kManifestPath[] = "/update_manifest"; |
| 51 const char kAppPath[] = "/app.crx"; | 51 const char kAppPath[] = "/app.crx"; |
| 52 | 52 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 92 ASSERT_TRUE(test_server_->InitializeAndWaitUntilReady()); | 92 ASSERT_TRUE(test_server_->InitializeAndWaitUntilReady()); |
| 93 test_server_->RegisterRequestHandler( | 93 test_server_->RegisterRequestHandler( |
| 94 base::Bind(&ExternalProviderImplTest::HandleRequest, | 94 base::Bind(&ExternalProviderImplTest::HandleRequest, |
| 95 base::Unretained(this))); | 95 base::Unretained(this))); |
| 96 | 96 |
| 97 test_extension_cache_.reset(new ExtensionCacheFake()); | 97 test_extension_cache_.reset(new ExtensionCacheFake()); |
| 98 | 98 |
| 99 CommandLine* cmdline = CommandLine::ForCurrentProcess(); | 99 CommandLine* cmdline = CommandLine::ForCurrentProcess(); |
| 100 cmdline->AppendSwitchASCII(switches::kAppsGalleryUpdateURL, | 100 cmdline->AppendSwitchASCII(switches::kAppsGalleryUpdateURL, |
| 101 test_server_->GetURL(kManifestPath).spec()); | 101 test_server_->GetURL(kManifestPath).spec()); |
| 102 #if defined(OS_CHROMEOS) | |
| 103 chromeos::system::StatisticsProvider::SetTestProvider( | |
| 104 &mock_statistics_provider_); | |
| 105 EXPECT_CALL(mock_statistics_provider_, GetMachineStatistic(_, NotNull())) | |
| 106 .WillRepeatedly(Return(false)); | |
| 107 #endif | |
| 108 } | 102 } |
| 109 | 103 |
| 110 virtual void TearDown() override { | 104 virtual void TearDown() override { |
| 111 #if defined(OS_CHROMEOS) | |
| 112 chromeos::system::StatisticsProvider::SetTestProvider(NULL); | |
| 113 TestingBrowserProcess::GetGlobal()->SetLocalState(NULL); | 105 TestingBrowserProcess::GetGlobal()->SetLocalState(NULL); |
| 114 #endif | |
| 115 } | 106 } |
| 116 | 107 |
| 117 private: | 108 private: |
| 118 scoped_ptr<HttpResponse> HandleRequest(const HttpRequest& request) { | 109 scoped_ptr<HttpResponse> HandleRequest(const HttpRequest& request) { |
| 119 GURL url = test_server_->GetURL(request.relative_url); | 110 GURL url = test_server_->GetURL(request.relative_url); |
| 120 if (url.path() == kManifestPath) { | 111 if (url.path() == kManifestPath) { |
| 121 scoped_ptr<BasicHttpResponse> response(new BasicHttpResponse); | 112 scoped_ptr<BasicHttpResponse> response(new BasicHttpResponse); |
| 122 response->set_code(net::HTTP_OK); | 113 response->set_code(net::HTTP_OK); |
| 123 response->set_content(base::StringPrintf( | 114 response->set_content(base::StringPrintf( |
| 124 "<?xml version='1.0' encoding='UTF-8'?>\n" | 115 "<?xml version='1.0' encoding='UTF-8'?>\n" |
| (...skipping 20 matching lines...) Expand all Loading... | |
| 145 response->set_content(contents); | 136 response->set_content(contents); |
| 146 return response.PassAs<HttpResponse>(); | 137 return response.PassAs<HttpResponse>(); |
| 147 } | 138 } |
| 148 | 139 |
| 149 return scoped_ptr<HttpResponse>(); | 140 return scoped_ptr<HttpResponse>(); |
| 150 } | 141 } |
| 151 | 142 |
| 152 scoped_ptr<EmbeddedTestServer> test_server_; | 143 scoped_ptr<EmbeddedTestServer> test_server_; |
| 153 scoped_ptr<ExtensionCacheFake> test_extension_cache_; | 144 scoped_ptr<ExtensionCacheFake> test_extension_cache_; |
| 154 #if defined(OS_CHROMEOS) | 145 #if defined(OS_CHROMEOS) |
| 155 chromeos::system::MockStatisticsProvider mock_statistics_provider_; | 146 chromeos::system::ScopedFakeStatisticsProvider fake_statistics_provider_; |
|
stevenjb
2014/10/13 14:28:20
Is this used somewhere?
Mattias Nissler (ping if slow)
2014/10/13 15:01:08
Yes, added a clarifying comment.
stevenjb
2014/10/13 15:07:43
Ah, right, I forgot that ScopedFakeStatisticsProvi
| |
| 156 TestingPrefServiceSimple local_state_; | 147 TestingPrefServiceSimple local_state_; |
| 157 #endif | 148 #endif |
| 158 | 149 |
| 159 DISALLOW_COPY_AND_ASSIGN(ExternalProviderImplTest); | 150 DISALLOW_COPY_AND_ASSIGN(ExternalProviderImplTest); |
| 160 }; | 151 }; |
| 161 | 152 |
| 162 } // namespace | 153 } // namespace |
| 163 | 154 |
| 164 TEST_F(ExternalProviderImplTest, InAppPayments) { | 155 TEST_F(ExternalProviderImplTest, InAppPayments) { |
| 165 InitServiceWithExternalProviders(); | 156 InitServiceWithExternalProviders(); |
| 166 | 157 |
| 167 scoped_refptr<content::MessageLoopRunner> runner = | 158 scoped_refptr<content::MessageLoopRunner> runner = |
| 168 new content::MessageLoopRunner; | 159 new content::MessageLoopRunner; |
| 169 service_->set_external_updates_finished_callback_for_test( | 160 service_->set_external_updates_finished_callback_for_test( |
| 170 runner->QuitClosure()); | 161 runner->QuitClosure()); |
| 171 | 162 |
| 172 service_->CheckForExternalUpdates(); | 163 service_->CheckForExternalUpdates(); |
| 173 runner->Run(); | 164 runner->Run(); |
| 174 | 165 |
| 175 EXPECT_TRUE(service_->GetInstalledExtension( | 166 EXPECT_TRUE(service_->GetInstalledExtension( |
| 176 extension_misc::kInAppPaymentsSupportAppId)); | 167 extension_misc::kInAppPaymentsSupportAppId)); |
| 177 EXPECT_TRUE(service_->IsExtensionEnabled( | 168 EXPECT_TRUE(service_->IsExtensionEnabled( |
| 178 extension_misc::kInAppPaymentsSupportAppId)); | 169 extension_misc::kInAppPaymentsSupportAppId)); |
| 179 } | 170 } |
| 180 | 171 |
| 181 } // namespace extensions | 172 } // namespace extensions |
| OLD | NEW |