示例#1
0
 def test_valid_serial_schema(self):
     """Test valid schema."""
     valid_schema = {
         'platform': 'blackbird',
         'port': '/dev/ttyUSB0',
         'zones': {
             1: {
                 'name': 'a'
             },
             2: {
                 'name': 'a'
             },
             3: {
                 'name': 'a'
             },
             4: {
                 'name': 'a'
             },
             5: {
                 'name': 'a'
             },
             6: {
                 'name': 'a'
             },
             7: {
                 'name': 'a'
             },
             8: {
                 'name': 'a'
             },
         },
         'sources': {
             1: {
                 'name': 'a'
             },
             2: {
                 'name': 'a'
             },
             3: {
                 'name': 'a'
             },
             4: {
                 'name': 'a'
             },
             5: {
                 'name': 'a'
             },
             6: {
                 'name': 'a'
             },
             7: {
                 'name': 'a'
             },
             8: {
                 'name': 'a'
             },
         }
     }
     PLATFORM_SCHEMA(valid_schema)
示例#2
0
 def test_valid_socket_schema(self):
     """Test valid schema."""
     valid_schema = {
         'platform': 'blackbird',
         'host': '192.168.1.50',
         'zones': {
             1: {
                 'name': 'a'
             },
             2: {
                 'name': 'a'
             },
             3: {
                 'name': 'a'
             },
             4: {
                 'name': 'a'
             },
             5: {
                 'name': 'a'
             },
         },
         'sources': {
             1: {
                 'name': 'a'
             },
             2: {
                 'name': 'a'
             },
             3: {
                 'name': 'a'
             },
             4: {
                 'name': 'a'
             },
         }
     }
     PLATFORM_SCHEMA(valid_schema)
示例#3
0
 def test_invalid_schemas(self):
     """Test invalid schemas."""
     schemas = (
         {},  # Empty
         None,  # None
         # Port and host used concurrently
         {
             'platform': 'blackbird',
             'port': '/dev/ttyUSB0',
             'host': '192.168.1.50',
             'name': 'Name',
             'zones': {
                 1: {
                     'name': 'a'
                 }
             },
             'sources': {
                 1: {
                     'name': 'b'
                 }
             },
         },
         # Port or host missing
         {
             'platform': 'blackbird',
             'name': 'Name',
             'zones': {
                 1: {
                     'name': 'a'
                 }
             },
             'sources': {
                 1: {
                     'name': 'b'
                 }
             },
         },
         # Invalid zone number
         {
             'platform': 'blackbird',
             'port': '/dev/ttyUSB0',
             'name': 'Name',
             'zones': {
                 11: {
                     'name': 'a'
                 }
             },
             'sources': {
                 1: {
                     'name': 'b'
                 }
             },
         },
         # Invalid source number
         {
             'platform': 'blackbird',
             'port': '/dev/ttyUSB0',
             'name': 'Name',
             'zones': {
                 1: {
                     'name': 'a'
                 }
             },
             'sources': {
                 9: {
                     'name': 'b'
                 }
             },
         },
         # Zone missing name
         {
             'platform': 'blackbird',
             'port': '/dev/ttyUSB0',
             'name': 'Name',
             'zones': {
                 1: {}
             },
             'sources': {
                 1: {
                     'name': 'b'
                 }
             },
         },
         # Source missing name
         {
             'platform': 'blackbird',
             'port': '/dev/ttyUSB0',
             'name': 'Name',
             'zones': {
                 1: {
                     'name': 'a'
                 }
             },
             'sources': {
                 1: {}
             },
         },
     )
     for value in schemas:
         with pytest.raises(vol.MultipleInvalid):
             PLATFORM_SCHEMA(value)