+++ /dev/null
-# -*- coding: utf-8 -*-
-"""Test Coffeebot Getter."""
-from requests import Response
-from unittest import TestCase
-from cbdb import ArgCountError
-from cbgetter import CoffeebotGetter
-
-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 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)
-
- def test_drink_smile(self):
- smiles = {
- "tea": ":tea:",
- "espresso": ":coffee:",
- "espresso lungo": ":owl:",
- "cappuccino": ":flara:",
- "latte macchiato": ":baby_bottle:",
- "Club-Mate 0,5 l": ":club-mate:",
- "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], ":")
-
-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.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)
-
- def test_equal_drinkers_len(self):
- g = CoffeebotGetter()
- g.top = self.TOP
- g.computeEqualDrinkers()
- self.assertEqual(len(g.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(
- ArgCountError,
- g.loadDrunkSum,
- ["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"])
- self.assertRaises(
- ArgCountError,
- g.loadDrunkList,
- ["espresso", "2010-10-20"]
- )
- self.assertRaises(
- ArgCountError,
- g.loadDrunkList,
- ["espresso", "lungo", "2010-10-20", "2020-10-20"]
- )