功能修改

This commit is contained in:
npc0-hue
2026-07-20 16:42:33 +08:00
parent 48b8ad8d6c
commit a0e69417db
224 changed files with 22015 additions and 884 deletions
@@ -0,0 +1,44 @@
package dto
import (
"encoding/json"
"strings"
"testing"
)
func TestGameClientBridgeCompanionDeclarationRoundTripsWithoutMaterial(t *testing.T) {
body := GameClientBridgeManifestBody{
CommandRetentionSeconds: 86400,
MaxCommands: 1000,
Companion: &GameClientBridgeCompanionDeclarationBody{
ProfileKey: "scum-client-manager",
ConfigTemplateKey: "client-config",
ConfigSchemaRef: "schemas/companion/config.schema.json",
ConfigFormat: "yaml",
PlatformBaseURLSource: "run-control",
RegistrationProof: "hmac-sha256",
ProofMaterialSource: "component-package",
ProofMaterialEnv: "SCUM_COMPONENT_PROOF",
SessionMode: "component-session",
TLSPolicy: "verify-system-roots",
HeartbeatIntervalSeconds: 30,
CommandPollIntervalSeconds: 5,
RequestTimeoutSeconds: 15,
},
}
domainValue := body.ToDomain()
if domainValue.Companion.ProfileKey != "scum-client-manager" || domainValue.Companion.TLSPolicy != "verify-system-roots" {
t.Fatalf("companion declaration conversion lost fields: %+v", domainValue.Companion)
}
projection := gameClientBridgeManifestFromDomain(domainValue)
encoded, err := json.Marshal(projection)
if err != nil {
t.Fatalf("marshal companion declaration: %v", err)
}
serialized := string(encoded)
for _, forbidden := range []string{"authKey", "componentKey", "sessionToken", "credential", "secretRef", "hostPath", "runSocket"} {
if strings.Contains(serialized, forbidden) {
t.Fatalf("companion declaration exposed %q: %s", forbidden, serialized)
}
}
}