Commit Graph

665 Commits (bugfix/intent-match-order)

Author SHA1 Message Date
Åke Forslund 9173e22460 Send correct conf to mimic when used as fallback
- Mimic is now sent the correct config when used as a fallback
- Tests updated to ensure this
2021-02-08 22:09:55 +01:00
Åke Forslund 56852594cc Add test cases for the SkillApi
- Tests for the MycroftSkill side implementation
- Tests for the generated SkillApi objects
2021-02-08 07:37:50 +01:00
Kris Gesling b1be522972
Merge pull request #2820 from MycroftAI/feature/gui-get
Feature/gui get
2021-02-05 14:41:03 +09:30
Kris Gesling cae1cb751f Extend GUI interface unittests 2021-02-04 16:12:22 +09:30
Kris Gesling bfe2b59f90 Add get method for accessing GUI values 2021-02-04 16:12:22 +09:30
Chris Veilleux 5fe7949bfd Added code to pass the packaging_type config to the pairing code endpoint. This was done to know if a device uses a Pantacor image. Selene will use this information to retrieve device information from Pantacor using their API. 2021-02-02 19:27:01 -06:00
Chris Veilleux dcf54c0cc3 Refactored to abstract out duplicate code. 2021-02-02 19:22:20 -06:00
Åke Forslund 166e36fa84 Improve logic when waiting for play calls
Add logic to ensure the play_* functions are called at least once before
checking the call status.
2021-02-01 23:02:34 +01:00
Åke Forslund 3ede156c98 Only stop speaking if speaking is active
This also updates the relevant testcase
2021-02-01 20:26:44 +01:00
Åke Forslund 93747a13ed Remove is_alive and all_loaded registration test 2021-01-28 17:24:21 +01:00
Åke Forslund eeb44ede9a Add test cases for ProcessStatus 2021-01-28 17:21:33 +01:00
Åke 99f43b964e
Merge pull request #2808 from MycroftAI/feature/vk-wait-for-service-msg
Add VK method to wait for audio service
2021-01-18 07:33:27 +01:00
Kris Gesling 89555380d8 Add VK method to wait for audio service 2021-01-18 11:16:41 +09:30
Åke Forslund 375adbbdf0 Make audioservice load backends without callback 2021-01-15 13:49:40 +01:00
Kris Gesling 5e9b1ac24b
Merge pull request #2801 from MycroftAI/bugfix/mimic2-cache-dir
Bugfix/mimic2 cache dir
2021-01-15 11:43:04 +09:30
Åke Forslund 83ed811dba Add check to make sure speak message has metadata
This can occur if a custom made speak message is injected and VK should
handle malformed speak messages.
2021-01-10 21:03:25 +01:00
Åke Forslund 35fd035337 Add timeout waiting for config change 2021-01-10 21:02:54 +01:00
Kris Gesling 54eac52b11 merge dev into mark-2 branch 2021-01-06 22:17:25 +09:30
JarbasAI f1d7141bf2
fix/intent_api (#2786)
* fix/fix/intent_api

* get active skills

* fix/intent_api

* fix/intent_api

* typos

Co-authored-by: jarbasal <jarbasai@mailfence.com>
2020-12-31 12:56:44 +09:30
Kris Gesling fd5c8bb5e3 Merge branch 'dev' into feature/mark-2 2020-12-29 14:31:09 +09:30
Kris Gesling b0884301a3
Merge pull request #2734 from MycroftAI/feat/skill_settings_sync
skill settings sync flag
2020-12-02 10:45:45 +09:30
Åke Forslund 843de8b64f Base Mock config on the defualt config
This makes sure all config parameters are available.
2020-12-01 23:56:15 +11:00
Åke Forslund 21425da543 Add test for anonymous AdaptIntent 2020-11-24 11:02:52 +01:00
Kris Gesling f2b7b0251b
Merge pull request #2757 from forslund/feature/ready-check
Feature: add Process Status and ensure all services ready
2020-11-12 09:16:43 +09:30
Kris Gesling 8b107ce733
Merge pull request #2742 from forslund/bugfix/vk-reset-config-spam
Fix Voight kampff reset of patched config
2020-11-06 14:38:28 +09:30
Åke Forslund dfe909aa2e Add a log for when config is patched
Since we have a reset log a matching info message for when updating the
config should be shown
2020-10-29 08:05:32 +01:00
Åke Forslund 3de34003cf Use custom cleanup to reset patched config
original_config will now only live in the scenario part of the context
being automatically cleared at the end of each scenario. To reset the
patch a custom cleanup is added when the patch is performed.
2020-10-29 08:05:28 +01:00
Kris Gesling e0c7016b4d revert a temporary bugfix from PR #2626 2020-10-28 16:30:10 +09:30
Åke Forslund 0a9de0ab7c Update to pyee 8.1.0
pyee 8.1.0 adds a small change to make the once call to be more safe in
multithreaded environments.

This switches back from the now deprecated BaseEventEmitter to the
standard EventEmitter.
2020-10-22 11:43:06 +02:00
Kris Gesling 8a1b989935
Merge pull request #2594 from forslund/feature/plugin-system
Plugin system for stt, tts, audioservices and wake word engines
2020-10-19 15:41:35 +09:30
Åke Forslund 7c4a3fa2f2 Remove is_alive and all_loaded registration test 2020-09-27 09:58:08 +02:00
Åke Forslund 48d1153c0c Add test cases for ProcessStatus 2020-09-25 06:52:27 +02:00
Åke Forslund bb4e705d64 Add unittests for the plugin util 2020-09-23 07:46:13 +02:00
Kris Gesling ae72ebd247
Merge pull request #2599 from forslund/refactor/intent-service
Refactor intent service
2020-09-23 10:24:16 +09:30
katridi 6e197d0138
Bugfix/issue 2563 (#2692)
* Issue-2563 Added fallback to english model
* Added test case for checking config set up
* Added more descriptive log message
2020-09-22 15:01:01 +09:30
Åke Forslund 2debf2a7b7 Add basic test cases for gui interface 2020-09-18 07:26:21 +02:00
katridi a185a9a4bf
Issue-2567 - Fixing not initialized dialog_render (#2685)
Fixes #2567
2020-09-15 22:10:39 +09:30
Åke Forslund fc3d8ce801 Add MontonicEvent class
This handles jumps forward in time correctly
2020-09-10 13:26:25 +02:00
Kris Gesling 52b908f350
Merge pull request #2663 from forslund/feature/given-timeout
Voight Kampff given timeout
2020-09-09 14:32:25 +09:30
Kris Gesling 3eee84f053
Merge pull request #2679 from forslund/refactor/remove-imp
Refactor/remove imp
2020-08-24 01:28:34 +00:00
Åke Forslund e2a7fe9b2a Load test environment with importlib instead of imp 2020-08-21 08:00:57 +02:00
Kris Gesling a3a869b883
Merge pull request #2672 from MycroftAI/remove/string-utils
Remove unnecessary string utils
2020-08-21 00:32:08 +00:00
Kris Gesling cb2531c81c
Merge pull request #2671 from MycroftAI/remove/dialog-loader
remove deprecated DialogLoader class
2020-08-21 00:31:45 +00:00
Åke Forslund 8a8caa555d Add test cases for the api methods 2020-08-20 14:38:58 +02:00
Kris Gesling 666178c483 remove unnecessary remove_last_slash method 2020-08-18 23:06:42 +09:30
Kris Gesling ed46311cd8 remove unnecessary get_http method 2020-08-18 23:04:53 +09:30
Kris Gesling 2643caadf8 remove previously deprecated DialogLoader class 2020-08-18 22:56:34 +09:30
Kris Gesling ac8e10898f remove deprecated ThreadedEventEmitter 2020-08-18 16:00:51 +09:30
Kris Gesling d70c425854 switch deprecated EventEmitter to other classes 2020-08-18 15:58:42 +09:30
Åke Forslund 9b4e47567e Add context parameter to wait_for_dialog
This allows wait for dialog to respect the timeout set for the current
scenario.
2020-08-16 23:34:29 +02:00
Åke Forslund 03002bcf47 Add "given a timeout of X seconds"
The new given sets the timeout of the steps in a scenario. The timeout is reset after each scenario.
2020-08-16 23:16:51 +02:00
Åke Forslund e93d23f0df Split out adapt from the intent_service. 2020-08-13 08:12:53 +02:00
Åke Forslund 6edaa58558 set active lang to configured if missing from STT
If the STT doesn't send a lang code fallback to configured language
instead of hardcoded en-us
2020-08-10 07:41:44 +02:00
Kris Gesling 6f33cc0553
Merge pull request #2626 from MycroftAI/bugfix/random-vk-fail
sleep after skills loaded for any final setup
2020-07-17 23:03:02 +09:30
Kris Gesling d4abc37861 sleep prior to tests to assist in bug diagnosis 2020-07-17 15:53:59 +09:30
Kris Gesling 77f1eaf3c8
Merge pull request #2541 from forslund/bugfix/jenkins-file-no-dockerfile-copy
CI: Use the docker -f flag instead of copying the Dockerfile
2020-07-07 16:15:21 +09:30
Åke Forslund b7d709c3c8 Add wait_for_message() method to messagebus client
- Refactor message waiting into a MessageWaiter class to be able to use the
  same code in both wait_for_message and wait_for_response.
- Add some basic unittests
2020-07-05 09:28:17 +02:00
Åke Forslund ff1f07288e Rename Dockerfile.test to Dockerfile 2020-07-01 07:22:50 +02:00
Kris Gesling 247c6d30a3 add test - specific skill should not reply 2020-06-18 22:33:22 +09:30
Åke a0c7ea7caf
Merge pull request #2560 from forslund/refactor/settings-cleanup
Refactor settings cleanup
2020-05-31 13:37:34 +02:00
Åke 16145909a8
Merge pull request #2589 from forslund/refactor/speech-client
Refactor wake-word waiting and record phrase
2020-05-31 13:37:02 +02:00
Åke Forslund e0e5f7fb2f Add test for cancelling the download timer 2020-05-27 22:08:14 +02:00
Åke Forslund 86a978fadf Fix audio service startup without Internet
If started up without Network connection the audio service would crash
importing the google_tts module as it tried to fetch language list from
google.

This restructures it to be a just-in-time check. It also adds a cached
list of supported languages to use if an error occurs fetching language
codes.

A small fix allowing "en-US" to be matched to "en-us" instead of the
generic "en" is also included.
2020-05-27 21:28:26 +02:00
Åke Forslund 926d3ff1c1 Extract noise-tracking from _record_phrase
_record_phrase now uses a helper class to track the noise in a sentence
to determine when the user has stopped speaking.

The logic should be the same but the same but allow for easier testing
and manipulation.
2020-05-26 12:12:12 +02:00
Åke Forslund 55bdb9db74 Reactivate dynamic energy calculation test 2020-05-26 12:12:12 +02:00
Åke Forslund 567e08809a Refactor _wait_for_wakeword
- Add RollingMean data structure
- Add simple CyclicBuffer data structure
- Move out post find actions into separate method
2020-05-26 12:12:12 +02:00
Åke Forslund 010562f3e1 Fix remove_fallback()
remove_fallback() was mainly created for use internally during shutdown
and required the wrapped callable to be able to remove a handler. This
makes it general, using a mapping to find the wrapper from a handler if
needed. The method now also returns the success/failure status
2020-05-19 10:51:53 +02:00
Åke Forslund 73fd98aee1 Add test cases for adding / removing fallbacks 2020-05-19 10:51:47 +02:00
Åke Forslund e08f630bea Minor header fixes in voight_kampff
- Copyright year
- typo
2020-05-18 14:48:19 +02:00
Åke Forslund 46c8a6b51f Add Voight Kampff support setting configurations
Adds the "Given the user's {config} is {value}" step implementation

This will patch the configuration with a section from a dictionary that
can either be a global (shipped in
mycroft/res/{lang}/configurations.json) or shipped with the test
definition. The file should be named the same as the feature file but
instead of ".feature" the extension should be ".config.json".

mycroft/res/text/en-us/configurations.json contains a couple of
pre-defined configurations that can be applied
- units (metric/imperial)
- location (Stockholm)

After each scenario any applied patch will be cleared
2020-05-18 14:48:14 +02:00
Åke 90d2570cc3
Merge pull request #2575 from PureTryOut/optional-deps
Move requirements.txt to a new requirements folder and add optional deps
2020-05-14 15:04:56 +02:00
Åke Forslund 094c2c28d0 Test loading of phonetic spelling dictionary
This also normalizes the path slightly to make sure that the phonetic
spelling is loaded even if the lang code contains capitals.
2020-05-12 08:58:18 +02:00
Åke Forslund 8c0aca6d4c Fix typo in mimic test case
An underscore instead of a . made the subprocess check output always
pass.
2020-05-11 21:43:28 +02:00
Åke Forslund 4d065ff7fe Add basic unittest for espeak 2020-05-11 16:14:24 +02:00
Bart Ribbers 531f78c499
Move requirements.txt to a new requirements folder and add optional deps
Some dependencies aren't actually required but can be optionally
installed for extra functionality.

The Chromecast is an optional audio backend
VLC is an optional audio backend
pyalsaaudio is only used by the mark1 enclosure
google-api-python-client is an optional STT backend, by default Mycroft
uses the Mycroft servers
2020-05-11 15:31:10 +02:00
Åke Forslund 5caf415a15 Add tests for context decorators 2020-05-11 06:50:36 +02:00
Bart Ribbers 4d01269f35
Explicitely run the messagebus test with Python3
/usr/bin/python might not always point to Python 3, and it might not
even exist, depending on the distribution. To make sure we always run
with Python 3, explicitely call /usr/bin/python3

Also update the service start command and remove the outdated message
method tests
2020-05-06 14:28:27 +02:00
Kris Gesling 6640861b30
Merge pull request #2548 from codyreinold/bugfix/issue-2516
Issues-2516 - Resolved IBM Cloud integration issue
2020-04-27 12:21:27 +00:00
Åke bcb426ab69
Merge pull request #2496 from forslund/test/util
Refactor and test util functions
2020-04-27 10:47:59 +02:00
Cody Reinold d6c9a64c80 Issue-2516 - Use requests.post kwarg to pass URL params 2020-04-27 03:23:07 -04:00
Åke Forslund 1258480f30 Improve audio utils log 2020-04-27 08:38:44 +02:00
Cody Reinold e50ea28dd5 Issues-2516 - Resolved IBM Cloud integration issue, switching from user / pass to api key. 2020-04-26 01:43:39 -04:00
Åke Forslund d1b6db306f Add test case for sending items added before start 2020-04-20 10:48:24 +02:00
Åke Forslund c5dccc16e2 Improve getting tmp download path 2020-04-17 23:42:04 +02:00
Åke Forslund a3c625bb0a Add basic test for download utility 2020-04-17 23:42:04 +02:00
Åke Forslund 06157e3331 Reuse ensure_directory_exists() in create_file()
ensure_directory_exists() now takes the directory permissions as an
optional argument.
2020-04-17 23:42:04 +02:00
Åke Forslund 05695f5b5f Add simple test for get_platform 2020-04-17 23:42:04 +02:00
Åke Forslund aa42552d97 Refactor test change loglevel and add tests for process_utils 2020-04-17 23:42:04 +02:00
Åke Forslund e218533cf6 Split tests into several files 2020-04-17 23:42:04 +02:00
Åke Forslund e651e39588 Add test for record function 2020-04-17 23:42:04 +02:00
Åke Forslund 60c0af69d6 Replace read_stripped_lines with generator 2020-04-17 23:42:04 +02:00
Åke Forslund 0d79af8ce2 Add tests for reading file functions 2020-04-17 23:42:04 +02:00
Åke Forslund 76ff53a615 Add tests for string related utils 2020-04-17 23:42:04 +02:00
Åke Forslund 2582d78237 Add tests for audio playback functions 2020-04-17 23:42:04 +02:00
Åke Forslund f872daf7ca Add tests for cache and file functions. 2020-04-17 23:42:04 +02:00
Åke Forslund c52f2837f1 Add test for time utils 2020-04-17 23:42:04 +02:00
Åke Forslund b3ce33ab70 Update test to match change
Also minor cleaning up of test code
2020-04-02 19:29:31 +02:00
Åke 28c3a61e1c
Merge pull request #2503 from forslund/bugfix/converse-error
Bugfix Converse error
2020-04-02 07:45:00 +02:00
Kris Gesling 1a96f04020 Add single Voight Kampff module interface
Takes in arguments for both test_setup.py and behave test runner. Parses
any args for test_setup and passes any remaining arguments to behave.

This moves argparsing out of the test_setup main() allowing the helper commands
to pass in pre-parsed arguments rather than adding logic inside main to
differentiate between a list and a preparsed arument object
2020-03-25 07:40:01 +01:00
Åke Forslund 9fe158d841 Prepare for multi-lang support 2020-03-24 10:42:07 +01:00