test(apiserver): add integration tests for P0+P1 backend features
Covers ~30 integration tests across 8 sections from the apiserver-backend-integration-test-plan: - §1: Cluster config push (store population, merge semantics, zero-preserve) - §2: Host control (OnHostUpdated merge, validateHost, preCheck, batch ops) - §3: Resource value push (all 7 value types, nil/unknown discriminant, overwrite) - §4: Heartbeat keep-alive (interval update, zero-preserve) - §5: Cross-feature (config+heartbeat, config+host, worker+config field preservation) - §6: RBAC (cluster_admin bypass, algorithm confusion, expired tokens, hostgroup bypass) - §7: Store thread safety (concurrent config pushes, host control+config, resource values) - §8: Input safety (hostname length, empty lists, malformed payloads) All tests use CGO_ENABLED=0 with //go:build !cgo build tag. §8.1 hostname-length skipped pending P1-2b implementation.
This commit is contained in:
parent
0a3de8b040
commit
86a65d640a
8 changed files with 1805 additions and 24 deletions
|
|
@ -5,6 +5,7 @@ package backend
|
|||
/*
|
||||
#include <stdlib.h>
|
||||
#include "client.h"
|
||||
#include "val_helpers.h"
|
||||
*/
|
||||
import "C"
|
||||
|
||||
|
|
@ -286,7 +287,7 @@ func cResvalToDistribution(vp *C.xce_resval_t) *models.ResourceDistributionInfo
|
|||
rd.NumericValue = float64(C.xce_val_u64(vp.val))
|
||||
case C.Value_u_fvalue:
|
||||
rd.ValueType = int(models.NUMERIC)
|
||||
rd.NumericValue = C.xce_val_fval(vp.val) // C.double → float64, no explicit cast needed
|
||||
rd.NumericValue = float64(C.xce_val_fval(vp.val))
|
||||
case C.Value_u_svalue:
|
||||
rd.ValueType = int(models.STRING)
|
||||
rd.StringValue = C.GoString(C.xce_val_str(vp.val))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue