2016-12-19 4 views
0

바니시 관리 OAuth 백엔드 기능을 테스트하기 위해 일부 바니시 (VTC) 테스트를 작성하려고합니다.OAuth 백엔드로 바니시 테스트 (VTC)

단순히 바니시가 OAuth 쿠키 (클라이언트에서 가져온 것임)를 가져 와서 OAuth 백엔드와 비교하여 토큰을 확인하고 토큰이 유효하지 않거나 만료 된 경우 캐시 된 데이터로 응답하거나 로그인 페이지로 리디렉션합니다.

제 테스트에서 OAuth 클라이언트를 호출하고 싶지 않습니다. 나는 시험 문맥을 조롱하려는, 그래서 다음과 같습니다 기본 니스 구성을 오버라이드 (override) 할 필요가 :

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