Skip to content

Commit

Permalink
Add tests for version upgrade
Browse files Browse the repository at this point in the history
  • Loading branch information
balloob committed Nov 15, 2015
1 parent 700b7ba commit 0f68dc6
Showing 1 changed file with 45 additions and 1 deletion.
46 changes: 45 additions & 1 deletion tests/test_bootstrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,13 @@
Tests bootstrap.
"""
# pylint: disable=too-many-public-methods,protected-access
import os
import tempfile
import unittest
from unittest import mock

from homeassistant import bootstrap
from homeassistant import core, bootstrap
from homeassistant.const import __version__
import homeassistant.util.dt as dt_util

from tests.common import mock_detect_location_info
Expand Down Expand Up @@ -39,3 +41,45 @@ def test_from_config_file(self):

self.assertEqual(sorted(components),
sorted(hass.config.components))

def test_remove_lib_on_upgrade(self):
with tempfile.TemporaryDirectory() as config_dir:
version_path = os.path.join(config_dir, '.HA_VERSION')
lib_dir = os.path.join(config_dir, 'lib')
check_file = os.path.join(lib_dir, 'check')

with open(version_path, 'wt') as outp:
outp.write('0.7.0')

os.mkdir(lib_dir)

with open(check_file, 'w'):
pass

hass = core.HomeAssistant()
hass.config.config_dir = config_dir

self.assertTrue(os.path.isfile(check_file))
bootstrap.process_ha_config_upgrade(hass)
self.assertFalse(os.path.isfile(check_file))

def test_not_remove_lib_if_not_upgrade(self):
with tempfile.TemporaryDirectory() as config_dir:
version_path = os.path.join(config_dir, '.HA_VERSION')
lib_dir = os.path.join(config_dir, 'lib')
check_file = os.path.join(lib_dir, 'check')

with open(version_path, 'wt') as outp:
outp.write(__version__)

os.mkdir(lib_dir)

with open(check_file, 'w'):
pass

hass = core.HomeAssistant()
hass.config.config_dir = config_dir

bootstrap.process_ha_config_upgrade(hass)

self.assertTrue(os.path.isfile(check_file))

0 comments on commit 0f68dc6

Please sign in to comment.