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.
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
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"
Vous pouvez essayer avec rabbitmqctl
aussi,
rabbitmqctl authenticate_user username password
et vérifiez le code de retour dans BASH.
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()