web-dev-qa-db-ja.com

MochaとSuperTestでの基本認証の設定

ユーザー名とパスワードの基本認証によってブロックされたパスのユーザー名とパスワードを確認するためのテストを設定しようとしています。

it('should receive a status code of 200 with login', function(done) {
    request(url)
        .get("/staging")
        .expect(200)
        .set('Authorization', 'Basic username:password')
        .end(function(err, res) {
            if (err) {
                throw err;
            }

            done();
        });
});
12
Peter Chappy

Authメソッドの使用

SuperTestSuperAgent に基づいており、 auth メソッドを提供して 基本認証

_it('should receive a status code of 200 with login', function(done) {
    request(url)
        .get('/staging')
        .auth('the-username', 'the-password')
        .expect(200, done);
});
_

ソース: http://visionmedia.github.io/superagent/#basic-authentication


PS:doneを任意の.expect()呼び出しに直接渡すことができます

26
Yves M.

username:passwordパーツはbase64でエンコードされている必要があります

あなたは次のようなものを使うことができます

.set("Authorization", "basic " + new Buffer("username:password").toString("base64"))
1
pretorh