Esempio n. 1
0
async def test_roll_d66(bot, mocker):
    mocker.patch.object(dice, "roll_d66", return_value=23)

    dpytest.configure(bot)

    await dpytest.message("!roll d66")
    dpytest.verify_message("d66 = `23`")
Esempio n. 2
0
async def twitch_cog(bot):
    """ setup any state specific to the execution of the given module."""
    twitch_cog = TwitchAlert.TwitchAlert(bot)
    bot.add_cog(twitch_cog)
    await dpytest.empty_queue()
    dpytest.configure(bot)
    return twitch_cog
Esempio n. 3
0
async def tf_cog(bot):
    tf_cog = TextFilter.TextFilter(bot)
    tf_cog.tf_database_manager.create_tables()
    bot.add_cog(tf_cog)
    dpytest.configure(bot)
    print("Tests starting")
    return tf_cog
Esempio n. 4
0
async def test_init_cog_remove_tokens(bot):
    '''Test removing the exact number of tokens of a certain type'''
    dpytest.configure(bot)

    await dpytest.message("!i begin")
    dpytest.verify_message("Battle started. Now add tokens with !init add...")

    await dpytest.message("!i add 4 Goblin 6 Ogre 2 Troll 2 Vince McFighty")
    dpytest.verify_message(
        "Added 4 Goblin tokens.\nAdded 6 Ogre tokens.\nAdded 2 Troll tokens.\nAdded 2 Vince McFighty tokens.\n"
    )

    await dpytest.message("!i remove 4 Ogre")
    dpytest.verify_message("Removed 4 Ogre tokens from the bag (2 left)")

    await dpytest.message("!i remove 4 Ogre")
    dpytest.verify_message(
        "You asked to remove 4 Ogre tokens, but only 2 were in the bag (0 left)"
    )

    await dpytest.message("!i remove 4 Goblin")
    dpytest.verify_message("Removed all 4 Goblin tokens from the bag (0 left)")

    await dpytest.message("!i remove 2 Vince McFighty")
    dpytest.verify_message(
        "Removed all 2 Vince McFighty tokens from the bag (0 left)")
Esempio n. 5
0
def bot(request, event_loop):
    intents = discord.Intents.default()
    intents.members = True
    b = commands.Bot("!", loop=event_loop, intents=intents)

    dpytest.configure(b, num_members=2)
    return b
Esempio n. 6
0
async def test_login():
    x = bot.createBot()
    dpytest.configure(x)
    loginMsg = fileController.loadLoginMsg()
    userMessage = loginMsg + "\n" + text_constants.ENTER_NAME_TEXT

    await dpytest.message("!login")
    dpytest.verify_message(userMessage)
Esempio n. 7
0
 def setUpClass(cls):
     cls.bot = Bot()
     cls.bot.add_cog(Testing(cls.bot))
     cls.bot.add_cog(Inventory(cls.bot))
     dpytest.configure(cls.bot)
     cls.loop = asyncio.get_event_loop()
     cls.loop.run_until_complete(cls.bot.connect_all())
     cls.loop.run_until_complete(dpytest.message("Stand Arrow debug_clear"))
Esempio n. 8
0
def setup_function():
    """ setup any state specific to the execution of the given module."""
    global base_cog
    bot = commands.Bot(command_prefix=KoalaBot.COMMAND_PREFIX)
    base_cog = BaseCog.BaseCog(bot)
    bot.add_cog(base_cog)
    dpytest.configure(bot)
    print("Tests starting")
Esempio n. 9
0
async def test_ctx():
    global utils_cog
    bot = commands.Bot(command_prefix=KoalaBot.COMMAND_PREFIX)
    utils_cog = TestUtilsCog(bot)
    bot.add_cog(utils_cog)
    dpytest.configure(bot)
    await dpytest.message(KoalaBot.COMMAND_PREFIX + "store_ctx")
    return utils_cog.get_last_ctx()
