"""The tests for the Vultr component.""" from copy import deepcopy import json import unittest from unittest.mock import patch import requests_mock from homeassistant import setup import homeassistant.components.vultr as vultr from tests.common import ( get_test_home_assistant, load_fixture) VALID_CONFIG = { 'vultr': { 'api_key': 'ABCDEFG1234567' } } class TestVultr(unittest.TestCase): """Tests the Vultr component.""" def setUp(self): """Initialize values for this test case class.""" self.hass = get_test_home_assistant() self.config = VALID_CONFIG def tearDown(self): # pylint: disable=invalid-name """Stop everything that we started.""" self.hass.stop() @requests_mock.Mocker() def test_setup(self, mock): """Test successful setup.""" with patch( 'vultr.Vultr.server_list', return_value=json.loads( load_fixture('vultr_server_list.json'))): response = vultr.setup(self.hass, self.config) assert response def test_setup_no_api_key(self): """Test failed setup with missing API Key.""" conf = deepcopy(self.config) del conf['vultr']['api_key'] assert not setup.setup_component(self.hass, vultr.DOMAIN, conf)