envoyproxy/envoy

enhance router_check_tool to allow going through listeners as well

Open

#12,393 创建于 2020年7月30日

在 GitHub 查看
 (7 评论) (0 反应) (0 负责人)C++ (5,373 fork)batch import
area/route_check_toolhelp wanted

仓库指标

Star
 (27,997 star)
PR 合并指标
 (平均合并 8天) (30 天内合并 378 个 PR)

描述

Currently, router_check_tool takes in a route as input. This makes the tool somewhat whitebox - the user first needs to figure out which route they care about, then they can write a test for it. Ideally, its completely black box - the user gives the full Envoy config (really just Listeners and Routes) and a set of queries, and checks the result.

This is useful as well to test complex listeners with many different filter chain matches.

Alternatives considered:

  • Implement the logic for determining a route from the request ourselves. This would involve re-implementing the filter chain/listener matching logic which is likely to be incorrect and fall out of sync
  • Use the tool as is. This doesn't mean the requirement of black box testing, relies test writers to know Envoy implementation details
  • Send real traffic against a real envoy instead. This is slower and more complex

贡献者指南