fix: increase memory limit for vitest and improve test stability
- Updated test scripts in package.json to set NODE_OPTIONS for increased memory limit. - Added safety checks for remote servers and domains in ProxyHostForm component to prevent errors. - Refactored Notifications tests to remove unnecessary use of fake timers and improve clarity. - Updated ProxyHosts extra tests to specify button names for better accessibility. - Enhanced Security functional tests by centralizing translation strings and improving mock implementations. - Adjusted test setup to suppress specific console errors related to act() warnings. - Modified vitest configuration to limit worker usage and prevent memory issues during testing.
This commit is contained in:
54
backend/cmd/api/main_parse_plugin_signatures_test.go
Normal file
54
backend/cmd/api/main_parse_plugin_signatures_test.go
Normal file
@@ -0,0 +1,54 @@
|
||||
package main
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestParsePluginSignatures(t *testing.T) {
|
||||
t.Run("unset env returns nil", func(t *testing.T) {
|
||||
t.Setenv("CHARON_PLUGIN_SIGNATURES", "")
|
||||
signatures := parsePluginSignatures()
|
||||
if signatures != nil {
|
||||
t.Fatalf("expected nil signatures when env is unset, got: %#v", signatures)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("invalid json returns nil", func(t *testing.T) {
|
||||
t.Setenv("CHARON_PLUGIN_SIGNATURES", "{invalid}")
|
||||
signatures := parsePluginSignatures()
|
||||
if signatures != nil {
|
||||
t.Fatalf("expected nil signatures for invalid json, got: %#v", signatures)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("invalid prefix returns nil", func(t *testing.T) {
|
||||
t.Setenv("CHARON_PLUGIN_SIGNATURES", `{"plugin.so":"md5:deadbeef"}`)
|
||||
signatures := parsePluginSignatures()
|
||||
if signatures != nil {
|
||||
t.Fatalf("expected nil signatures for invalid prefix, got: %#v", signatures)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("empty allowlist returns empty map", func(t *testing.T) {
|
||||
t.Setenv("CHARON_PLUGIN_SIGNATURES", `{}`)
|
||||
signatures := parsePluginSignatures()
|
||||
if signatures == nil {
|
||||
t.Fatal("expected non-nil empty map for strict empty allowlist")
|
||||
}
|
||||
if len(signatures) != 0 {
|
||||
t.Fatalf("expected empty map, got: %#v", signatures)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("valid allowlist returns parsed map", func(t *testing.T) {
|
||||
t.Setenv("CHARON_PLUGIN_SIGNATURES", `{"plugin-a.so":"sha256:abc123","plugin-b.so":"sha256:def456"}`)
|
||||
signatures := parsePluginSignatures()
|
||||
if signatures == nil {
|
||||
t.Fatal("expected parsed signatures map, got nil")
|
||||
}
|
||||
if got := signatures["plugin-a.so"]; got != "sha256:abc123" {
|
||||
t.Fatalf("unexpected plugin-a signature: %q", got)
|
||||
}
|
||||
if got := signatures["plugin-b.so"]; got != "sha256:def456" {
|
||||
t.Fatalf("unexpected plugin-b signature: %q", got)
|
||||
}
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user