ejabberd: fix failing tests
This commit fixes the ejabberd tests for hydra: mod_http_upload and mod_disco need to be explicitly enabled, and a handler needs to be setup to make it work. Also, the client needs to be able to contact the server. The commit also fixes the situation where http upload failed: in that case the client would wait forever because nothing catched the error. Finally, there remains a non-reproducible error where ejabberd server fails to start with an error like: format: "Failed to create cookie file '/var/lib/ejabberd/.erlang.cookie': eacces" (happens ~15%) I tried to check existence of /var/lib/ejabberd/ in pre-start script and saw nothing that would explain this error, so I gave up about this error in particular.
This commit is contained in:
parent
959c0bf468
commit
cdaec7e9ed
@ -5,6 +5,10 @@ import ../make-test-python.nix ({ pkgs, ... }: {
|
||||
};
|
||||
nodes = {
|
||||
client = { nodes, pkgs, ... }: {
|
||||
networking.extraHosts = ''
|
||||
${nodes.server.config.networking.primaryIPAddress} example.com
|
||||
'';
|
||||
|
||||
environment.systemPackages = [
|
||||
(pkgs.callPackage ./xmpp-sendmessage.nix { connectTo = nodes.server.config.networking.primaryIPAddress; })
|
||||
];
|
||||
@ -46,6 +50,11 @@ import ../make-test-python.nix ({ pkgs, ... }: {
|
||||
module: ejabberd_service
|
||||
access: local
|
||||
shaper: fast
|
||||
-
|
||||
port: 5444
|
||||
module: ejabberd_http
|
||||
request_handlers:
|
||||
"/upload": mod_http_upload
|
||||
|
||||
## Disabling digest-md5 SASL authentication. digest-md5 requires plain-text
|
||||
## password storage (see auth_password_format option).
|
||||
@ -180,6 +189,7 @@ import ../make-test-python.nix ({ pkgs, ... }: {
|
||||
mod_client_state: {}
|
||||
mod_configure: {} # requires mod_adhoc
|
||||
## mod_delegation: {} # for xep0356
|
||||
mod_disco: {}
|
||||
#mod_irc:
|
||||
# host: "irc.@HOST@"
|
||||
# default_encoding: "utf-8"
|
||||
@ -187,9 +197,9 @@ import ../make-test-python.nix ({ pkgs, ... }: {
|
||||
## mod_http_fileserver:
|
||||
## docroot: "/var/www"
|
||||
## accesslog: "/var/log/ejabberd/access.log"
|
||||
#mod_http_upload:
|
||||
# thumbnail: false # otherwise needs the identify command from ImageMagick installed
|
||||
# put_url: "https://@HOST@:5444"
|
||||
mod_http_upload:
|
||||
thumbnail: false # otherwise needs the identify command from ImageMagick installed
|
||||
put_url: "http://@HOST@:5444/upload"
|
||||
## # docroot: "@HOME@/upload"
|
||||
#mod_http_upload_quota:
|
||||
# max_days: 14
|
||||
|
@ -36,7 +36,11 @@ class CthonTest(ClientXMPP):
|
||||
def timeout_callback(arg):
|
||||
log.error("ERROR: Cannot upload file. XEP_0363 seems broken")
|
||||
sys.exit(1)
|
||||
url = await self['xep_0363'].upload_file("${dummyFile}",timeout=10, timeout_callback=timeout_callback)
|
||||
try:
|
||||
url = await self['xep_0363'].upload_file("${dummyFile}",timeout=10, timeout_callback=timeout_callback)
|
||||
except:
|
||||
log.error("ERROR: Cannot run upload command. XEP_0363 seems broken")
|
||||
sys.exit(1)
|
||||
log.info('Upload success!')
|
||||
# Test MUC
|
||||
self.plugin['xep_0045'].join_muc('testMucRoom', 'cthon98', wait=True)
|
||||
|
Loading…
Reference in New Issue
Block a user