2016-12-19 3 views
0

Я пытаюсь написать несколько тестов Varnish (VTC), чтобы протестировать наши (частично) управляемые лаком функции OAuth Backend.Испытание лаком (VTC) с помощью OAuth Backend

Просто лак просто берет Cookie OAuth (от клиента), проверяет его токен на нашем OAuth-сервере и отвечает либо кэшированными данными, либо перенаправляется на страницу входа, если токен недействителен/истек.

В своем тесте, я не хочу вызывать клиента OAuth. Я хочу, чтобы дразнить его для контекста теста, так что я должен были бы переопределить настройки по умолчанию лака, который выглядит следующим образом:

конфигурации
varnish v1 -vcl { 
    backend default { 
     .host = "${s1_addr}"; 
     .port = "${s1_port}"; 
     .first_byte_timeout = 350s; 
    } 

    include "./includes.vcl"; 

} -start 

Это по умолчанию работает с живым рабочим сервером OAuth. Я попытался изменить конфигурацию OAuth следующим образом:

backend oauth { 
    .host = "127.0.0.1"; 
    .port = "8090"; 
} 

Но это не удалось. Вместо этого он вышел с кодом отказа без объясняющего сообщения.

Я не нашел подходящей документации, надеюсь, что у кого-то была эта проблема раньше.

Спасибо.

ответ

0

Вы также можете определить серверы/серверы в тестах на лак. Попробуйте так:

# default backend 
server s1 { 
    rxreq 
    txresp -hdr "Set-Cookie: ignore=cookie; expires=Tue, 06-Dec-2016 22:00:00 GMT; Max-Age=2588826; path=/" 
} 

server s1 -start 

varnish v1 -vcl+backend { 
    include "./includes.vcl"; 
} -start 

client c1 { 
    txreq -url "/" -hdr "Host: www.domain.com" -hdr "Cookie: client=cookie_here" 
    rxresp 
    expect resp.status == 200 
} -run 
Смежные вопросы