1#!/usr/bin/python3 2# Copyright 2017 The Chromium OS Authors. All rights reserved. 3# Use of this source code is governed by a BSD-style license that can be 4# found in the LICENSE file. 5 6import unittest 7from unittest import mock 8 9import common 10from autotest_lib.site_utils.admin_audit import constants 11from autotest_lib.site_utils.admin_audit import verifiers 12from autotest_lib.server.cros.storage import storage_validate as storage 13 14# pylint: disable=missing-docstring 15 16 17class StubHost(object): 18 """Simple host""" 19 def is_up(self, **args): 20 return True 21 22 def run(self, **args): 23 return '' 24 25 26class StubStorageStateValidator(object): 27 def get_type(self): 28 return "some_type" 29 30 def get_state(self, run_badblocks=None): 31 return storage.STORAGE_STATE_WARNING 32 33 34class VerifyDutStorageTests(unittest.TestCase): 35 """Unit tests for ServoTypeLabel""" 36 def test_state_is_none_till_run_verify(self): 37 host = StubHost() 38 verify = verifiers.VerifyDutStorage(host) 39 self.assertEqual(verify.get_state(), None) 40 41 @mock.patch('autotest_lib.server.cros.storage.' 42 'storage_validate.StorageStateValidator') 43 def test_get_state_after_runverify(self, validator): 44 validator.return_value = StubStorageStateValidator() 45 host = StubHost() 46 verify = verifiers.VerifyDutStorage(host) 47 verify.verify(set_label=False) 48 self.assertEqual(verify.get_state(), constants.HW_STATE_ACCEPTABLE) 49 50 51if __name__ == '__main__': 52 unittest.main() 53