Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / chromeos / login / login_manager_test.h
index 8504acb..17108a3 100644 (file)
@@ -5,9 +5,11 @@
 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_LOGIN_MANAGER_TEST_H_
 #define CHROME_BROWSER_CHROMEOS_LOGIN_LOGIN_MANAGER_TEST_H_
 
+#include <string>
+
+#include "chrome/browser/chromeos/login/mixin_based_browser_test.h"
 #include "chrome/browser/chromeos/login/mock_login_utils.h"
 #include "chrome/browser/chromeos/login/test/js_checker.h"
-#include "chrome/test/base/in_process_browser_test.h"
 
 namespace content {
 class WebContents;
@@ -15,46 +17,47 @@ class WebContents;
 
 namespace chromeos {
 
+class UserContext;
+
 // Base class for Chrome OS out-of-box/login WebUI tests.
 // If no special configuration is done launches out-of-box WebUI.
 // To launch login UI use PRE_* test that will register user(s) and mark
 // out-of-box as completed.
 // Guarantees that WebUI has been initialized by waiting for
 // NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE notification.
-class LoginManagerTest : public InProcessBrowserTest {
+class LoginManagerTest : public MixinBasedBrowserTest {
  public:
   explicit LoginManagerTest(bool should_launch_browser);
 
   // Overriden from InProcessBrowserTest.
-  virtual void CleanUpOnMainThread() OVERRIDE;
-  virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE;
-  virtual void SetUpInProcessBrowserTestFixture() OVERRIDE;
-  virtual void SetUpOnMainThread() OVERRIDE;
+  virtual void TearDownOnMainThread() override;
+  virtual void SetUpCommandLine(base::CommandLine* command_line) override;
+  virtual void SetUpInProcessBrowserTestFixture() override;
+  virtual void SetUpOnMainThread() override;
 
-  // Registers user with given |username| on device.
-  // Should be called in PRE_* test.
-  // TODO(dzhioev): add ability to register users without PRE_* test.
-  void RegisterUser(const std::string& username);
+  // Registers the user with the given |user_id| on the device.
+  // This method should be called in PRE_* test.
+  // TODO(dzhioev): Add the ability to register users without a PRE_* test.
+  void RegisterUser(const std::string& user_id);
 
   // Set expected credentials for next login attempt.
-  void SetExpectedCredentials(const std::string& username,
-                              const std::string& password);
+  void SetExpectedCredentials(const UserContext& user_context);
 
-  // Tries to login with |username| and |password|. Returns false if attempt
-  // has failed.
-  bool TryToLogin(const std::string& username, const std::string& password);
+  // Tries to login with the credentials in |user_context|. The return value
+  // indicates whether the login attempt succeeded.
+  bool TryToLogin(const UserContext& user_context);
 
-  // Tries to add user to session with |username| and |password|. Returns false
-  // if attempt has failed. this function does the same as TryToLogin but
-  // doesn't check that new user become active user.
-  bool AddUserTosession(const std::string& username,
-                        const std::string& password);
+  // Tries to add the user identified and authenticated by |user_context| to the
+  // session. The return value indicates whether the attempt succeeded. This
+  // method does the same as TryToLogin() but doesn't verify that the new user
+  // has become the active user.
+  bool AddUserToSession(const UserContext& user_context);
 
-  // Login user with |username|. User should be registered using RegisterUser().
-  void LoginUser(const std::string& username);
+  // Log in user with |user_id|. User should be registered using RegisterUser().
+  void LoginUser(const std::string& user_id);
 
-  // Add user with |username| to session.
-  void AddUser(const std::string& username);
+  // Add user with |user_id| to session.
+  void AddUser(const std::string& user_id);
 
   // Executes given JS |expression| in |web_contents_| and checks
   // that it is true.
@@ -64,6 +67,8 @@ class LoginManagerTest : public InProcessBrowserTest {
 
   content::WebContents* web_contents() { return web_contents_; }
 
+  test::JSChecker& js_checker() { return js_checker_; }
+
  private:
   void InitializeWebContents();