web-dev-qa-db-fra.com

Vérifiez que les informations d'identification de rabbbitmq sont valides

J'aimerais écrire un test de fumée simple qui fonctionne après le déploiement pour vérifier que les informations d'identification de lapbitmq sont valides. Quel est le moyen le plus simple de vérifier que le nom d'utilisateur/mot de passe/Vhost de rabbbitmq est valide?

Edit : De préférence, vérifiez à l'aide d'un script Bash. Alternativement, en utilisant un Python script.

25
Lorin Hochstein

Comme vous n'avez pas fourni de détails sur la langue, etc .:

Vous pourriez simplement émettre une demande HTTP GET à l'API de gestion.

$ curl -i -u guest:guest http://localhost:15672/api/whoami

Voir API HTTP de gestion de la RabbbitMQ

46
ccellar

Voici un moyen de vérifier en utilisant Python:

#!/usr/bin/env python
import socket
from kombu import Connection
Host = "localhost"
port = 5672
user = "guest"
password = "guest"
vhost = "/"
url = 'amqp://{0}:{1}@{2}:{3}/{4}'.format(user, password, Host, port, vhost)
with Connection(url) as c:
    try:
        c.connect()
    except socket.error:
        raise ValueError("Received socket.error, "
                         "rabbitmq server probably isn't running")
    except IOError:
        raise ValueError("Received IOError, probably bad credentials")
    else:
        print "Credentials are valid"
26
Lorin Hochstein

Vous pouvez essayer avec rabbitmqctl aussi,

rabbitmqctl authenticate_user username password

et vérifiez le code de retour dans BASH.

2
Baris Demiray

utiliser Python:

>>> import pika
>>> URL = 'amqp://guest:guest@localhost:5672/%2F'
>>> parameters = pika.URLParameters(URL)
>>> connection = pika.BlockingConnection(parameters)
>>> connection.is_open
True
>>> connection.close()
2
tulsluper