Files
spotify-downloader/test/test_handle.py
Ritiek Malhotra e0c8960906 Changes for v1.0.0 release (#345)
* Move spotdl.py inside spotdl directory

* Fix Dockerfile

* Re-upload FFmpeg binary

* Small fixes ;)
2018-09-09 08:00:01 -07:00

51 lines
1.8 KiB
Python

import yaml
from spotdl import handle
from spotdl import const
import pytest
import os
import sys
import argparse
def test_log_str_to_int():
expect_levels = [20, 30, 40, 10]
levels = [handle.log_leveller(level)
for level in handle._LOG_LEVELS_STR]
assert levels == expect_levels
class TestConfig:
def test_default_config(self, tmpdir):
expect_config = handle.default_conf['spotify-downloader']
global config_path
config_path = os.path.join(str(tmpdir), 'config.yml')
config = handle.get_config(config_path)
assert config == expect_config
def test_modified_config(self):
global modified_config
modified_config = dict(handle.default_conf)
modified_config['spotify-downloader']['file-format'] = 'just_a_test'
merged_config = handle.merge(handle.default_conf, modified_config)
assert merged_config == modified_config
def test_custom_config_path(self, tmpdir):
parser = argparse.ArgumentParser()
with open(config_path, 'w') as config_file:
yaml.dump(modified_config, config_file, default_flow_style=False)
overridden_config = handle.override_config(config_path,
parser,
raw_args='')
modified_values = [ str(value) for value in modified_config['spotify-downloader'].values() ]
overridden_config.folder = os.path.realpath(overridden_config.folder)
overridden_values = [ str(value) for value in overridden_config.__dict__.values() ]
assert sorted(overridden_values) == sorted(modified_values)
def test_grouped_arguments(tmpdir):
sys.path[0] = str(tmpdir)
with pytest.raises(SystemExit):
handle.get_arguments(to_group=True, to_merge=True)