From 4b2aa3acd00e098501db5c10dc22bad6cc21ad31 Mon Sep 17 00:00:00 2001 From: Jiri Vlasak Date: Fri, 4 Nov 2022 16:00:26 +0100 Subject: [PATCH] Rework bot ut --- ut/test_bot.py | 175 +++++++++++++++++++------------------------------ 1 file changed, 66 insertions(+), 109 deletions(-) diff --git a/ut/test_bot.py b/ut/test_bot.py index d8edf0d..e86613a 100644 --- a/ut/test_bot.py +++ b/ut/test_bot.py @@ -1,37 +1,43 @@ -# -*- coding: utf-8 -*- -"""Test Coffeebot Getter.""" -from requests import Response from unittest import TestCase -from cbdb import ArgCountError -from cbgetter import CoffeebotGetter +from coffee_getter.bot import Bot +from ut.test_db import TESTDB_PATH, create_test_db, delete_test_db -class SuccessInit(TestCase): - def test_not_blank(self): - g = CoffeebotGetter() - self.assertIsNotNone(g.cfg) - self.assertIsNotNone(g.db) - self.assertEqual(g.msg, "") - self.assertEqual(g.top, []) - def test_msg_getter_is_blank_by_default(self): - g = CoffeebotGetter() - self.assertEqual(g.getMsg(), "") - - def test_msg_sent_to_slack(self): - g = CoffeebotGetter() - r = g.sendMsgToSlack() - self.assertIsInstance(r, Response) +class CoffeeGetterBotTests(TestCase): + TOP = ( + ("tester", 4*0.5 + 4*0.33), + ("newer", 2*0.33), + ("clone", 2*0.33)) -class TopDrinks(TestCase): def setUp(self): - self.g = CoffeebotGetter() - - def test_top_drinks(self): - top = self.g.load_top_drinks() - self.assertIsNotNone(self.g.top) - self.assertTrue(len(self.g.top) >= 0) - self.assertNotEqual(self.g.msg, "") - self.assertTrue(len(self.g.msg) >= 0) + create_test_db(TESTDB_PATH) + self.b = Bot(TESTDB_PATH) + + def tearDown(self): + delete_test_db(TESTDB_PATH) + + def test_blank_bot(self): + assert self.b.db + assert self.b.msg == "" + assert self.b.get_msg() == "" + assert self.b.top == [] + + def test_text_related_methods(self): + self.assertRaises(ValueError, self.b.send_msg_to, "test") + assert self.b.get_hero_comment() != "" + assert self.b.get_some_smile()[0] == ":" + assert self.b.get_some_smile()[-1] == ":" + + def test_tops(self): + self.b.load_top_drinks() + assert len(self.b.top) > 0 + assert len(self.b.msg) > 0 + self.b.load_top_mate_drinkers() + assert len(self.b.top) > 0 + assert len(self.b.msg) > 0 + self.b.load_top_tea_drinkers() + assert len(self.b.top) > 0 + assert len(self.b.msg) > 0 def test_drink_smile(self): smiles = { @@ -44,96 +50,47 @@ class TopDrinks(TestCase): "Club-Mate 0,33 l": ":club-mate_cola:", } for (d, s) in smiles.items(): - assert self.g.get_drink_smile(d) == s - -class TopMateDrinkers(TestCase): - def test_top_mate_drinkers(self): - g = CoffeebotGetter() - g.loadTopMateDrinkers() - self.assertIsNotNone(g.top) - self.assertTrue(len(g.top) >= 0) - self.assertNotEqual(g.msg, "") - self.assertTrue(len(g.msg) >= 0) - - def test_get_hero_comment(self): - g = CoffeebotGetter() - self.assertNotEqual(g.getHeroComment(), "") - - def test_get_some_smile(self): - g = CoffeebotGetter() - self.assertNotEqual(g.getSomeSmile(), "") - self.assertEqual(g.getSomeSmile()[0], ":") - self.assertEqual(g.getSomeSmile()[-1], ":") + assert self.b.get_drink_smile(d) == s -class TopTeaDrinkers(TestCase): - def setUp(self): - self.g = CoffeebotGetter() - - def test_top_tea_drinkers(self): - top = self.g.load_top_tea_drinkers() - self.assertIsNotNone(self.g.top) - self.assertTrue(len(self.g.top) >= 0) - self.assertNotEqual(self.g.msg, "") - self.assertTrue(len(self.g.msg) >= 0) - -class EqualDrinkers(TestCase): - TOP = [ - ("tester", 4*0.5 + 4*0.33), - ("newer", 2*0.33), - ("clone", 2*0.33), - ] def test_strict_drinkers_order(self): - g = CoffeebotGetter() - g.top = self.TOP - g.computeEqualDrinkers() - for i in range(len(g.topeq) - 1): - for (un1, c1) in g.topeq[i]: - for (un2, c2) in g.topeq[i + 1]: + self.b.top = self.TOP + self.b.compute_equal_drinkers() + for i in range(len(self.b.topeq) - 1): + for (un1, c1) in self.b.topeq[i]: + for (un2, c2) in self.b.topeq[i + 1]: self.assertTrue(c1 > c2) def test_equal_drinkers(self): - g = CoffeebotGetter() - g.top = self.TOP - g.computeEqualDrinkers() - for l in g.topeq: - cc = l[0][1] - for (un, c) in l: - self.assertEqual(cc, c) + self.b.top = self.TOP + self.b.compute_equal_drinkers() + for i in self.b.topeq: + cc = i[0][1] + for (un, c) in i: + assert cc == c def test_equal_drinkers_len(self): - g = CoffeebotGetter() - g.top = self.TOP - g.computeEqualDrinkers() - self.assertEqual(len(g.topeq), 2) + self.b.top = self.TOP + self.b.compute_equal_drinkers() + assert len(self.b.topeq) == 2 -class DrunkSum(TestCase): def test_nof_args(self): - g = CoffeebotGetter() - self.assertRaises(ArgCountError, g.loadDrunkSum) - self.assertRaises(ArgCountError, g.loadDrunkSum, ["espresso"]) + self.assertRaises(AssertionError, self.b.load_drunk_sum) + self.assertRaises(AssertionError, self.b.load_drunk_sum, ["espresso"]) self.assertRaises( - ArgCountError, - g.loadDrunkSum, - ["espresso", "2010-10-20"] - ) + AssertionError, + self.b.load_drunk_sum, + ["espresso", "2010-10-20"]) self.assertRaises( - ArgCountError, - g.loadDrunkSum, - ["espresso", "lungo", "2010-10-20", "2020-10-20"] - ) - -class DrunkList(TestCase): - def test_nof_args(self): - g = CoffeebotGetter() - self.assertRaises(ArgCountError, g.loadDrunkList) - self.assertRaises(ArgCountError, g.loadDrunkList, ["espresso"]) + AssertionError, + self.b.load_drunk_sum, + ["espresso", "lungo", "2010-10-20", "2020-10-20"]) + self.assertRaises(AssertionError, self.b.load_drunk_list) + self.assertRaises(AssertionError, self.b.load_drunk_list, ["espresso"]) self.assertRaises( - ArgCountError, - g.loadDrunkList, - ["espresso", "2010-10-20"] - ) + AssertionError, + self.b.load_drunk_list, + ["espresso", "2010-10-20"]) self.assertRaises( - ArgCountError, - g.loadDrunkList, - ["espresso", "lungo", "2010-10-20", "2020-10-20"] - ) + AssertionError, + self.b.load_drunk_list, + ["espresso", "lungo", "2010-10-20", "2020-10-20"]) -- 2.39.2