38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
import unittest
|
|
import praw
|
|
import random
|
|
import requests
|
|
import json
|
|
import dotenv
|
|
|
|
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)
|