Esempio n. 10
0
async def bot(event_loop):
    intents = discord.Intents.default()
    intents.members = True
    intents.guilds = True
    intents.messages = True
    b = commands.Bot(KoalaBot.COMMAND_PREFIX, loop=event_loop, intents=intents)
    await dpytest.empty_queue()
    dpytest.configure(b)
    return b
Esempio n. 11
0
def bot(event_loop):
    intents = discord.Intents.default()
    intents.members = True

    bot = BSBot("!", loop=event_loop, intents=intents)
    bot.running_tests = True

    dpytest.configure(bot, num_guilds=2, num_channels=1, num_members=1)
    return bot
Esempio n. 12
0
async def test_luck(bot, mocker):
    mocker.patch.object(dice, "roll_2d6", return_value=(3, 4, 7))

    dpytest.configure(bot)

    await dpytest.message("!luck 8")
    dpytest.verify_message("**SUCCESS** 2d6(3+4) = `7` ≤ `8`")

    await dpytest.message("!luck 6")
    dpytest.verify_message("**FAILURE** 2d6(3+4) = `7` > `6`")
Esempio n. 13
0
async def twitch_cog():
    """ setup any state specific to the execution of the given module."""
    bot = commands.Bot(command_prefix=KoalaBot.COMMAND_PREFIX)
    database_manager = KoalaDBManager.KoalaDBManager(DB_PATH, KoalaBot.DB_KEY)
    twitch_cog = TwitchAlert.TwitchAlert(bot, database_manager=database_manager)
    bot.add_cog(twitch_cog)
    await dpytest.empty_queue()
    dpytest.configure(bot)
    print("Tests starting")
    return twitch_cog
Esempio n. 14
0
async def test_skill(bot, mocker):
    mocker.patch.object(dice, "roll_2d6", return_value=(1, 3, 4))

    dpytest.configure(bot)

    await dpytest.message("!skill 4")
    dpytest.verify_message("**SUCCESS** 2d6(1+3) = `4` ≤ `4`")

    await dpytest.message("!skill 3")
    dpytest.verify_message("**FAILURE** 2d6(1+3) = `4` > `3`")
Esempio n. 15
0
async def test_define_weapon(bot, mocker):
    mocker.patch.object(dice, "roll_d6", return_value=4)

    dpytest.configure(bot)

    await dpytest.message("!def weapon Stinger 2 2 3 3 4 5 6")
    dpytest.verify_message("Added weapon `Stinger` damage `[2, 2, 3, 3, 4, 5, 6]` ignore_armor=False")

    await dpytest.message("!damage stinger medium")
    # FIXME: Figure out how to test the embed content here
    dpytest.verify_embed(allow_text=True)
Esempio n. 16
0
def setup_funsction():
    """ setup any state specific to the execution of the given module."""
    global role_colour_cog
    global utils_cog
    bot = commands.Bot(command_prefix=KoalaBot.COMMAND_PREFIX)
    role_colour_cog = ColourRole.ColourRole(bot)
    utils_cog = TestUtilsCog.TestUtilsCog(bot)
    bot.add_cog(role_colour_cog)
    bot.add_cog(utils_cog)
    dpytest.configure(bot)
    print("Tests starting")
Esempio n. 17
0
def setup_function():
    """ setup any state specific to the execution of the given module."""
    global intro_cog, utils_cog
    bot = commands.Bot(command_prefix=KoalaBot.COMMAND_PREFIX)
    utils_cog = TestUtilsCog(bot)
    intro_cog = IntroCog.IntroCog(bot)
    bot.add_cog(intro_cog)
    bot.add_cog(utils_cog)
    dpytest.configure(bot)
    print("Tests starting")
    return dpytest.get_config()
Esempio n. 18
0
def testlos():
    log.debug("Setting up Talos")
    tokens = dtalos.load_token_file(dtalos.TOKEN_FILE)
    testlos = dtalos.Talos(tokens=tokens)
    testlos.load_extensions(testlos.startup_extensions)
    dpytest.configure(testlos)

    yield testlos

    log.debug("Tearing down Talos")
    loop = testlos.loop
    loop.run_until_complete(testlos.close())
