예제 #1
0
class TestBlocking:
    def setup(self):
        self.rs = RandomStuff()

    def test_invalid_joke_error(self):
        with pytest.raises(RuntimeError) as exc:
            self.rs.get_joke("deva")
        assert "deva" in str(exc)

    def test_invalid_image_error(self):
        with pytest.raises(RuntimeError) as exc:
            self.rs.get_image("awww")
        assert "awww" in str(exc)

    def test_joke_response(self):
        response = self.rs.get_joke("dev")

        assert isinstance(response, dict)
        assert set(response.keys()).issuperset(joke_response_keys)

    def test_ai_response(self):
        response = self.rs.get_ai_response("Hello!")

        assert isinstance(response, str)

    def test_image_reponse(self):
        response = self.rs.get_image("aww")

        assert isinstance(response, str)

    def teardown(self):
        self.rs.close()
예제 #2
0
async def jk(event):
    api_key = "QlkcYlg38zhQ"
    rs = RandomStuff(api_key=api_key)
    response = rs.get_joke(_type="any")
    if response["setup"]:
        text = response["setup"] + response["delivery"]
    else:
        text = response["joke"]
    await event.reply(text)
예제 #3
0
class TestAsync:
    def setup(self):
        self.rs = RandomStuff(async_mode=True)
        self.loop = get_event_loop()
        self.run = self.loop.run_until_complete

    def test_joke_response(self):
        response = self.run(self.rs.get_joke("dev"))

        assert isinstance(response, dict)
        assert set(response.keys()).issuperset(joke_response_keys)

    def test_image_response(self):
        response = self.run(self.rs.get_image("aww"))

        assert isinstance(response, str)

    def test_ai_response(self):
        response = self.run(self.rs.get_ai_response("Hello!"))

        assert isinstance(response, str)