File: test_stanza_xep_0085.py

package info (click to toggle)
slixmpp 1.2.2-1.1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 4,364 kB
  • ctags: 6,168
  • sloc: python: 30,503; makefile: 129
file content (49 lines) | stat: -rw-r--r-- 1,568 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import unittest
from slixmpp import Message
from slixmpp.test import SlixTest
import slixmpp.plugins.xep_0085 as xep_0085
from slixmpp.xmlstream import register_stanza_plugin


class TestChatStates(SlixTest):

    def setUp(self):
        register_stanza_plugin(Message, xep_0085.stanza.Active)
        register_stanza_plugin(Message, xep_0085.stanza.Composing)
        register_stanza_plugin(Message, xep_0085.stanza.Gone)
        register_stanza_plugin(Message, xep_0085.stanza.Inactive)
        register_stanza_plugin(Message, xep_0085.stanza.Paused)

    def testCreateChatState(self):
        """Testing creating chat states."""

        xmlstring = """
          <message>
            <%s xmlns="http://jabber.org/protocol/chatstates" />
          </message>
        """

        msg = self.Message()

        self.assertEqual(msg['chat_state'], '')
        self.check(msg, "<message />", use_values=False)

        msg['chat_state'] = 'active'
        self.check(msg, xmlstring % 'active', use_values=False)

        msg['chat_state'] = 'composing'
        self.check(msg, xmlstring % 'composing', use_values=False)

        msg['chat_state'] = 'gone'
        self.check(msg, xmlstring % 'gone', use_values=False)

        msg['chat_state'] = 'inactive'
        self.check(msg, xmlstring % 'inactive', use_values=False)

        msg['chat_state'] = 'paused'
        self.check(msg, xmlstring % 'paused', use_values=False)

        del msg['chat_state']
        self.check(msg, "<message />")

suite = unittest.TestLoader().loadTestsFromTestCase(TestChatStates)