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
|
|
@ -11,6 +11,7 @@ package backend
|
|||
#include "helper.h"
|
||||
#include "idgen.h"
|
||||
#include "controller.capnp.h"
|
||||
#include "val_helpers.h"
|
||||
|
||||
// backend_ctx_t wraps xcecli_ctx_t for use as the C handler's arg.
|
||||
typedef struct {
|
||||
|
|
@ -49,15 +50,7 @@ static void jobctrl_set_ckptoption(xce_jobctrl_t *ctrl, xce_ckpt_options_t *ckpt
|
|||
ctrl->u.ckptoption = ckpt;
|
||||
}
|
||||
|
||||
// xce_val_t union accessors — CGO cannot access C union fields by name.
|
||||
static int xce_val_which(xce_val_t *v) { return v->which; }
|
||||
static int32_t xce_val_i32(xce_val_t *v) { return v->u.ivalue32; }
|
||||
static int64_t xce_val_i64(xce_val_t *v) { return v->u.ivalue64; }
|
||||
static uint32_t xce_val_u32(xce_val_t *v) { return v->u.uvalue32; }
|
||||
static uint64_t xce_val_u64(xce_val_t *v) { return v->u.uvalue64; }
|
||||
static double xce_val_fval(xce_val_t *v) { return v->u.fvalue; }
|
||||
static char* xce_val_str(xce_val_t *v) { return v->u.svalue; }
|
||||
static int xce_val_bool(xce_val_t *v) { return v->u.bvalue; }
|
||||
// xce_val_t union accessors moved to val_helpers.h (shared with convert.go).
|
||||
*/
|
||||
import "C"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue