refactor: enhance TLS cert generation and refactor HTTP client architecture (#3638)

- Refactored HTTP client from global cache to struct-based approach (global state was shared between tests, including what certificates to use)
- Enhanced pkg/test/tls to support ECDSA and ED25519 key types
- Replaced static certificate files with dynamic generation in golang tests
- Fixed test cleanup issues and improved resource management

This eliminates dependency on external cert generation scripts and
improves test maintainability.

Signed-off-by: Andrei Aaron <andreifdaaron@gmail.com>
This commit is contained in:
Andrei Aaron
2025-12-13 09:47:32 +02:00
committed by GitHub
parent 1447bb24b4
commit cf8b0bdbf9
22 changed files with 1590 additions and 554 deletions
+7 -5
View File
@@ -112,15 +112,17 @@ func TestServerStatusCommandErrors(t *testing.T) {
// invalid URL
err = GetServerStatus(SearchConfig{
ServURL: "a: ds",
ResultWriter: os.Stdout,
ServURL: "a: ds",
ResultWriter: os.Stdout,
SearchService: NewSearchService(),
})
So(err, ShouldNotBeNil)
// fail Get request
err = GetServerStatus(SearchConfig{
ServURL: "http://127.0.0.1:8000",
ResultWriter: os.Stdout,
ServURL: "http://127.0.0.1:8000",
ResultWriter: os.Stdout,
SearchService: NewSearchService(),
})
So(err, ShouldBeNil)
})
@@ -129,7 +131,7 @@ func TestServerStatusCommandErrors(t *testing.T) {
port := test.GetFreePort()
result := bytes.NewBuffer([]byte{})
searchConfig := SearchConfig{
SearchService: mockService{},
SearchService: newMockService(),
ServURL: fmt.Sprintf("http://127.0.0.1:%v", port),
User: "",
OutputFormat: "text",