Esempio n. 19
0
async def test_help(expected_embed):
    team_role_name = staff_role[0]  # DCT-team
    modo_role_name = mods_role[0]  # Moderator

    bot = commands.Bot(command_prefix='!')
    dpytest.configure(bot)

    guild = bot.guilds[0]  # Guild object
    team_role = await guild.create_role(name=team_role_name)  # Role object
    modo_role = await guild.create_role(name=modo_role_name)  # Role object
    bot.role_dcteam = modo_role
    bot.role_modo = team_role
Esempio n. 20
0
async def test_bot():
    bot = ShinobuBot()
    dpytest.configure(bot)

    # Load any extensions/cogs you want to in here
    bot_channel = 165174405222236161
    channel = bot.get_channel(bot_channel)
    await channel.send("Test Message")
    dpytest.verify_message("Test Message")

    await dpytest.message(":about")
    dpytest.verify_message("[Expected help output]")
Esempio n. 21
0
async def base_cog(bot: commands.Bot):
    """ setup any state specific to the execution of the given module."""
    with session_manager() as session:
        session.execute(delete(KoalaExtensions))
        session.execute(delete(GuildExtensions))
        session.commit()

    base_cog = BaseCog(bot)
    bot.add_cog(base_cog)
    await dpytest.empty_queue()
    dpytest.configure(bot)
    return base_cog
Esempio n. 22
0
async def test_better(bot, mocker):
    mocker.patch.object(dice, "roll_2d6", return_value=(4, 3, 7))

    dpytest.configure(bot)

    await dpytest.message("!better 6")
    dpytest.verify_message(
        "**SUCCESS** 2d6(4+3) = `7` > `6`. Increase advanced skill by 1")

    await dpytest.message("!better 7")
    dpytest.verify_message(
        "**FAILURE** 2d6(4+3) = `7` ≤ `7`. Advanced skill unchanged")
Esempio n. 23
0
async def test_roll_d20(bot, mocker):
    mocker.patch.object(dice, "roll_d20", return_value=2)

    dpytest.configure(bot)

    await dpytest.message("!roll d20")
    dpytest.verify_message("d20 (2) = `2`")

    await dpytest.message("!roll 1d20")
    dpytest.verify_message("d20 (2) = `2`")

    await dpytest.message("!roll 1d20+6")
    dpytest.verify_message("d20 (2)+6 = `8`")
Esempio n. 24
0
async def test_better_more(bot, mocker):
    mocker.patch.object(dice, "roll_2d6", return_value=(6, 6, 12))

    dpytest.configure(bot)

    await dpytest.message("!better 13")
    dpytest.verify_message(
        "**SUCCESS** 2d6(6+6)+2d6(6+6) = `24`. Increase advanced skill by 1")

    mocker.patch.object(dice, "roll_2d6", side_effect=((6, 6, 12), (6, 5, 11)))
    await dpytest.message("!better 12")
    dpytest.verify_message(
        "**FAILURE** 2d6(6+6)+2d6(6+5) = `23`. Advanced skill unchanged")
Esempio n. 25
0
def cog(bot):
    global vote_manager
    cog = Voting.Voting(bot, db_manager)
    db_manager.db_execute_commit("DROP TABLE Votes")
    db_manager.db_execute_commit("DROP TABLE VoteTargetRoles")
    db_manager.db_execute_commit("DROP TABLE VoteOptions")
    db_manager.db_execute_commit("DROP TABLE VoteSent")
    db_manager.insert_extension("Vote", 0, True, True)
    vote_manager = Voting.VoteManager(db_manager)
    bot.add_cog(cog)
    dpytest.configure(bot)
    print("Tests starting")
    return cog
