123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- import os
- import unittest
- from mock import mock
- from kalliope import ResourcesManager
- from kalliope.core.Models import Resources
- from kalliope.core.Models.Dna import Dna
- class TestResourcesmanager(unittest.TestCase):
- def setUp(self):
- pass
- def tearDown(self):
- pass
- def test_is_settings_ok(self):
- # -----------------
- # valid resource
- # -----------------
- # valid neuron
- valid_resource = Resources()
- valid_resource.neuron_folder = "/path"
- dna = Dna()
- dna.module_type = "neuron"
- self.assertTrue(ResourcesManager.is_settings_ok(valid_resource, dna))
- # valid stt
- valid_resource = Resources()
- valid_resource.stt_folder = "/path"
- dna = Dna()
- dna.module_type = "stt"
- self.assertTrue(ResourcesManager.is_settings_ok(valid_resource, dna))
- # valid tts
- valid_resource = Resources()
- valid_resource.tts_folder = "/path"
- dna = Dna()
- dna.module_type = "tss"
- self.assertTrue(ResourcesManager.is_settings_ok(valid_resource, dna))
- # valid trigger
- valid_resource = Resources()
- valid_resource.trigger_folder = "/path"
- dna = Dna()
- dna.module_type = "trigger"
- self.assertTrue(ResourcesManager.is_settings_ok(valid_resource, dna))
- # valid signal
- valid_resource = Resources()
- valid_resource.signal_folder = "/path"
- dna = Dna()
- dna.module_type = "signal"
- self.assertTrue(ResourcesManager.is_settings_ok(valid_resource, dna))
- # -----------------
- # invalid resource
- # -----------------
- # valid neuron
- valid_resource = Resources()
- valid_resource.neuron_folder = None
- dna = Dna()
- dna.module_type = "neuron"
- self.assertFalse(ResourcesManager.is_settings_ok(valid_resource, dna))
- # valid stt
- valid_resource = Resources()
- valid_resource.stt_folder = None
- dna = Dna()
- dna.module_type = "stt"
- self.assertFalse(ResourcesManager.is_settings_ok(valid_resource, dna))
- # valid tts
- valid_resource = Resources()
- valid_resource.tts_folder = None
- dna = Dna()
- dna.module_type = "tts"
- self.assertFalse(ResourcesManager.is_settings_ok(valid_resource, dna))
- # valid trigger
- valid_resource = Resources()
- valid_resource.trigger_folder = None
- dna = Dna()
- dna.module_type = "trigger"
- self.assertFalse(ResourcesManager.is_settings_ok(valid_resource, dna))
- # valid signal
- valid_resource = Resources()
- valid_resource.signal_folder = None
- dna = Dna()
- dna.module_type = "signal"
- self.assertFalse(ResourcesManager.is_settings_ok(valid_resource, dna))
- def test_is_repo_ok(self):
- # valid repo
- if "/Tests" in os.getcwd():
- dna_file_path = "modules/dna.yml"
- install_file_path = "modules/install.yml"
- else:
- dna_file_path = "Tests/modules/dna.yml"
- install_file_path = "Tests/modules/install.yml"
- self.assertTrue(ResourcesManager.is_repo_ok(dna_file_path=dna_file_path, install_file_path=install_file_path))
- # missing dna
- if "/Tests" in os.getcwd():
- dna_file_path = ""
- install_file_path = "modules/install.yml"
- else:
- dna_file_path = "T"
- install_file_path = "Tests/modules/install.yml"
- self.assertFalse(ResourcesManager.is_repo_ok(dna_file_path=dna_file_path, install_file_path=install_file_path))
- # missing install
- if "/Tests" in os.getcwd():
- dna_file_path = "modules/dna.yml"
- install_file_path = ""
- else:
- dna_file_path = "Tests/modules/dna.yml"
- install_file_path = ""
- self.assertFalse(ResourcesManager.is_repo_ok(dna_file_path=dna_file_path, install_file_path=install_file_path))
- def test_get_target_folder(self):
- # test get neuron folder
- resources = Resources()
- resources.neuron_folder = '/var/tmp/test/resources'
- self.assertEqual(ResourcesManager._get_target_folder(resources, "neuron"), "/var/tmp/test/resources")
- # test get stt folder
- resources = Resources()
- resources.stt_folder = '/var/tmp/test/resources'
- self.assertEqual(ResourcesManager._get_target_folder(resources, "stt"), "/var/tmp/test/resources")
- # test get tts folder
- resources = Resources()
- resources.tts_folder = '/var/tmp/test/resources'
- self.assertEqual(ResourcesManager._get_target_folder(resources, "tts"), "/var/tmp/test/resources")
- # test get trigger folder
- resources = Resources()
- resources.trigger_folder = '/var/tmp/test/resources'
- self.assertEqual(ResourcesManager._get_target_folder(resources, "trigger"), "/var/tmp/test/resources")
- # test get signal folder
- resources = Resources()
- resources.signal_folder = '/var/tmp/test/resources'
- self.assertEqual(ResourcesManager._get_target_folder(resources, "signal"), "/var/tmp/test/resources")
- # test get non existing resource
- resources = Resources()
- self.assertIsNone(ResourcesManager._get_target_folder(resources, "not_existing"))
- def test_check_supported_version(self):
- # version ok
- current_version = '0.4.0'
- supported_version = ['0.4', '0.3', '0.2']
- self.assertTrue(ResourcesManager._check_supported_version(current_version=current_version,
- supported_versions=supported_version))
- # version ok
- current_version = '11.23.0'
- supported_version = ['11.23', '12.3', '2.23']
- self.assertTrue(ResourcesManager._check_supported_version(current_version=current_version,
- supported_versions=supported_version))
- # version non ok, user does not config
- # Testing with integer values instead of string
- current_version = '0.4.0'
- supported_version = [0.3, 0.2]
- with mock.patch('kalliope.Utils.query_yes_no', return_value=True):
- self.assertTrue(ResourcesManager._check_supported_version(current_version=current_version,
- supported_versions=supported_version))
- with mock.patch('kalliope.Utils.query_yes_no', return_value=False):
- self.assertFalse(ResourcesManager._check_supported_version(current_version=current_version,
- supported_versions=supported_version))
|