Ties de Kock
4004867eda
Split up yaml loaders into multiple files ( #23774 )
...
* Start moving parts of yaml utils to own module
Move parts of yaml loader out of the single large file and start
to create the structure of the yaml loaders in Ansible [0].
[0]: https://github.com/ansible/ansible/tree/devel/lib/ansible/parsing/yaml
* Finish yaml migration, update tests and mocks
* Move code around to finish the migration
* Update the mocks so that `open` is patched in
`homeassistant.util.yaml.loader` instead of
`homeassistant.util.yaml`.
* Updated mypy ignores
* Updated external API of `homeasistant.util.yaml`, see below:
Checked what part of the api of `homeassistant.util.yaml` was actually
called from outside the tests and added an `__ALL__` that contains only
these elements.
Updated the tests so that references to internal parts of the API (e.g.
the yaml module imported into `homeassistant.util.yaml.loader`) are
referenced directly from `homeassistant.util.yaml.loader`.
In `tests/test_yaml.py` the import `yaml` refers to
`homeassistant.util.yaml` and `yaml_loader` refers to `~.loader`.
Future work that remains for the next iteration is to create a custom
SafeConstructor and refers to that instead of monkey patching `yaml` with
custom loaders.
* Update mocks in yaml dumper, check_config
2019-05-09 09:07:56 -07:00
Erik Montnemery
407e0c58f9
Migrate tests to pytest ( #23544 )
...
* Migrate tests to pytest
* Fixup
* Use loop fixture in test_check_config
* Lint
2019-04-30 09:20:38 -07:00
choss
c314220167
Ignore secrets.yaml when using include_dir_named ( #22929 )
...
* ignore secrets.yaml in include_dir_named include
* updating test for include_dir_named secrets ignore
2019-04-13 21:24:06 -07:00
Quentin Stafford-Fraser
88be786e82
Make !include_dir_list use alphanumeric order ( #21902 )
...
* Make YAML includes such as !include_dir_list incorporate files in alphabetical order
* Test for !include_dir_list sorting
2019-03-20 23:10:08 -07:00
Paulus Schoutsen
08fe7c3ece
Pytest tests ( #17750 )
...
* Convert core tests
* Convert component tests to use pytest assert
* Lint 🤷♂️
* Fix test
* Fix 3 typos in docs
2018-10-24 12:10:05 +02:00
Andrey
c2fe0d0120
Make typing checks more strict ( #14429 )
...
## Description:
Make typing checks more strict: add `--strict-optional` flag that forbids implicit None return type. This flag will become default in the next version of mypy (0.600)
Add `homeassistant/util/` to checked dirs.
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
2018-07-13 13:24:51 +03:00
Ville Skyttä
55ee8959ba
Spelling fixes ( #11940 )
2018-01-27 11:58:27 -08:00
Andrey
d5cba0b716
Allow unicode when dumping yaml ( #10607 )
2017-11-15 18:24:08 -08:00
Paulus Schoutsen
75f902f57e
RFC: Create a secrets file and enable HTTP password by default ( #9685 )
...
* Create a secret and enable password by default
* Comment out api password secret
* Lint/fix tests
2017-10-05 09:10:29 -07:00
Michael Prokop
08b0629eca
Fix a bunch of typos ( #9545 )
...
s/Addres /Address /
s/Chnage/Change/
s/Converion/Conversion/
s/Supressing/Suppressing/
s/agains /against /
s/allready/already/
s/analagous/analogous/
s/aquired/acquired/
s/arbitray/arbitrary/
s/argment/argument/
s/aroung/around/
s/attibute/attribute/
s/auxillary/auxiliary/
s/befor /before /
s/commmand/command/
s/conatin/contain/
s/conection/connection/
s/coresponding/corresponding/
s/entites/entities/
s/enviroment/environment/
s/everyhing/everything/
s/expected expected/expected/
s/explicity/explicitly/
s/formated/formatted/
s/incomming/incoming/
s/informations/information/
s/inital/initial/
s/inteface/interface/
s/interupt/interrupt/
s/mimick/mimic/
s/mulitple/multiple/
s/multible/multiple/
s/occured/occurred/
s/occuring/occurring/
s/overrided/overridden/
s/overriden/overridden/
s/platfrom/platform/
s/positon/position/
s/progess/progress/
s/recieved/received/
s/reciever/receiver/
s/recieving/receiving/
s/reponse/response/
s/representaion/representation/
s/resgister/register/
s/retrive/retrieve/
s/reuqests/requests/
s/segements/segments/
s/seperated/separated/
s/sheduled/scheduled/
s/succesfully/successfully/
s/suppport/support/
s/targetting/targeting/
s/thats/that's/
s/the the/the/
s/unkown/unknown/
s/verison/version/
s/while loggin out/while logging out/
2017-09-23 17:15:46 +02:00
Paulus Schoutsen
5696e38dd6
Warn instead of raise on duplicate YAML key ( #8834 )
...
* Warn instead of raise on duplicate key
* Update test_yaml.py
* Lint
* Change to error
2017-08-06 10:47:19 -07:00
Corey Pauley
ecc1429453
Added support for default value when environment variable is missing ( #8484 )
...
* Added support for a default value when an environment variable is missing
* Shouldn't have used docstring
2017-07-24 09:00:01 -07:00
Justin Dray
98568b5eb7
Add support for using credstash as a secret store ( #8494 )
2017-07-24 08:59:10 -07:00
Paulus Schoutsen
da2521a299
Fix YAML dump ( #7388 )
...
* Fix YAML dump
* Add test
2017-05-01 20:09:49 -07:00
Paulus Schoutsen
7511a5842d
Fix load_yaml default value ( #5383 )
2017-01-16 22:08:47 -08:00
Johann Kellerman
e487a09190
Remove None value before writing known_devices ( #4098 )
...
* Remove None
* Replace null
2016-11-01 21:51:31 -07:00
Fabian Affolter
be272ac64a
Disable too-many-* ( #4107 )
...
* Disable too-many-* and too-few-public-methods
* Remove globally disabled pylint warnings
2016-10-30 22:18:53 +01:00
Johann Kellerman
5df8477536
Catch UnicodeDecodeError Error ( #4007 )
...
* Catch UnicodeDecodeError Error
Error for #3933
* Forgot (exc)
* catch...
* Tests by @lwis
* Docstring
* Create open
2016-10-23 18:55:06 -07:00
Lewis Juggins
13ab2be5f6
Exclude dirs/files prefixed with . ( #3986 )
2016-10-23 16:47:06 +02:00
Rob Capellini
272539105f
Replacing tempfile with mock_open in tests ( #3753 )
...
- test_bootstrap.py
- test_config.py
- components/test_init.py
- components/test_panel_custom.py
- components/test_api.py
- components/notify/test_file.py
- components/notify/test_demo.py
- components/camera/test_local_file.py
- helpers/test_config_validation.py
- util/test_package.py
- util/test_yaml.py
No changes needed in:
- components/cover/test_command_line.py
- components/switch/test_command_line.py
- components/rollershutter/test_command_line.py
- components/test_shell_command.py
- components/notify/test_command_line.py
Misc changes in:
- components/mqtt/test_server.py
Also, removed some unused mock parameters in tests/components/mqtt/test_server.py.
2016-10-17 20:16:36 -07:00
Lewis Juggins
10feac11d9
Support recursive config inclusions ( #3783 )
2016-10-12 12:05:41 +02:00
Johann Kellerman
e8ad76c816
Improve yaml fault tolerance and handle check_config border cases ( #3159 )
2016-09-08 22:20:38 +02:00
Teagan Glenn
8d1a9d86ea
Yaml secret fallback to parent folders ( #2878 )
...
* Move secret cache out of loader so it can be referenced by other folders
* Unit test to verify secrets from another folder work & see if it overrides parent secret
* Clear secret cache after load
2016-08-20 21:39:56 +02:00
Johann Kellerman
7b02dc434a
Secrets support for configuration files ( #2312 )
...
* ! secret based on yaml.py
* Private Secrets Dict, removed cmdline, fixed log level
* Secrets limited to yaml only
* Add keyring & debug tests
2016-06-25 00:10:03 -07:00
happyleavesaoc
15f89fc636
add some include_dir options ( #2074 )
...
* add some include_dir options
* validate, and extend instead of add
* add yaml include tests
2016-05-17 15:47:44 -07:00
Daniel
24788b106b
Add test for yaml enviroment
2016-05-14 20:20:27 +02:00
Jan Harkes
dbbbed404c
Detect duplicate keys in configuration.yaml.
2016-04-05 21:21:16 -07:00