Files
stroopwafel/tests/general.py
mark 47ae62afa9
continuous-integration/drone/push Build is passing
Moves tests to module
2022-12-04 19:32:57 +01:00

50 lines
1.5 KiB
Python

import unittest
import praw
import random
import requests
import json
import dotenv
import re
import discord
from discord.ext import commands
import General
class TestGeneral(unittest.TestCase):
def setUp(self):
dotenv.load_dotenv()
intents = discord.Intents.default()
intents.message_content = True
intents.members = True
bot = commands.Bot(command_prefix=commands.when_mentioned_or('!'), description='Stroopwafel. Shitpost bot extraordinaire.', pm_help=True, intents=intents)
self.cog = General.General(bot)
def test_playlist(self):
data = self.cog.get_playlist_json()
if data.status_code >= 500:
self.skipTest(f"Server at {self.cog.muzak_url} has an error")
with self.subTest(msg=f"{self.cog.muzak_url} doesn't return 200"):
self.assertEqual(data.status_code, 200)
with self.subTest(msg="Not a good response"):
self.assertIsInstance(data, requests.Response)
with self.subTest(msg="Does not convert to json"):
self.assertIsInstance(json.loads(data.content), dict)
def test_aww(self):
if not isinstance(self.cog.r, praw.Reddit):
self.skipTest("PRAW Reddit instance failed to create")
post = self.cog.get_aww_post()
self.assertIsInstance(post.url, str)
def test_kopieerpasta(self):
if not isinstance(self.cog.r, praw.Reddit):
self.skipTest("PRAW Reddit instance failed to create")
post = self.cog.get_kopieerpasta()
self.assertIsInstance(post.url, str)
def test_huge(self):
embed = self.cog.get_emoji_embed("<:test:123456789>")
self.assertIsInstance(embed, discord.Embed)