#!/usr/bin/env python # Copyright (c) 2012 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. import os import sys import time import pyauto_functional # Must be imported before pyauto import pyauto sys.path.append('/usr/local') # Required to import autotest libs from autotest.cros import constants class ChromeosPrefsTest(pyauto.PyUITest): """TestCase for ChromeOS Preferences.""" # Defined in src/chrome/browser/chromeos/login/user_manager.cc k_logged_in_users = 'LoggedInUsers' k_user_images = 'UserImages' k_image_path_node_name = 'path' def testAllUserImage(self): """Verify changing all available default user images in Change picture.""" logged_in_user = constants.CREDENTIALS['$default'][0] for i in range(19): image = { "index": i, "path": "" } user_images = {} user_images[logged_in_user] = image self.SetLocalStatePrefs(ChromeosPrefsTest.k_user_images, user_images) self.RestartBrowser(clear_profile=False) current_user_images = self.GetLocalStatePrefsInfo().Prefs( ChromeosPrefsTest.k_user_images) current_image = current_user_images.get(logged_in_user) self.assertEqual(image, current_image, msg='Default user image was not set in preferences.') def testCaptureUserPhoto(self): """Verify capturing/saving user photo works.""" logged_in_user = constants.CREDENTIALS['$default'][0] # Defined in src/chrome/browser/chromeos/login/user_manager.cc expected_photo_name = logged_in_user + '.png' self.CaptureProfilePhoto() for i in range(2): current_user_images = self.GetLocalStatePrefsInfo().Prefs( ChromeosPrefsTest.k_user_images) current_image_path = current_user_images.get(logged_in_user).get( ChromeosPrefsTest.k_image_path_node_name) self.assertTrue(expected_photo_name in current_image_path, msg='Captured user photo was not set in preferences.') self.assertTrue(os.path.isfile(current_image_path), msg='Image file was not saved.') and \ self.assertTrue(os.path.getsize(current_image_path) > 1000, msg='Image file may not be valid.' ) if not i: self.RestartBrowser(clear_profile=False) if __name__ == '__main__': pyauto_functional.Main()