Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(479)

Side by Side Diff: chrome/browser/extensions/api/identity/identity_apitest.cc

Issue 337423002: Enable identity.email permission and chrome.identity.getProfileUserInfo API in stable (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: update permission string, getProfileUserInfo without email permission Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <set> 5 #include <set>
6 #include <string> 6 #include <string>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
(...skipping 577 matching lines...) Expand 10 before | Expand all | Expand 10 after
588 class IdentityGetProfileUserInfoFunctionTest : public ExtensionBrowserTest { 588 class IdentityGetProfileUserInfoFunctionTest : public ExtensionBrowserTest {
589 protected: 589 protected:
590 scoped_ptr<api::identity::ProfileUserInfo> RunGetProfileUserInfo() { 590 scoped_ptr<api::identity::ProfileUserInfo> RunGetProfileUserInfo() {
591 scoped_refptr<IdentityGetProfileUserInfoFunction> func( 591 scoped_refptr<IdentityGetProfileUserInfoFunction> func(
592 new IdentityGetProfileUserInfoFunction); 592 new IdentityGetProfileUserInfoFunction);
593 func->set_extension(utils::CreateEmptyExtension(kExtensionId).get()); 593 func->set_extension(utils::CreateEmptyExtension(kExtensionId).get());
594 scoped_ptr<base::Value> value( 594 scoped_ptr<base::Value> value(
595 utils::RunFunctionAndReturnSingleResult(func.get(), "[]", browser())); 595 utils::RunFunctionAndReturnSingleResult(func.get(), "[]", browser()));
596 return api::identity::ProfileUserInfo::FromValue(*value.get()); 596 return api::identity::ProfileUserInfo::FromValue(*value.get());
597 } 597 }
598
599 scoped_ptr<api::identity::ProfileUserInfo> RunGetProfileUserInfoWithEmail() {
600 scoped_refptr<IdentityGetProfileUserInfoFunction> func(
601 new IdentityGetProfileUserInfoFunction);
602 func->set_extension(CreateExtensionWithEmailPermission());
603 scoped_ptr<base::Value> value(
604 utils::RunFunctionAndReturnSingleResult(func.get(), "[]", browser()));
605 return api::identity::ProfileUserInfo::FromValue(*value.get());
606 }
607
608 private:
609 scoped_refptr<Extension> CreateExtensionWithEmailPermission() {
610 scoped_ptr<base::DictionaryValue> test_extension_value(
611 utils::ParseDictionary(
612 "{\"name\": \"Test\", \"version\": \"1.0\", "
613 "\"permissions\": [\"identity.email\"]}"));
614 return utils::CreateExtension(test_extension_value.get());
615 }
598 }; 616 };
599 617
600 IN_PROC_BROWSER_TEST_F(IdentityGetProfileUserInfoFunctionTest, NotSignedIn) { 618 IN_PROC_BROWSER_TEST_F(IdentityGetProfileUserInfoFunctionTest, NotSignedIn) {
601 scoped_ptr<api::identity::ProfileUserInfo> info = RunGetProfileUserInfo(); 619 scoped_ptr<api::identity::ProfileUserInfo> info =
620 RunGetProfileUserInfoWithEmail();
602 EXPECT_TRUE(info->email.empty()); 621 EXPECT_TRUE(info->email.empty());
603 EXPECT_TRUE(info->id.empty()); 622 EXPECT_TRUE(info->id.empty());
604 } 623 }
605 624
606 IN_PROC_BROWSER_TEST_F(IdentityGetProfileUserInfoFunctionTest, SignedIn) { 625 IN_PROC_BROWSER_TEST_F(IdentityGetProfileUserInfoFunctionTest, SignedIn) {
607 profile()->GetPrefs() 626 profile()->GetPrefs()
608 ->SetString(prefs::kGoogleServicesUsername, "president@example.com"); 627 ->SetString(prefs::kGoogleServicesUsername, "president@example.com");
609 profile()->GetPrefs() 628 profile()->GetPrefs()
610 ->SetString(prefs::kGoogleServicesUserAccountId, "12345"); 629 ->SetString(prefs::kGoogleServicesUserAccountId, "12345");
611 630
631 scoped_ptr<api::identity::ProfileUserInfo> info =
632 RunGetProfileUserInfoWithEmail();
633 EXPECT_EQ("president@example.com", info->email);
634 EXPECT_EQ("12345", info->id);
635 }
636
637 IN_PROC_BROWSER_TEST_F(IdentityGetProfileUserInfoFunctionTest,
638 NotSignedInNoEmail) {
612 scoped_ptr<api::identity::ProfileUserInfo> info = RunGetProfileUserInfo(); 639 scoped_ptr<api::identity::ProfileUserInfo> info = RunGetProfileUserInfo();
613 EXPECT_EQ("president@example.com", info->email); 640 EXPECT_TRUE(info->email.empty());
641 EXPECT_TRUE(info->id.empty());
642 }
643
644 IN_PROC_BROWSER_TEST_F(IdentityGetProfileUserInfoFunctionTest,
645 SignedInNoEmail) {
646 profile()->GetPrefs()->SetString(prefs::kGoogleServicesUsername,
647 "president@example.com");
648 profile()->GetPrefs()->SetString(prefs::kGoogleServicesUserAccountId,
649 "12345");
650
651 scoped_ptr<api::identity::ProfileUserInfo> info = RunGetProfileUserInfo();
652 EXPECT_TRUE(info->email.empty());
614 EXPECT_EQ("12345", info->id); 653 EXPECT_EQ("12345", info->id);
615 } 654 }
616 655
617 class GetAuthTokenFunctionTest : public AsyncExtensionBrowserTest { 656 class GetAuthTokenFunctionTest : public AsyncExtensionBrowserTest {
618 public: 657 public:
619 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { 658 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
620 AsyncExtensionBrowserTest::SetUpCommandLine(command_line); 659 AsyncExtensionBrowserTest::SetUpCommandLine(command_line);
621 command_line->AppendSwitch(switches::kExtensionsMultiAccount); 660 command_line->AppendSwitch(switches::kExtensionsMultiAccount);
622 } 661 }
623 662
(...skipping 1226 matching lines...) Expand 10 before | Expand all | Expand 10 after
1850 EXPECT_EQ(std::string("https://abcdefghij.chromiumapp.org/callback#test"), 1889 EXPECT_EQ(std::string("https://abcdefghij.chromiumapp.org/callback#test"),
1851 url); 1890 url);
1852 } 1891 }
1853 1892
1854 } // namespace extensions 1893 } // namespace extensions
1855 1894
1856 // Tests the chrome.identity API implemented by custom JS bindings . 1895 // Tests the chrome.identity API implemented by custom JS bindings .
1857 IN_PROC_BROWSER_TEST_F(ExtensionApiTest, ChromeIdentityJsBindings) { 1896 IN_PROC_BROWSER_TEST_F(ExtensionApiTest, ChromeIdentityJsBindings) {
1858 ASSERT_TRUE(RunExtensionTest("identity/js_bindings")) << message_; 1897 ASSERT_TRUE(RunExtensionTest("identity/js_bindings")) << message_;
1859 } 1898 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/api/identity/identity_api.cc ('k') | chrome/common/extensions/api/_api_features.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698