Skip to content
This repository has been archived by the owner on Sep 8, 2024. It is now read-only.

Commit

Permalink
Merge pull request #2528 from forslund/bugfix/uploaded-version
Browse files Browse the repository at this point in the history
Fallback to internal version if no version file exists
  • Loading branch information
forslund committed Apr 3, 2020
2 parents f01b61e + b3ce33a commit 83b0de5
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 17 deletions.
2 changes: 1 addition & 1 deletion mycroft/version/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ def get():
return json.load(f)
except Exception:
LOG.error("Failed to load version from '%s'" % version_file)
return {"coreVersion": None, "enclosureVersion": None}
return {"coreVersion": CORE_VERSION_STR, "enclosureVersion": None}


def check_version(version_string):
Expand Down
35 changes: 19 additions & 16 deletions test/unittests/version/test_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,9 @@
# limitations under the License.
#
import unittest

from unittest.mock import mock_open, patch

import mycroft.version
from mycroft.version import check_version, CORE_VERSION_STR, VersionManager


VERSION_INFO = """
Expand All @@ -34,32 +33,36 @@ def test_get_version(self):
Assures that only lower versions return True
"""
self.assertTrue(mycroft.version.check_version('0.0.1'))
self.assertTrue(mycroft.version.check_version('0.8.1'))
self.assertTrue(mycroft.version.check_version('0.8.20'))
self.assertFalse(mycroft.version.check_version('0.8.22'))
self.assertFalse(mycroft.version.check_version('0.9.12'))
self.assertFalse(mycroft.version.check_version('1.0.2'))
self.assertTrue(check_version('0.0.1'))
self.assertTrue(check_version('0.8.1'))
self.assertTrue(check_version('0.8.20'))
self.assertFalse(check_version('0.8.22'))
self.assertFalse(check_version('0.9.12'))
self.assertFalse(check_version('1.0.2'))

@patch('mycroft.version.isfile')
@patch('mycroft.version.exists')
@patch('mycroft.version.open',
mock_open(read_data=VERSION_INFO), create=True)
def test_version_manager(self, mock_exists, mock_isfile):
"""
Test mycroft.version.VersionManager.get()
def test_version_manager_get(self, mock_exists, mock_isfile):
"""Test mycroft.version.VersionManager.get()
asserts that the method returns expected data
Asserts that the method returns data from version file
"""
mock_isfile.return_value = True
mock_exists.return_value = True

version = mycroft.version.VersionManager.get()
version = VersionManager.get()
self.assertEqual(version['coreVersion'], "1505203453")
self.assertEqual(version['enclosureVersion'], "1.0.0")

# Check file not existing case
@patch('mycroft.version.exists')
def test_version_manager_get_no_file(self, mock_exists):
"""Test mycroft.version.VersionManager.get()
Asserts that the method returns current version if no file exists.
"""
mock_exists.return_value = False
version = mycroft.version.VersionManager.get()
self.assertEqual(version['coreVersion'], None)
version = VersionManager.get()
self.assertEqual(version['coreVersion'], CORE_VERSION_STR)
self.assertEqual(version['enclosureVersion'], None)

0 comments on commit 83b0de5

Please sign in to comment.