Home | History | Annotate | Download | only in server
      1 #!/usr/bin/python
      2 # Copyright 2016 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 
      6 import unittest
      7 
      8 import common
      9 from autotest_lib.server import afe_utils
     10 from autotest_lib.server import site_utils
     11 
     12 
     13 class MockHost(object):
     14     """
     15     Object to represent host used to test afe_util.py methods.
     16     """
     17 
     18     def __init__(self, labels=[]):
     19       """
     20       Setup the self._afe_host attribute since that's what we're mostly using.
     21       """
     22       self._afe_host = site_utils.EmptyAFEHost()
     23       self._afe_host.labels = labels
     24 
     25 
     26 class AfeUtilsUnittest(unittest.TestCase):
     27     """
     28     Test functions in afe_utils.py.
     29     """
     30 
     31     def testGetLabels(self):
     32         """
     33         Test method get_labels returns expected labels.
     34         """
     35         prefix = 'prefix'
     36         expected_labels = [prefix + ':' + str(i) for i in range(5)]
     37         all_labels = []
     38         all_labels += expected_labels
     39         all_labels += [str(i) for i in range(6, 9)]
     40         host = MockHost(labels=all_labels)
     41         got_labels = afe_utils.get_labels(host, prefix)
     42 
     43         self.assertItemsEqual(got_labels, expected_labels)
     44 
     45 
     46     def testGetLabelsAll(self):
     47         """
     48         Test method get_labels returns all labels.
     49         """
     50         prefix = 'prefix'
     51         prefix_labels = [prefix + ':' + str(i) for i in range(5)]
     52         all_labels = []
     53         all_labels += prefix_labels
     54         all_labels += [str(i) for i in range(6, 9)]
     55         host = MockHost(labels=all_labels)
     56         got_labels = afe_utils.get_labels(host)
     57 
     58         self.assertItemsEqual(got_labels, all_labels)
     59 
     60 
     61 if __name__ == '__main__':
     62     unittest.main()
     63 
     64