louiz’
548e4ad473
Parse the timezone myself, instead of using the broken strptime
...
See
https://lab.louiz.org/louiz/biboumi/issues/3215
https://github.com/andikleen/glibc/blob/master/time/strptime_l.c#L746-L747
for why strptime() sucks
We use std::get_time now, to parse the date and time. And we parse the
timezone by hand.
fix #3215
2016-10-11 00:20:43 +02:00
louiz’
8cf292fa44
e2e: add expec_unordered to be able to test things even if the arrive in a different order
...
Also, some tests that were raising some exception and thus were not ran at all
fix #3213
2016-10-07 23:26:44 +02:00
louiz’
6ca8cd505f
Cleanup __main__.py a little bit
2016-10-07 23:25:26 +02:00
louiz’
1d197ff26c
Respond to muc#traffic requests
...
fix #3069
2016-10-04 19:32:45 +02:00
louiz’
28f1dd7654
Make version requests work with global user JIDs as well
...
fix #3210
2016-10-03 21:35:16 +02:00
louiz’
e5b392ece8
Fix parse_datetime by always using a 'z' as the timezone
...
Because some plateform accept Z and z, but some only accept z…
2016-10-03 17:58:16 +02:00
louiz’
b2f14f9a46
Modify the charybdis conf to disable the LIST throttling
2016-10-03 01:08:48 +02:00
louiz’
76a8189b46
Implement result-set-management for LIST queries
...
ref #2948
2016-10-03 01:08:48 +02:00
louiz’
ffad4306b9
Use LIST * instead of just LIST, because some servers don’t accept it
...
Also add a e2e test for the list query
2016-10-02 12:57:04 +02:00
louiz’
93ebf45f30
Make history messages work with fixed_irc_server
...
fix #3209
2016-09-20 19:02:12 +02:00
louiz’
aaa2ca670a
Fix the parse_datetime by using %Z instead of %z
...
If anybody knows why fedora accepts both, but it only works with %z on
debian, please tell me.
2016-09-17 00:34:28 +02:00
louiz’
3047bd41b2
MAM results can be filtered by start and end dates
2016-09-04 22:58:38 +02:00
louiz’
1140db3b88
Add parse_datetime
2016-08-31 01:58:13 +02:00
louiz’
2a4905df01
Fix to_string(time_t) and write a unit test for it
2016-08-31 01:17:45 +02:00
louiz’
7536a1b3f3
Respond to MAM requests on a channel JID
...
At the moment, result-set-management is not implemented, the whole history
(well, at most 1024 messages) is returned.
2016-08-28 22:42:50 +02:00
louiz’
20b187daa0
Do not fail e2e if the database cannot be removed because it's not there
2016-08-23 11:58:30 +02:00
louiz’
f7fa34436a
Delete the database before each e2e test, to start fresh
2016-08-22 21:30:59 +02:00
louiz’
992fa93895
Add get_first_non_empty and use it into Database to simplify a little bit
2016-08-21 01:51:52 +02:00
louiz’
c97e349821
Remove dns unit tests, because they are not *unit* test (depends on network…)
2016-08-20 02:36:41 +02:00
louiz’
5406de35a3
On a client error, do not QUIT, just make the resource leave all channels
...
This should fix #3205
2016-08-17 20:47:33 +02:00
louiz’
a4ab1db55f
e2e test self invite
2016-08-16 16:18:08 +02:00
louiz’
0d2dd71de5
Don’t use ! as the separator for nicknames, use % instead
...
It’s now easier to use. The distinction between a nick and a channel name is
based on the first character (by default it's '#' and '&'). The user doesn’t
have to worry about which separator to use anymore.
fix #3066
2016-08-10 15:48:28 +02:00
louiz’
ec0e87a965
Test the version request, in many ways
2016-08-03 14:28:29 +02:00
louiz’
3fbe01bb30
Test the kick on a multisession nick
2016-08-02 11:11:27 +02:00
louiz’
4790295313
test kick
2016-07-31 18:16:29 +02:00
louiz’
0d1e0629e7
Fix the timeout test, now that we don't wait 1ms too much everytime
2016-07-28 10:47:44 +02:00
louiz’
c7e4fc1386
Test the resolving of multiple hostnames at the same time
2016-07-25 14:59:25 +02:00
louiz’
4c1b9abe7e
Properly catch and handle database errors
...
Do not use a singleton for the database.
fix #3203
2016-07-12 00:31:57 +02:00
louiz’
81f8f45b37
Replace all include guards by #pragma once
...
It’s $CURRENT_YEAR
2016-07-04 17:53:53 +02:00
louiz’
0ce75ab521
Properly remove the resource from the server when we leave the last channel
2016-07-03 16:01:15 +02:00
louiz’
8cef730318
Add a valgrind suppression file
2016-07-02 15:10:23 +02:00
louiz’
79002aa5c9
Run e2e through with valgrind if BIBOUMI_E2E_VALGRIND is set in the env
2016-06-29 19:53:37 +02:00
louiz’
2fe8878169
Add a e2e test that checks self-ping with multiple resources behind one nick
2016-06-24 11:43:13 +02:00
louiz’
7ae29890c3
Add a e2e for self-ping, with a single channel resource
2016-06-24 11:25:04 +02:00
louiz’
4e959a3869
Add a simple e2e test that joins a channel with xep0106-encoded name
2016-06-23 22:50:05 +02:00
louiz’
4b1c580bb9
cut messages at 512 bytes, taking into account the UTF-8 codepoints
...
ref #3067
2016-06-15 15:50:45 +02:00
louiz’
80d0c19c5a
Refactor, test and improve the way we cut too-long messages for IRC
2016-06-14 20:14:36 +02:00
louiz’
46ff73662c
Clean the Config module, use static things instead of a stupid singleton
2016-06-14 03:02:36 +02:00
louiz’
550ab46f02
Make the logger tests more useful
2016-06-13 20:46:30 +02:00
louiz’
5a2e611617
Show off, with some variadic templates, for the logger module
2016-06-13 20:46:30 +02:00
louiz’
272c0e4995
Reset the preferred private JID when all resources leave a room
...
For example if we are talking in private with nick Joe from
room #foo, and then we leave that room, we start receiving Joe’s
message from the server-wide JID
e2e tests included!!!
2016-06-10 10:00:48 +02:00
louiz’
7540f67933
Add some e2e tests to check that private messages come from the right JIDs
2016-06-09 16:32:23 +02:00
louiz’
199f010f52
Add a basic e2e test for channel and private messages
2016-06-08 11:49:44 +02:00
louiz’
367de4826c
Associate a bridge with a bare JID instead of a full JID
...
ref #2556
2016-06-08 01:42:43 +02:00
louiz’
8f80b9c530
Test the execution of the hello command
2016-05-13 15:17:29 +02:00
louiz’
0b1bf92479
e2e: possibility to extract a value from a stanza and reuse it in send_stanza
2016-05-13 15:17:29 +02:00
louiz’
98517e9a7b
Change the name of the DB in the e2e tests
2016-04-27 11:04:05 +02:00
louiz’
1e56c59e82
Include the Configure ad-hoc command on biboumi's JID for fixed_irc_server
...
Because a jid like “freenode.example.org” is both the JID for the configured
IRC server, and biboumi’s JID.
fix #3175
2016-04-27 11:03:52 +02:00
louiz’
82e0cf99b0
Trivial cleanup
2016-04-25 10:43:20 +02:00
louiz’
d452c2ff18
Add e2e tests for the ad-hoc listing on the server jid
2016-04-25 10:43:20 +02:00