http: authority-form target parsing/serializing

Type: improvement
Change-Id: Ifb90818a3526d3d4030a66b1ef7eebedfe97978f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
This commit is contained in:
Matus Fabian
2024-08-08 12:50:32 +02:00
committed by Florin Coras
parent 0ce93ae744
commit d58177c50b
4 changed files with 108 additions and 1 deletions

View File

@@ -29,7 +29,7 @@ func init() {
HttpStaticMacTimeTest, HttpStaticBuildInUrlGetVersionVerboseTest, HttpVersionNotSupportedTest,
HttpInvalidContentLengthTest, HttpInvalidTargetSyntaxTest, HttpStaticPathTraversalTest, HttpUriDecodeTest,
HttpHeadersTest, HttpStaticFileHandlerTest, HttpClientTest, HttpClientErrRespTest, HttpClientPostFormTest,
HttpClientPostFileTest, HttpClientPostFilePtrTest)
HttpClientPostFileTest, HttpClientPostFilePtrTest, AuthorityFormTargetTest)
RegisterNoTopoSoloTests(HttpStaticPromTest, HttpTpsTest, HttpTpsInterruptModeTest, PromConcurrentConnectionsTest,
PromMemLeakTest, HttpClientPostMemLeakTest)
}
@@ -305,6 +305,26 @@ func HttpClientPostFilePtrTest(s *NoTopoSuite) {
httpClientPostFile(s, true, 131072)
}
func cliTestAuthority(s *NoTopoSuite, authority string) {
o := s.GetContainerByName("vpp").VppInstance.Vppctl("test http authority-form " + authority)
s.AssertNotContains(o, "error")
s.AssertContains(o, authority)
}
func cliTestAuthorityError(s *NoTopoSuite, authority string) {
o := s.GetContainerByName("vpp").VppInstance.Vppctl("test http authority-form " + authority)
s.AssertContains(o, "error")
}
func AuthorityFormTargetTest(s *NoTopoSuite) {
cliTestAuthority(s, "10.10.2.45:20")
cliTestAuthority(s, "[dead:beef::1234]:443")
cliTestAuthorityError(s, "example.com:80")
cliTestAuthorityError(s, "10.10.2.45")
cliTestAuthorityError(s, "1000.10.2.45:20")
cliTestAuthorityError(s, "[xyz0::1234]:443")
}
func HttpStaticPromTest(s *NoTopoSuite) {
query := "stats.prom"
vpp := s.GetContainerByName("vpp").VppInstance