Index: chrome/browser/extensions/api/instance_id/instance_id_apitest.cc |
diff --git a/chrome/browser/extensions/api/instance_id/instance_id_apitest.cc b/chrome/browser/extensions/api/instance_id/instance_id_apitest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6a3c4ab0221e173bb57d2ff625ee20d385fc9eb8 |
--- /dev/null |
+++ b/chrome/browser/extensions/api/instance_id/instance_id_apitest.cc |
@@ -0,0 +1,81 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "base/run_loop.h" |
+#include "chrome/browser/extensions/api/instance_id/instance_id_api.h" |
+#include "chrome/browser/extensions/extension_apitest.h" |
+#include "chrome/browser/extensions/extension_gcm_app_handler.h" |
+#include "chrome/browser/profiles/profile.h" |
+#include "chrome/browser/services/gcm/fake_gcm_profile_service.h" |
+#include "chrome/browser/services/gcm/gcm_profile_service_factory.h" |
+#include "chrome/browser/services/gcm/instance_id/instance_id_profile_service_factory.h" |
+#include "chrome/common/chrome_switches.h" |
+#include "chrome/test/base/ui_test_utils.h" |
+#include "extensions/test/result_catcher.h" |
+ |
+using extensions::ResultCatcher; |
+ |
+namespace extensions { |
+ |
+class InstanceIDApiTest : public ExtensionApiTest { |
+ public: |
+ InstanceIDApiTest() {} |
+ |
+ protected: |
+ void SetUpOnMainThread() override; |
+ void SetUpCommandLine(base::CommandLine* command_line) override; |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(InstanceIDApiTest); |
+}; |
+ |
+void InstanceIDApiTest::SetUpOnMainThread() { |
+ gcm::GCMProfileServiceFactory::GetInstance()->SetTestingFactory( |
+ browser()->profile(), &gcm::FakeGCMProfileService::Build); |
+ |
+ ExtensionApiTest::SetUpOnMainThread(); |
+} |
+ |
+void InstanceIDApiTest::SetUpCommandLine(base::CommandLine* command_line) { |
+ ExtensionApiTest::SetUpCommandLine(command_line); |
+ |
+ // Makes sure InstanceID is enabled for testing. |
+ command_line->AppendSwitchASCII( |
+ switches::kForceFieldTrials, "InstanceID/Enabled/"); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(InstanceIDApiTest, GetID) { |
+ ASSERT_TRUE(RunExtensionTest("instance_id/get_id")); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(InstanceIDApiTest, GetCreationTime) { |
+ ASSERT_TRUE(RunExtensionTest("instance_id/get_creation_time")); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(InstanceIDApiTest, DeleteID) { |
+ ASSERT_TRUE(RunExtensionTest("instance_id/delete_id")); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(InstanceIDApiTest, GetToken) { |
+ ASSERT_TRUE(RunExtensionTest("instance_id/get_token")); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(InstanceIDApiTest, DeleteToken) { |
+ ASSERT_TRUE(RunExtensionTest("instance_id/delete_token")); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(InstanceIDApiTest, Incognito) { |
+ ResultCatcher catcher; |
+ catcher.RestrictToBrowserContext(profile()); |
+ ResultCatcher incognito_catcher; |
+ incognito_catcher.RestrictToBrowserContext( |
+ profile()->GetOffTheRecordProfile()); |
+ |
+ ASSERT_TRUE(RunExtensionTestIncognito("instance_id/incognito")); |
+ |
+ EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
+ EXPECT_TRUE(incognito_catcher.GetNextResult()) << incognito_catcher.message(); |
+} |
+ |
+} // namespace extensions |