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)
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)
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)