#!/usr/bin/env python # -*- coding: utf-8 -*- # vim:fenc=utf-8 # # This file is part of Supysonic. # Supysonic is a Python implementation of the Subsonic server API. # # Copyright (C) 2017 Alban 'spl0k' FĂ©ron # # Distributed under terms of the GNU AGPLv3 license. import unittest import time from .apitestbase import ApiTestBase class ChatTestCase(ApiTestBase): def test_add_message(self): self._make_request('addChatMessage', error = 10) rv, child = self._make_request('getChatMessages', tag = 'chatMessages') self.assertEqual(len(child), 0) self._make_request('addChatMessage', { 'message': 'Heres a message' }, skip_post = True) rv, child = self._make_request('getChatMessages', tag = 'chatMessages') self.assertEqual(len(child), 1) self.assertEqual(child[0].get('username'), 'alice') self.assertEqual(child[0].get('message'), 'Heres a message') def test_get_messages(self): self._make_request('addChatMessage', { 'message': 'Hello' }, skip_post = True) time.sleep(1) self._make_request('addChatMessage', { 'message': 'Is someone there?' }, skip_post = True) rv, child = self._make_request('getChatMessages', tag = 'chatMessages') self.assertEqual(len(child), 2) rv, child = self._make_request('getChatMessages', { 'since': int(time.time()) * 1000 - 500 }, tag = 'chatMessages') self.assertEqual(len(child), 1) self.assertEqual(child[0].get('message'), 'Is someone there?') self._make_request('getChatMessages', { 'since': 'invalid timestamp' }, error = 0) if __name__ == '__main__': unittest.main()