python - topic - Verifique que las credenciales de rabbitmq sean validas
rabbitmq topic (3)
Me gustaría escribir una simple prueba de humo que se ejecute después de la implementación para verificar que las credenciales de RabbitMQ son válidas. ¿Cuál es la forma más sencilla de verificar que el nombre de usuario / contraseña / vhost de rabbitmq son válidos?
Edición: Preferiblemente, marque usando un script de bash. Alternativamente, utilizando un script de Python.
Aquí hay una forma de verificar usando 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"
Como no ha proporcionado ningún detalle sobre el idioma, etc .:
Simplemente puede emitir una solicitud HTTP GET a la API de administración.
$ curl -i -u guest:guest http://localhost:15672/api/whoami
También puedes probar con rabbitmqctl
,
rabbitmqctl authenticate_user username password
y compruebe el código de retorno en Bash.