Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / tools / telemetry / telemetry / core / backends / form_based_credentials_backend_unittest_base.py
index 483ce2b..ef292d6 100644 (file)
@@ -6,7 +6,7 @@ import logging
 import os
 import unittest
 
-from telemetry import test
+from telemetry import benchmark
 from telemetry.core import browser_finder
 from telemetry.core import util
 from telemetry.unittest import options_for_unittests
@@ -28,7 +28,7 @@ class FormBasedCredentialsBackendUnitTestBase(unittest.TestCase):
   def setUp(self):
     self._credentials_type = None
 
-  @test.Disabled
+  @benchmark.Disabled
   def testRealLoginIfPossible(self):
     credentials_path = _GetCredentialsPath()
     if not credentials_path:
@@ -43,7 +43,7 @@ class FormBasedCredentialsBackendUnitTestBase(unittest.TestCase):
       ret = b.credentials.LoginNeeded(b.tabs[0], self._credentials_type)
       self.assertTrue(ret)
 
-  @test.Disabled
+  @benchmark.Disabled
   def testRealLoginWithDontOverrideProfileIfPossible(self):
     credentials_path = _GetCredentialsPath()
     if not credentials_path:
@@ -95,18 +95,23 @@ class FormBasedCredentialsBackendUnitTestBase(unittest.TestCase):
     raise NotImplementedError()
 
   def _LoginUsingMock(self, backend, login_page_url, email_element_id,
-                      password_element_id): # pylint: disable=R0201
+                      password_element_id, form_element_id,
+                      already_logged_in_js): # pylint: disable=R0201
     tab = simple_mock.MockObject()
+    ar = simple_mock.MockObject()
 
     config = {'username': 'blah',
               'password': 'blargh'}
 
     tab.ExpectCall('Navigate', login_page_url)
-    tab.ExpectCall('EvaluateJavaScript', _).WillReturn(False)
-    tab.ExpectCall('EvaluateJavaScript', _).WillReturn(True)
-    tab.ExpectCall('EvaluateJavaScript', _).WillReturn(False)
+    tab.ExpectCall('EvaluateJavaScript', already_logged_in_js).WillReturn(False)
     tab.ExpectCall('WaitForDocumentReadyStateToBeInteractiveOrBetter')
 
+    ar.ExpectCall('WaitForJavaScriptCondition',
+                  '(document.querySelector("#%s") !== null) || (%s)' % (
+                      form_element_id, already_logged_in_js), 60)
+    ar.ExpectCall('WaitForNavigate')
+
     def VerifyEmail(js):
       assert email_element_id in js
       assert 'blah' in js
@@ -118,10 +123,10 @@ class FormBasedCredentialsBackendUnitTestBase(unittest.TestCase):
     tab.ExpectCall('ExecuteJavaScript', _).WhenCalled(VerifyPw)
 
     def VerifySubmit(js):
-      assert '.submit' in js
+      assert '.submit' in js or '.click' in js
     tab.ExpectCall('ExecuteJavaScript', _).WhenCalled(VerifySubmit)
 
     # Checking for form still up.
     tab.ExpectCall('EvaluateJavaScript', _).WillReturn(False)
 
-    backend.LoginNeeded(tab, config)
+    backend.LoginNeeded(tab, ar, config)