xref: /aosp_15_r20/external/autotest/site_utils/admin_audit/verifiers_unittest.py (revision 9c5db1993ded3edbeafc8092d69fe5de2ee02df7)
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