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 5import os 6 7from autotest_lib.client.bin import test 8from autotest_lib.client.common_lib import error 9from autotest_lib.client.common_lib.cros import chrome 10from autotest_lib.client.cros import cryptohome 11 12TEST_USER = 'cryptohome_test@chromium.org' 13TEST_PASS = 'testme' 14 15class 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