def test_from_decr_message(self): valid_messages = [ 'foobar--', '@foobar--', '@foobar --', '@foobar -1', '@foobar-1', '@foobar, -1', '@foobar, - 1 ', ] for msg in valid_messages: message = Message(username="******", text=msg, display_name="Joe") cmd = KarmaCmd.from_message(message) self.assertEqual(cmd.type, KARMA_DECR) self.assertEqual(cmd.username, "foobar") message = Message(username="******", text='foo__bar--', display_name="Joe") cmd = KarmaCmd.from_message(message) self.assertEqual(cmd.type, KARMA_DECR) self.assertEqual(cmd.username, "foo__bar") message = Message(username="******", text='foo-bar--', display_name="Joe") cmd = KarmaCmd.from_message(message) self.assertEqual(cmd.type, KARMA_DECR) self.assertEqual(cmd.username, "foo-bar") message = Message(username="******", text="foo Bar--", display_name="Joe") self.assertIsNone(KarmaCmd.from_message(message))
def test_from_stat_message(self): message = Message(username="******", text="/karma", display_name="Joe") cmd = KarmaCmd.from_message(message) self.assertEqual(cmd.type, KARMA_STAT) self.assertEqual(cmd.username, "joe") message = Message(username="******", text="/KARMA ", display_name="Joe") cmd = KarmaCmd.from_message(message) self.assertEqual(cmd.type, KARMA_STAT) self.assertEqual(cmd.username, "joe") message = Message(username="******", text="Моя карма", display_name="Joe") cmd = KarmaCmd.from_message(message) self.assertEqual(cmd.type, KARMA_STAT) self.assertEqual(cmd.username, "joe") message = Message(username="******", text="/karma foobar", display_name="Joe") cmd = KarmaCmd.from_message(message) self.assertEqual(cmd.type, KARMA_STAT) self.assertEqual(cmd.username, "foobar") message = Message(username="******", text="/karma foobar ", display_name="Joe") self.assertEqual(cmd.type, KARMA_STAT) self.assertEqual(cmd.username, "foobar")
def test_from_top(self): message = Message(username="******", text="/karma-top", display_name="Joe") cmd = KarmaCmd.from_message(message) self.assertEqual(cmd.type, KARMA_TOP) self.assertEqual(cmd.username, "joe") self.assertEqual(cmd.args, (10, )) message = Message(username="******", text="/karma-top 100", display_name="Joe") cmd = KarmaCmd.from_message(message) self.assertEqual(cmd.type, KARMA_TOP) self.assertEqual(cmd.username, "joe2") self.assertEqual(cmd.args, (100, ))
def test_from_string(self): with self.assertRaises(ValueError): Message.from_string("invalid json") with self.assertRaises(ValueError): Message.from_string('''{ "invalid_key": "value", "username": "******", "text": "Hello!", "display_name": "Joe", }''') message = Message.from_string('''{ "username": "******", "text": "Hello!", "display_name": "Joe" }''') self.assertEqual(message.username, "joe") self.assertEqual(message.text, "Hello!") self.assertEqual(message.display_name, "Joe")
def test_from_invalid_message(self): message = Message(username="******", text="hello", display_name="Joe") self.assertIsNone(KarmaCmd.from_message(message))
def test_init(self): message = Message("joe", "Hello!", "Joe") self.assertEqual(message.username, "joe") self.assertEqual(message.text, "Hello!") self.assertEqual(message.display_name, "Joe")