site_utils_unittest.py revision 70647cafbd061a7754ac304fd9dc067f2b6dbab4
1# Copyright 2015 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 unittest 6 7import common 8from autotest_lib.frontend import setup_django_lite_environment 9from autotest_lib.frontend.afe import site_rpc_interface 10from autotest_lib.server import site_utils 11from autotest_lib.server.cros.dynamic_suite import tools 12 13 14class SiteUtilsUnittests(unittest.TestCase): 15 """Test functions in site_utils.py 16 """ 17 18 def testParseJobName(self): 19 """Test method parse_job_name. 20 """ 21 trybot_paladin_build = 'trybot-lumpy-paladin/R27-3837.0.0-b123' 22 trybot_release_build = 'trybot-lumpy-release/R27-3837.0.0-b456' 23 release_build = 'lumpy-release/R27-3837.0.0' 24 paladin_build = 'lumpy-paladin/R27-3878.0.0-rc7' 25 26 builds = [trybot_paladin_build, trybot_release_build, release_build, 27 paladin_build] 28 test_name = 'login_LoginSuccess' 29 board = 'lumpy' 30 suite = 'bvt' 31 for build in builds: 32 expected_info = {'board': board, 33 'suite': suite, 34 'build': build, 35 'build_version': build.split('/')[1]} 36 suite_job_name = ('%s-%s' % 37 (build, site_rpc_interface.canonicalize_suite_name(suite))) 38 info = site_utils.parse_job_name(suite_job_name) 39 self.assertEqual(info, expected_info, '%s failed to be parsed to ' 40 '%s' % (suite_job_name, expected_info)) 41 test_job_name = tools.create_job_name(build, suite, test_name) 42 info = site_utils.parse_job_name(test_job_name) 43 self.assertEqual(info, expected_info, '%s failed to be parsed to ' 44 '%s' % (test_job_name, expected_info)) 45 46 47if __name__ == '__main__': 48 unittest.main() 49