Esempio n. 26
0
async def test_restart_fail():
    intents = discord.Intents.default()
    intents.members = True
    bot = commands.Bot(command_prefix='!', intents=intents)
    bot.gifs = []
    bot.log = mock.Mock()
    bot.add_cog(Admin(bot))
    dpytest.configure(bot)
    # MissingAnyRole is expected.
    # Test will pass if error "MissingAnyRole" is launched
    with pytest.raises(commands.MissingAnyRole):
        await dpytest.message('!restart')
    dpytest.verify_message("Nope.")  # empty the queue
    await dpytest.empty_queue()
Esempio n. 27
0
def testlos_m(request):
    log.debug("Setting up Module Talos")
    tokens = dtalos.load_token_file(dtalos.TOKEN_FILE)
    testlos = dtalos.Talos(tokens=tokens)
    testlos.database.verify_schema()
    testlos.load_extensions(testlos.startup_extensions)
    dpytest.configure(testlos)
    request.module.testlos = testlos

    yield testlos

    log.debug("Tearing down Module Talos")
    loop = testlos.loop
    loop.run_until_complete(testlos.close())
Esempio n. 28
0
def se5tup_function():
    """ setup any state specific to the execution of the given module."""
    global base_cog, tf_cog, utils_cog
    bot = commands.Bot(command_prefix=KoalaBot.COMMAND_PREFIX)
    base_cog = BaseCog.BaseCog(bot)
    tf_cog = TextFilter.TextFilter(bot)
    tf_cog.tf_database_manager.create_tables()
    utils_cog = LastCtxCog.LastCtxCog(bot)
    bot.add_cog(base_cog)
    bot.add_cog(tf_cog)
    bot.add_cog(utils_cog)
    dpytest.configure(bot)
    print("Tests starting")
    return dpytest.get_config()
Esempio n. 29
0
async def test_args_separator(bot):

    user = "******"
    command = "ban"
    channel = "Channel_0"

    dpytest.configure(bot)

    guild = bot.guilds[0]
    a, b, c = args_separator_for_log_function(guild, [channel, command, user])

    assert a == user.lower()
    assert b == command.lower()
    assert c == channel.lower()
Esempio n. 30
0
def bot(request, event_loop):
    b = commands.Bot("!", loop=event_loop)

    marks = request.function.pytestmark
    mark = None
    for mark in marks:
        if mark.name == "cogs":
            break

    if mark is not None:
        for extension in mark.args:
            b.load_extension("tests.internal." + extension)

    test.configure(b)
    return b
Esempio n. 31
0
def testlos():
    log.debug("Setting up Talos")
    tokens = dtalos.load_token_file(dtalos.TOKEN_FILE)
    testlos = dtalos.Talos(tokens=tokens)
    testlos.load_extensions(testlos.startup_extensions)
    dpytest.configure(testlos, 2, 2, 2)

    loop = testlos.loop
    loop.run_until_complete(testlos.init())

    yield testlos

    log.debug("Tearing down Talos")
    loop = testlos.loop
    loop.run_until_complete(testlos.close())
Esempio n. 32
0
def cog(bot):
    cog = Verification.Verification(bot, db_manager)
    bot.add_cog(cog)
    dpytest.configure(bot)
    db_manager.db_execute_commit("DROP TABLE verified_emails")
    db_manager.db_execute_commit("DROP TABLE non_verified_emails")
    db_manager.db_execute_commit("DROP TABLE to_re_verify")
    db_manager.db_execute_commit("DROP TABLE roles")
    db_manager.db_execute_commit("CREATE TABLE verified_emails (u_id, email)")
    db_manager.db_execute_commit("CREATE TABLE non_verified_emails (u_id, email, token)")
    db_manager.db_execute_commit("CREATE TABLE to_re_verify (u_id, r_id)")
    db_manager.db_execute_commit("CREATE TABLE roles (s_id, r_id, email_suffix)")
    db_manager.insert_extension("Verify", 0, True, True)
    print("Tests starting")
    return cog