2013-06-17 14 views
19

RabbitMQ資格情報が有効であることを確認するために配備後に実行される簡単な煙のテストを書いてみたいと思います。 rabbitmqのユーザ名/パスワード/仮想ホストが有効であることを確認する最も簡単な方法は何ですか?rabbitmq資格情報が有効であることを確認してください

編集:好ましくは、bashスクリプトを使用して確認します。あるいは、Pythonスクリプトを使用します。

答えて

38

あなたは言語についての詳細情報を提供していないとして、等:

あなたは単に管理APIへのHTTP GETリクエストを発行することができます。

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

ここRabbitMQ Management HTTP API

+0

は私の質問を編集したが、この答えは良いものです。 –

+2

残念なことに、これは管理者のみに適用されます – hoitomt

+4

は、「理由」:「ログインに失敗しました」と「理由」:「管理者ではない」を区別し、ユーザーが管理者でない場合でも資格情報が動作するかどうかを確認できます – phunehehe

20

は、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" 
関連する問題