Lance Stout
a8e3657487
Added new XEP-0059 plugin.
...
Contributed by Erik Reuterborg Larsson (who).
2011-01-08 10:58:47 -05:00
Lance Stout
c156a4f723
Merge branch 'develop' into roster
2011-01-05 16:53:33 -05:00
Lance Stout
8749f5e09b
Make the new XEP-30 plugin retain older API signatures.
2010-12-28 15:43:00 -05:00
Lance Stout
3657bf6636
Merge branch 'develop' into roster
2010-12-21 11:33:40 -05:00
Lance Stout
34c374a1e1
Make tests pass for catching exceptions.
...
May now use sys.excepthook to catch exceptions
from threaded handlers.
2010-12-17 13:11:03 -05:00
Lance Stout
c16913c999
Merge branch 'develop' into roster
...
Conflicts:
sleekxmpp/basexmpp.py
2010-12-13 14:36:53 -05:00
Lance Stout
f4451fe6b7
First pass at a new XEP-0030 plugin.
...
Now with dynamic node handling goodness.
Some things are not quite working yet, in particular:
set_items
set_info
set_identities
set_features
And still need more unit tests to round things out.
2010-12-09 18:57:27 -05:00
Lance Stout
8d4e77aba6
Fix xml:lang tostring test.
2010-12-08 00:18:04 -05:00
Lance Stout
f474d378ef
Add support for using xml:lang values.
...
Support is only for adding literal XML content
to stanzas. Full support for things like multiple
message bodies with different xml:lang values is
still in the works.
2010-12-07 23:07:40 -05:00
Lance Stout
5f2fc67c40
Added option for iq.send to accept a callhandler.
...
The callback will be a stream level handler, and will not
execute in its own thread. If you must have a thread, have the
callback function raise a custom event, which can be processed
by another event handler, which may run in an individual thread,
like so:
def handle_reply(self, iq):
self.event('custom_event', iq)
def do_long_operation_in_thread(self, iq):
...
self.add_event_handler('custom_event', self.do_long_operation_in_thread)
...take out already prepared iq stanza...
iq.send(callback=self.handle_reply)
2010-12-07 17:19:39 -05:00
Lance Stout
ab25301953
Adding stream tests for XEP-0030.
...
Fixed some errors when responding to disco requests.
2010-11-18 15:50:45 -05:00
Lance Stout
58b95e4ae4
Merge branch 'develop' of github.com:fritzy/SleekXMPP into roster
2010-11-18 00:44:51 -05:00
Lance Stout
ea48bb5ac5
Fixed some live stream test errors.
...
Added test demonstrating using multiple stream clients
in a single test.
2010-11-17 15:45:16 -05:00
Lance Stout
debf909359
Merge branch 'develop' into roster
2010-11-17 14:33:09 -05:00
Lance Stout
b8114b25ed
Make live stream tests work better.
...
SleekTest can now use matchers when checking stanzas, using
the method parameter for self.check(), self.recv(), and self.send():
method='exact' - Same behavior as before
'xpath' - Use xpath matcher
'id' - Use ID matcher
'mask' - Use XML mask matcher
'stanzapath' - Use StanzaPath matcher
recv_feature and send_feature only accept 'exact' and 'mask' for now.
2010-11-17 13:43:15 -05:00
Lance Stout
d2aca3e7e0
Remove extraneous files.
2010-11-17 02:04:36 -05:00
Lance Stout
26aca2b789
Merge branch 'roster' of github.com:fritzy/SleekXMPP into roster
...
Conflicts:
sleekxmpp/basexmpp.py
sleekxmpp/roster.py
sleekxmpp/test/sleektest.py
tests/test_stream_presence.py
tests/test_stream_roster.py
2010-11-17 02:01:12 -05:00
Lance Stout
5424ede413
More cleanup.
2010-11-17 01:54:30 -05:00
Lance Stout
69d430dd75
Cleaned up names.
2010-11-17 01:49:51 -05:00
Lance Stout
673545c7e4
First pass at integrating the new roster manager.
2010-11-17 01:49:19 -05:00
Lance Stout
d0c506f930
Simplified SleekTest.
...
* check_stanza does not require stanza_class parameter. Introspection!
* check_message, check_iq, and check_presence removed -- use check
instead.
* stream_send_stanza, stream_send_message, stream_send_iq, and
stream_send_presence removed -- use send instead.
* Use recv instead of recv_message, recv_presence, etc.
* check_jid instead of check_JID
* stream_start may accept multi=True to return a new SleekTest instance
for testing multiple streams at once.
2010-11-05 21:18:48 -04:00
Lance Stout
c6ed4b8a1d
Cleaned up names.
2010-10-27 08:09:50 -04:00
Lance Stout
65aa6573df
First pass at integrating the new roster manager.
2010-10-26 23:47:17 -04:00
Lance Stout
5bdcd9ef9d
Made exceptions work.
...
Raising an XMPPError exception from an event handler now works, even if
from a threaded handler.
Added stream tests to verify.
We should start using XMPPError, it really makes things simple!
2010-10-25 15:09:56 -04:00
Lance Stout
2eff35cc7a
Added more presence stream tests.
...
Tests auto_authorize=False, and got_online.
2010-10-25 13:21:00 -04:00
Lance Stout
ac330b5c6c
Fixed bug in presence subscription handling.
...
Subscription requests and responses were not setting the correct 'to'
attribute.
2010-10-25 12:52:32 -04:00
Lance Stout
46ffa8e9fe
Added stream tests for presence events.
...
First batch of tests, currently focuses on the got_offline event.
2010-10-24 19:57:07 -04:00
Lance Stout
03847497cc
Added test for error stanzas.
2010-10-24 19:56:42 -04:00
Lance Stout
185d7cf28e
More JID unit tests.
...
sleekxmpp.xmlstream.jid now has 100% coverage!
2010-10-24 19:06:54 -04:00
Lance Stout
9e3d506651
Fixed resource bug in JIDs.
...
JIDs without resources will return '' instead of the bare JID.
Cleaned up JID tests, and added check_JID to SleekTest.
2010-10-24 18:22:41 -04:00
Lance Stout
d528884723
Added stream tests for rosters.
2010-10-24 12:53:14 -04:00
Lance Stout
8f55704928
Fixed mixed text and elements bug in tostring.
...
XML of the form <a>foo <b>bar</b> baz</a> was outputted as
<a>foo <b>bar</b> baz baz</a>.
Includes unit test.
2010-10-21 16:21:28 -04:00
Lance Stout
4375ac7d8b
Underscore names by default.
...
Stanza objects now accept the use of underscored names.
The CamelCase versions are still available for backwards compatibility,
but are discouraged.
The property stanza.values now maps to the old getStanzaValues and
setStanzaValues, in addition to _set_stanza_values and
_get_stanza_values.
2010-10-17 22:04:42 -04:00
Lance Stout
b0e036d03c
Added example live stream test.
...
Run using:
python tests/live_test.py
2010-10-07 19:46:40 -04:00
Lance Stout
e02ffe8547
Corrected test errors.
...
There was a bug in the XML compare method.
2010-10-07 19:42:28 -04:00
Lance Stout
0fffbb8200
Unit test reorganization.
...
Moved SleekTest to sleekxmpp.test.
Organized test suites by their focus.
- Suites focused on testing stanza objects are named test_stanza_X.py
- Suites focused on testing stream behavior are name test_stream_X.py
2010-10-07 10:58:13 -04:00
Lance Stout
75a051556f
Changed SleekTest to use underscored names.
2010-10-07 09:22:27 -04:00
Lance Stout
88d21d210c
Corrected stream header tester.
...
Added test for testing stream headers.
2010-10-06 18:46:23 -04:00
Lance Stout
f234dc02cf
Updated SleekTest and related tests.
...
May now use a component for stream testing.
Methods provided for testing stream headers.
2010-10-06 18:10:04 -04:00
Lance Stout
9f0baec7b2
Made first pass at cleaning BaseXMPP.
...
Have not intregrated the new JID class yet.
2010-10-01 23:56:46 -04:00
Lance Stout
9a34c9a9a1
Modified event handling to use the event queue.
...
Updated tests to match. (Needed to add a small wait to make sure
the event got through the queue before checking the results.)
2010-10-01 13:49:58 -04:00
Lance Stout
3749c1b88c
Fixed ElementBase.match to match using sub_interface elements.
2010-08-30 17:12:10 -04:00
Lance Stout
9c62bce206
Updated ElementBase.match to respect namespaces with slashes.
...
Required adding option to _fix_ns to not propagate namespaces to child elements.
2010-08-30 14:55:30 -04:00
Lance Stout
89fb15e896
Updated the suite of handler classes with documentation.
...
Updated XMLStream to return True or False from removeHandler to indicate if the handler
existed and was removed.
Waiter handlers now unregister themselves after timing out.
2010-08-27 16:42:26 -04:00
Lance Stout
906aa0bd68
Fixed SleekTest compare method to check XML text.
...
Corrected resulting test failures. All pass again.
2010-08-27 15:48:48 -04:00
Lance Stout
bb6f4af8e2
Added unit tests for StanzaBase.
2010-08-27 12:22:35 -04:00
Lance Stout
37ff17b0cb
Added unit test for _fix_ns for handling namespaces with forward slashes.
2010-08-26 18:27:18 -04:00
Lance Stout
d68bc2ba07
Finished the update of ElementBase with docs and unit tests.
...
Corrected bugs in equality comparisons between stanzas.
2010-08-26 13:49:36 -04:00
Lance Stout
a3580dcef9
Fixed ElementBase.match to respect namespaces.
2010-08-25 14:54:09 -04:00
Lance Stout
1eaa9cb28c
Updated ElementBase.match and added unit tests.
2010-08-25 14:40:16 -04:00
Lance Stout
5d458bf6c2
Updated ElementBase._delSub and added unit tests.
...
_delSub can now accept a path and will optionally remove any empty parent elements after deleting the target elements.
2010-08-25 10:52:07 -04:00
Lance Stout
c8f406d1b3
Updated ElementBase._setSubText and added unit tests.
...
_setSubText can now handle elements specified by an XPath expression, and
will build up the element tree as needed, reusing an existing elements in
the path.
2010-08-24 09:37:42 -04:00
Lance Stout
203986dd7c
Updated ElementBase._getSubText and added unit tests.
...
Also added ElementBase._fix_ns() to apply the stanza namespace to elements that don't have a namespace.
2010-08-24 08:55:37 -04:00
fritzy
f4ecf0bac4
fixed a but in stanza_pubsub
2010-08-22 06:08:48 +00:00
Lance Stout
8a0616b3e0
Updated ElementBase methods _getAttr, _setAttr, and _delAttr with docs and tests.
2010-08-19 20:41:26 -04:00
Lance Stout
fac3bca1f6
Updated ElementBase.__delitem__ and added unit tests.
2010-08-19 19:11:12 -04:00
Lance Stout
e4240dd593
Updated ElementBase.__setitem__ and added unit tests.
2010-08-19 14:21:58 -04:00
Lance Stout
2f6f4fc16d
Updated ElementBase.__getitem__ with docs and unit tests.
2010-08-13 21:33:11 -04:00
Lance Stout
fe49b8c377
Updated getStanzaValues and setStanzaValues with docs and unit tests.
2010-08-13 20:05:24 -04:00
Lance Stout
c20fab0f6c
Updated ElementBase.setup, and added unit tests.
2010-08-13 12:24:47 -04:00
Lance Stout
c721fb4126
Added a generic checkStanza method to SleekTest. Updated the other check methods to use it.
2010-08-13 12:23:34 -04:00
Lance Stout
5da7bd1866
Removed unused xmlcompare.py.
2010-08-12 01:26:01 -04:00
Lance Stout
22134c302b
Updated SleekTest with docs and PEP8 style.
2010-08-12 01:25:42 -04:00
Lance Stout
b40a489796
Updated roster stanza with docs and PEP8 style.
2010-08-11 23:32:14 -04:00
Lance Stout
7a5ef28492
Updated SleekTest.streamClose to check that the stream was actually started before closing it.
...
Updated tests for Iq stanzas to not start a stream for every test; tests now run a lot faster.
The call to streamClose must still be in the tearDown method to ensure it is called in the
case of an error.
2010-08-11 18:41:57 -04:00
Lance Stout
48ba7292bc
Updated SleekTest to use the new tostring function instead of ET.tostring
2010-08-06 12:04:52 -04:00
Lance Stout
0d0c044a68
Add unit tests for the tostring function.
2010-08-05 20:57:55 -04:00
Lance Stout
58f77d898f
Updated tests to use a relative import for SleekTest to please Python3.
...
Fixed some tabs/spaces issues.
2010-08-05 20:23:07 -04:00
Lance Stout
fec69be731
Update nick stanza with documentation and PEP8 style.
2010-08-03 18:32:53 -04:00
Lance Stout
956fdf6970
Fix whitespace issues, and make some debugging statements clearer.
2010-08-03 18:32:19 -04:00
Lance Stout
183a3f1b87
Updated XHTML-IM stanza with documentation and PEP8 style.
2010-08-03 17:58:18 -04:00
Lance Stout
41ab2b8460
Updated presence stanza with documentation and PEP8 style.
2010-08-03 17:30:34 -04:00
Lance Stout
939ae298c2
Updated message stanzas and tests with documentation and PEP8 style.
2010-08-03 12:26:36 -04:00
Lance Stout
cbed8029ba
Updated, cleaned, and documented Iq stanza class. Also added unit tests.
2010-07-29 23:58:25 -04:00
Lance Stout
1da3e5b35e
Added unit tests for error stanzas. Corrected error in deleting conditions.
2010-07-29 23:55:13 -04:00
Lance Stout
a96a046e27
Remove extra debugging lines and speed up stream testing in SleekTest.
2010-07-29 23:15:49 -04:00
Lance Stout
aad185fe29
Update test to reflect change in reply() method that removes the from attribute.
2010-07-26 21:38:23 -04:00
Nathan Fritz
2cb82afc2c
updated and moved jid class -- jids now have setters
2010-07-26 18:13:09 -07:00
Lance Stout
5c9b47afbd
Update test_events to use SleekTest to make everything consistent.
2010-07-20 12:22:25 -04:00
Lance Stout
7ad0143687
Updated pubsub stanzas to use xep_0004 stanza objects, and updated tests to match.
2010-07-20 12:18:38 -04:00
Lance Stout
de24e9ed45
Lots of XEP-0004 bug fixes.
...
Forms have default type of 'form'
setFields now uses a list of tuples instead of a dictionary because ordering is important.
getFields defaults to returning a list of tuples, but the use_dict parameter can change that
2010-07-20 12:16:57 -04:00
Lance Stout
690eaf8d3c
Updated license notices to use the correct MIT format. Also corrected references to nonexistant license.txt to LICENSE.
2010-07-20 11:19:49 -04:00
Lance Stout
f505e229d6
Updated message stanza tests.
2010-07-20 01:56:18 -04:00
Lance Stout
bb927c7e6a
Updated presence stanza to include a 'show' interface. Presence stanza tests updated accordingly.
2010-07-20 00:04:34 -04:00
Lance Stout
14f1c3ba51
Updated SleekTest to implement the checkPresence method.
...
Also, removed unnecessary TestStream class and shortened timeout during stream connection.
2010-07-19 23:58:33 -04:00
Nathan Fritz
85ee30539d
more set/get Values changes
2010-07-19 16:26:25 -07:00
Nathan Fritz
f74baf1c23
updated sleektest to use new stanza get/set values api
2010-07-19 16:25:01 -07:00
Lance Stout
d5e42ac0e7
Condensed all of the stanzaPlugin functions into a single registerStanzaPlugin function.
...
Updated plugins and tests to use new function.
2010-07-19 13:58:53 -04:00
Lance Stout
35212c7991
Updated SleekTest to be able to simulate and test interactions with an XML stream.
2010-07-14 15:32:14 -04:00
Lance Stout
48f0843ace
Added initial stanza object version of the xep_0004 plugin. Items/reported elements still need to be unit tested
2010-07-14 11:59:58 -04:00
Lance Stout
b1c997be1d
Reworked the Gmail notification plugin to use stanza objects and expose more information.
2010-07-11 22:01:51 -04:00
Lance Stout
7f8179d91e
Refactored unit tests for XEP-0030, XEP-0033, and XEP-0085 to use the new SleekTest class.
2010-06-27 17:47:32 -04:00
Lance Stout
5c76d969f7
Added a new SleekTest class that provides useful methods for test cases.
...
Can now use: (where self is a SleekTest instance)
self.stanzaPlugin(stanza, plugin)
self.Message() \
self.Iq() > Just like basexmpp.Message(), etc.
self.Presence() /
self.checkMessage(msg, xmlstring)
self.checkIq(iq, xmlstring)
self.checkPresence(pres, xmlstring) <- Not implemented yet, but stub is there.
The check* methods also accept a use_values keyword argument that defaults to True.
When this value is True, an additional test is executed by creating a stanza using
getValues() and setValues(). Since some stanza objects can override these two methods,
disabling this test is sometimes required.
2010-06-27 17:33:43 -04:00
Lance Stout
646a609c0b
Added plugin and tests for XEP-0033, Extended Stanza Addresses.
...
XEP-0033 can be useful for interacting with XMPP<->Email gateways.
2010-06-22 23:22:50 -04:00
Lance stout
109af1b1b6
Merge branch 'xep_0085' into develop
2010-05-31 13:31:11 -04:00
Lance stout
629f6e76a9
Added implementation and tests for XEP-0085 - Chat State Notifications.
...
Chat states may be set using:
msg['chat_state'].active()
msg['chat_state'].composing()
msg['chat_state'].gone()
msg['chat_state'].inactive()
msg['chat_state'].paused()
Checking a chat state can be done with either:
msg['chat_state'].getState()
msg['chat_state'].name
When a message with a chat state is receieved, the following events
may occur:
chatstate_active
chatstate_composing
chatstate_gone
chatstate_inactive
chatstate_paused
where the event data is the message stanza. Note that currently these
events are also triggered for messages sent by SleekXMPP, not just those
received.
2010-05-31 13:24:14 -04:00
Lance Stout
9fee87c258
Added unit tests for the new XEP-0030 stanza objects. All pass.
...
(cherry picked from commit e1b814f27bf160f20bb30c315ca30769d217482d)
2010-05-31 05:30:47 +08:00
Nathan Fritz
3a28f9e5d2
added pubsub state stanzas and scheduled events
2010-05-27 04:58:57 -07:00
Nathan Fritz
fa92bc866b
fixed dns unicode problem
2010-05-26 11:37:01 -07:00
Nathan Fritz
feaa7539af
added test_events and testing new del_event_handler
2010-05-20 13:09:04 -07:00
Nathan Fritz
ae41c08fec
added test for unsolicided unavailable presence and fixed bug to make it pass
2010-05-12 18:07:20 -07:00
Nathan Fritz
e2f841146a
forgot to add file required to pass testall.py
2010-04-22 23:40:50 -07:00
Nathan Fritz
37b571c55a
added pubsub#event stanzas, multi-subtypes iterable stanzas, pubsub#event test coverage
2010-04-21 23:51:37 -07:00
Nathan Fritz
212660091f
added pubsub tests and fixed match on iterator error
2010-04-19 01:03:27 -07:00
Nathan Fritz
80e7e0d0ee
adding tests, fixed stanzapath matching to match keys, fixed pubsub#owner stanzas
2010-04-14 01:23:17 -07:00
Nathan Fritz
2384858f5e
fixed html-im stanza plugin
2010-04-07 23:56:44 -07:00
Nathan Fritz
dd77d2165d
added missing docstrings to tests and added deprecated warning to basexmpp.send when using xml mask waiting
2010-04-07 23:32:15 -07:00
Nathan Fritz
0659ddeff0
added memleak test and attempted to fix presence leak
2010-03-26 13:27:13 -07:00
Nathan Fritz
23b9930c44
added separate tostring files
2010-01-29 02:11:45 -08:00
Nathan Fritz
e39a2395d7
xep 30 and 50 always reply from jid iq sent to
2010-01-15 21:07:28 -08:00
Nathan Fritz
6e1aa0690f
Completed basic test coverage of xmlns http://jabber.org/protocol/pubsub stanzas
2010-01-13 09:04:05 -08:00
Nathan Fritz
da56bef90b
* tests need module file
2010-01-08 07:07:43 +00:00
Nathan Fritz
218c7318e0
* added tests
2010-01-08 07:01:19 +00:00
Nathan Fritz
0af468b435
* fixed stanza.keys()
2010-01-08 05:26:37 +00:00
Nathan Fritz
8e3168e145
* added first stanza tests
...
* added stanza.keys()
* stanza.getValues() now return substanzas and plugins
* stanza.setValues() now can read substanzas and plugins
* stanzas can now be iterable if stanza.subitem is set to a class
2010-01-08 01:45:11 +00:00