From 405e7c21c3c7e93359393c0fdb9d65f7756c57bc Mon Sep 17 00:00:00 2001 From: Aleksej Date: Tue, 14 Jun 2022 01:21:53 +0200 Subject: [PATCH] add more info to test.sh --- test/config.ini | 2 ++ test/test.sh | 27 +++++++++++++++++++++++++-- test/testconfig.ini | 2 ++ xmppmirror | 11 ++++++++++- 4 files changed, 39 insertions(+), 3 deletions(-) diff --git a/test/config.ini b/test/config.ini index f29246b..e16d496 100644 --- a/test/config.ini +++ b/test/config.ini @@ -4,3 +4,5 @@ PASSWORD = bottestpassword NICK = xmppbot ROOM1 = testroom1@conference.localhost ROOM2 = testroom2@conference.localhost +HOST = 127.0.0.1 +PORT = 25222 diff --git a/test/test.sh b/test/test.sh index bbaabd9..1bd7d15 100755 --- a/test/test.sh +++ b/test/test.sh @@ -1,5 +1,16 @@ #!/bin/bash +# Check if docker is installed +if ! command -v docker run &> /dev/null +then + echo "No docker detected. If you are running debian based system, you can install docker with" + echo "sudo apt install docker.io + exit +fi + +echo "Docker detected" + # Run ejabberd docker as a daemon +echo "Starting ejabberd docker container" docker run --name xmppbot-test -d -p 25222:5222 ejabberd/ecs # Wait few seconds for ejabberd to boot @@ -15,9 +26,11 @@ docker exec -it xmppbot-test bin/ejabberdctl create_room testroom1 conference.lo docker exec -it xmppbot-test bin/ejabberdctl create_room testroom2 conference.localhost localhost # Run xmpp mirror bot +echo "Running xmpp mirror bot" python3 ../xmppmirror & XMPPMIRRORPID=$! # Run xmpp test bot +echo "Running test bot" python3 testbot & TESTBOTPID=$! # Wait for bots to connect @@ -27,10 +40,20 @@ sleep 10 for i in $(cat testmsgs.txt); do sleep 5; done # Kill bots -kill $XMPPMIRRORPID -kill $TESTBOTPID +if ps -p $XMPPMIRRORPID > /dev/null +then + echo "Killing xmpp mirror bot" + kill $XMPPMIRRORPID +fi + +if ps -p $TESTBOTPID > /dev/null +then + echo "Killing test bot" + kill $TESTBOTPID +fi # Stop and remove containter +echo "Stopping and removing docker container" docker stop xmppbot-test docker rm xmppbot-test diff --git a/test/testconfig.ini b/test/testconfig.ini index af419ef..bf47286 100644 --- a/test/testconfig.ini +++ b/test/testconfig.ini @@ -4,3 +4,5 @@ PASSWORD = admintestpassword NICK = admin ROOM1 = testroom1@conference.localhost ROOM2 = testroom2@conference.localhost +HOST = 127.0.0.1 +PORT = 25222 diff --git a/xmppmirror b/xmppmirror index 100a7c8..a78b043 100755 --- a/xmppmirror +++ b/xmppmirror @@ -59,6 +59,12 @@ if __name__ == '__main__': NICK = config.get('credentials', 'NICK') ROOM1 = config.get('credentials', 'ROOM1') ROOM2 = config.get('credentials', 'ROOM2') + HOST = None + PORT = 5222 + if "host" in config.options('credentials'): + HOST = config.get('credentials', 'HOST') + if "port" in config.options('credentials'): + PORT = config.get('credentials', 'PORT') xmpp = MUCBot(JID, PASSWORD, NICK, ROOM1, ROOM2) @@ -67,6 +73,9 @@ if __name__ == '__main__': xmpp.register_plugin('xep_0199') # XMPP Ping # Connect to the XMPP server and start processing XMPP stanzas. - xmpp.connect() + if HOST != None: + xmpp.connect(address=(HOST,int(PORT))) + else: + xmpp.connect() xmpp.process()