• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/env python
2#
3# Copyright 2018, The Android Open Source Project
4#
5# Licensed under the Apache License, Version 2.0 (the 'License');
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9#     http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an 'AS IS' BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17"""Unittests for test_mapping"""
18
19import unittest
20
21import test_mapping
22import unittest_constants as uc
23
24
25class TestMappingUnittests(unittest.TestCase):
26    """Unit tests for test_mapping.py"""
27
28    def test_parsing(self):
29        """Test creating TestDetail object"""
30        detail = test_mapping.TestDetail(uc.TEST_MAPPING_TEST)
31        self.assertEqual(uc.TEST_MAPPING_TEST['name'], detail.name)
32        self.assertTrue(detail.host)
33        self.assertEqual([], detail.options)
34
35    def test_parsing_with_option(self):
36        """Test creating TestDetail object with option configured"""
37        detail = test_mapping.TestDetail(uc.TEST_MAPPING_TEST_WITH_OPTION)
38        self.assertEqual(uc.TEST_MAPPING_TEST_WITH_OPTION['name'], detail.name)
39        self.assertEqual(uc.TEST_MAPPING_TEST_WITH_OPTION_STR, str(detail))
40
41    def test_parsing_with_bad_option(self):
42        """Test creating TestDetail object with bad option configured"""
43        with self.assertRaises(Exception) as context:
44            test_mapping.TestDetail(uc.TEST_MAPPING_TEST_WITH_BAD_OPTION)
45        self.assertEqual(
46            'Each option can only have one key.', str(context.exception))
47
48    def test_parsing_with_bad_host_value(self):
49        """Test creating TestDetail object with bad host value configured"""
50        with self.assertRaises(Exception) as context:
51            test_mapping.TestDetail(uc.TEST_MAPPING_TEST_WITH_BAD_HOST_VALUE)
52        self.assertEqual(
53            'host can only have boolean value.', str(context.exception))
54
55if __name__ == '__main__':
56    unittest.main()
57