Home | History | Annotate | Download | only in login_Cryptohome
      1 # Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 import os
      6 
      7 from autotest_lib.client.bin import test
      8 from autotest_lib.client.common_lib import error
      9 from autotest_lib.client.common_lib.cros import chrome
     10 from autotest_lib.client.cros import cryptohome
     11 
     12 TEST_USER = 'cryptohome_test (at] chromium.org'
     13 TEST_PASS = 'testme'
     14 
     15 class login_Cryptohome(test.test):
     16     """Verify the cryptohome is mounted only after login."""
     17     version = 1
     18 
     19 
     20     def run_once(self):
     21         username = ''
     22         with chrome.Chrome() as cr:
     23             username = cr.username
     24             if not cryptohome.is_permanent_vault_mounted(username):
     25                 raise error.TestFail('Expected to find a mounted vault.')
     26 
     27         if cryptohome.is_vault_mounted(user=username,
     28                                        allow_fail=True):
     29             raise error.TestFail('Expected to not find a mounted vault.')
     30 
     31         # Remove our vault, mount another vault, create a test file
     32         # in the other vault, and ensure that the file no longer exists
     33         # after we log back in.
     34         cryptohome.remove_vault(username)
     35 
     36         cryptohome.mount_vault(TEST_USER, TEST_PASS, create=True)
     37         test_file = os.path.join(cryptohome.user_path(TEST_USER), 'hello')
     38         open(test_file, 'w').close()
     39         cryptohome.unmount_vault(TEST_USER)
     40 
     41         with chrome.Chrome():
     42             if not cryptohome.is_permanent_vault_mounted(username):
     43                 raise error.TestFail('Expected to find user\'s mounted vault.')
     44             if os.path.exists(test_file):
     45                 raise error.TestFail('Expected to not find the test file.')
     46 
     47         cryptohome.remove_vault(TEST_USER)
     48