mirror of
https://github.com/Buriburizaem0n/nezha_domains.git
synced 2026-09-21 18:50:13 +00:00
test(agentcompat): add integration scenarios
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba>
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
//go:build linux && agentcompat
|
||||
|
||||
package scenario
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"github.com/nezhahq/nezha/integration/agentcompat/internal/evidence"
|
||||
)
|
||||
|
||||
func TestConfigDiff_ChangesOnlyDebugAndReportDelay(t *testing.T) {
|
||||
// Given
|
||||
original := AgentConfigSnapshot{Debug: false, ReportDelay: 1, ClientSecret: "secret", UUID: "uuid", Server: "server"}
|
||||
updated := original
|
||||
updated.Debug = true
|
||||
updated.ReportDelay = 2
|
||||
|
||||
// When
|
||||
diff, err := ConfigDiff(original, updated)
|
||||
|
||||
// Then
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, ConfigDiffResult{DebugChanged: true, ReportDelayChanged: true}, diff)
|
||||
}
|
||||
|
||||
func TestConfigDiff_RejectsCredentialIdentityAndEndpointChanges(t *testing.T) {
|
||||
// Given
|
||||
original := AgentConfigSnapshot{ClientSecret: "secret", UUID: "uuid", Server: "server", ReportDelay: 1}
|
||||
updated := original
|
||||
updated.ClientSecret = "other-secret"
|
||||
|
||||
// When
|
||||
_, err := ConfigDiff(original, updated)
|
||||
|
||||
// Then
|
||||
require.ErrorIs(t, err, ErrConfigIdentityChanged)
|
||||
}
|
||||
|
||||
func TestSensitiveEvidence_RedactsConfigCredentials(t *testing.T) {
|
||||
// Given
|
||||
secret := "0123456789abcdef0123456789abcdef"
|
||||
config := `{"client_secret":"` + secret + `","server":"127.0.0.1:5555","debug":true}`
|
||||
|
||||
// When
|
||||
redacted := evidence.Redact(config)
|
||||
|
||||
// Then
|
||||
require.NotContains(t, redacted, secret)
|
||||
require.Contains(t, redacted, "[REDACTED]")
|
||||
}
|
||||
|
||||
func TestFinish_RecordsFailedAssertionAndErrorForCleanup(t *testing.T) {
|
||||
assertions := NewAssertionSet()
|
||||
assertions.Record("readiness", false, "invalid secret prevented readiness")
|
||||
|
||||
result, err := finish(assertions, nil)
|
||||
|
||||
require.EqualError(t, err, "readiness: invalid secret prevented readiness")
|
||||
require.False(t, result.Passed)
|
||||
require.False(t, result.CleanupOK)
|
||||
require.Equal(t, "readiness: invalid secret prevented readiness", result.Error)
|
||||
require.Len(t, result.Assertions, 1)
|
||||
require.False(t, result.Assertions[0].Passed)
|
||||
}
|
||||
Reference in New Issue
Block a user