mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 03:08:55 -05:00
163 lines
5.1 KiB
Python
163 lines
5.1 KiB
Python
import pytest
|
|
|
|
|
|
#region Register Tests
|
|
def test_config_register_global(config):
|
|
config.register_global(enabled=False)
|
|
assert config.defaults["GLOBAL"]["enabled"] is False
|
|
assert config.enabled() is False
|
|
|
|
|
|
def test_config_register_global_badvalues(config):
|
|
with pytest.raises(RuntimeError):
|
|
config.register_global(**{"invalid var name": True})
|
|
|
|
|
|
def test_config_register_guild(config, empty_guild):
|
|
config.register_guild(enabled=False, some_list=[], some_dict={})
|
|
assert config.defaults["GUILD"]["enabled"] is False
|
|
assert config.defaults["GUILD"]["some_list"] == []
|
|
assert config.defaults["GUILD"]["some_dict"] == {}
|
|
|
|
assert config.guild(empty_guild).enabled() is False
|
|
assert config.guild(empty_guild).some_list() == []
|
|
assert config.guild(empty_guild).some_dict() == {}
|
|
|
|
|
|
def test_config_register_channel(config, empty_channel):
|
|
config.register_channel(enabled=False)
|
|
assert config.defaults["CHANNEL"]["enabled"] is False
|
|
assert config.channel(empty_channel).enabled() is False
|
|
|
|
|
|
def test_config_register_role(config, empty_role):
|
|
config.register_role(enabled=False)
|
|
assert config.defaults["ROLE"]["enabled"] is False
|
|
assert config.role(empty_role).enabled() is False
|
|
|
|
|
|
def test_config_register_member(config, empty_member):
|
|
config.register_member(some_number=-1)
|
|
assert config.defaults["MEMBER"]["some_number"] == -1
|
|
assert config.member(empty_member).some_number() == -1
|
|
|
|
|
|
def test_config_register_user(config, empty_user):
|
|
config.register_user(some_value=None)
|
|
assert config.defaults["USER"]["some_value"] is None
|
|
assert config.user(empty_user).some_value() is None
|
|
|
|
|
|
def test_config_force_register_global(config_fr):
|
|
with pytest.raises(AttributeError):
|
|
config_fr.enabled()
|
|
|
|
config_fr.register_global(enabled=True)
|
|
assert config_fr.enabled() is True
|
|
#endregion
|
|
|
|
|
|
#region Default Value Overrides
|
|
def test_global_default_override(config):
|
|
assert config.enabled(True) is True
|
|
assert config.get("enabled") is None
|
|
assert config.get("enabled", default=True) is True
|
|
|
|
|
|
def test_global_default_nofr(config):
|
|
assert config.nofr() is None
|
|
assert config.nofr(True) is True
|
|
assert config.get("nofr") is None
|
|
assert config.get("nofr", default=True) is True
|
|
|
|
|
|
def test_guild_default_override(config, empty_guild):
|
|
assert config.guild(empty_guild).enabled(True) is True
|
|
assert config.guild(empty_guild).get("enabled") is None
|
|
assert config.guild(empty_guild).get("enabled", default=True) is True
|
|
|
|
|
|
def test_channel_default_override(config, empty_channel):
|
|
assert config.channel(empty_channel).enabled(True) is True
|
|
assert config.channel(empty_channel).get("enabled") is None
|
|
assert config.channel(empty_channel).get("enabled", default=True) is True
|
|
|
|
|
|
def test_role_default_override(config, empty_role):
|
|
assert config.role(empty_role).enabled(True) is True
|
|
assert config.role(empty_role).get("enabled") is None
|
|
assert config.role(empty_role).get("enabled", default=True) is True
|
|
|
|
|
|
def test_member_default_override(config, empty_member):
|
|
assert config.member(empty_member).enabled(True) is True
|
|
assert config.member(empty_member).get("enabled") is None
|
|
assert config.member(empty_member).get("enabled", default=True) is True
|
|
|
|
|
|
def test_user_default_override(config, empty_user):
|
|
assert config.user(empty_user).some_value(True) is True
|
|
assert config.user(empty_user).get("some_value") is None
|
|
assert config.user(empty_user).get("some_value", default=True) is True
|
|
#endregion
|
|
|
|
|
|
#region Setting Values
|
|
@pytest.mark.asyncio
|
|
async def test_set_global(config):
|
|
await config.set("enabled", True)
|
|
assert config.enabled() is True
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_set_global_badkey(config):
|
|
with pytest.raises(RuntimeError):
|
|
await config.set("this is a bad key", True)
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_set_global_invalidkey(config):
|
|
with pytest.raises(KeyError):
|
|
await config.set("uuid", True)
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_set_guild(config, empty_guild):
|
|
await config.guild(empty_guild).set("enabled", True)
|
|
assert config.guild(empty_guild).enabled() is True
|
|
|
|
curr_list = config.guild(empty_guild).some_list([1, 2, 3])
|
|
assert curr_list == [1, 2, 3]
|
|
curr_list.append(4)
|
|
|
|
await config.guild(empty_guild).set("some_list", curr_list)
|
|
assert config.guild(empty_guild).some_list() == curr_list
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_set_channel(config, empty_channel):
|
|
await config.channel(empty_channel).set("enabled", True)
|
|
assert config.channel(empty_channel).enabled() is True
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_set_channel_no_register(config, empty_channel):
|
|
await config.channel(empty_channel).set("no_register", True)
|
|
assert config.channel(empty_channel).no_register() is True
|
|
#endregion
|
|
|
|
|
|
# region Getting Values
|
|
def test_get_func_w_reg(config):
|
|
config.register_global(
|
|
thing=True
|
|
)
|
|
assert config.get("thing") is True
|
|
assert config.get("thing", False) is False
|
|
|
|
|
|
def test_get_func_wo_reg(config):
|
|
assert config.get("thing") is None
|
|
assert config.get("thing", True) is True
|
|
# endregion
|