test(caps): golden coverage for every WO-WZ-019 method (full provisioner family + jobs.progress)
The cms host parity gate requires one golden per registered handler; this completes the set so TestGoldenParity's count check holds. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
9e39119555
commit
b6e9fdd531
@ -742,6 +742,127 @@ func TestCapabilityRoundTrip(t *testing.T) {
|
||||
}
|
||||
},
|
||||
},
|
||||
// --- remaining provisioner methods (WO-WZ-019) ---
|
||||
{
|
||||
name: "provisioner_ensure_data_table", wantMethod: "provisioner.ensure_data_table",
|
||||
resp: &abiv1.ProvisionerEnsureDataTableResponse{},
|
||||
run: func(t *testing.T, cs plugin.CoreServices) {
|
||||
err := cs.Provisioner.EnsureDataTable(plugin.DataTableConfig{
|
||||
Key: "playgrounds", Name: "Playgrounds", Description: "d",
|
||||
Schema: []byte(`{"fields":[]}`), PrimaryKey: "id",
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "provisioner_ensure_setting", wantMethod: "provisioner.ensure_setting",
|
||||
resp: &abiv1.ProvisionerEnsureSettingResponse{},
|
||||
run: func(t *testing.T, cs plugin.CoreServices) {
|
||||
if err := cs.Provisioner.EnsureSetting("review_dimensions", map[string]any{"max": float64(5)}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "provisioner_override_site_settings", wantMethod: "provisioner.override_site_settings",
|
||||
resp: &abiv1.ProvisionerOverrideSiteSettingsResponse{},
|
||||
run: func(t *testing.T, cs plugin.CoreServices) {
|
||||
if err := cs.Provisioner.OverrideSiteSettings(map[string]any{"default_template": "homepage"}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "provisioner_register_embedding_config", wantMethod: "provisioner.register_embedding_config",
|
||||
resp: &abiv1.ProvisionerRegisterEmbeddingConfigResponse{},
|
||||
run: func(t *testing.T, cs plugin.CoreServices) {
|
||||
err := cs.Provisioner.RegisterEmbeddingConfig(plugin.EmbeddingConfigDef{
|
||||
TableKey: "playgrounds", TextTemplate: "{{name}}", Enabled: true,
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "provisioner_ensure_embed", wantMethod: "provisioner.ensure_embed",
|
||||
resp: &abiv1.ProvisionerEnsureEmbedResponse{},
|
||||
run: func(t *testing.T, cs plugin.CoreServices) {
|
||||
err := cs.Provisioner.EnsureEmbed(plugin.EmbedConfig{
|
||||
Key: "playground-card", Title: "Playground Card", Description: "d",
|
||||
Icon: "📍", LabelField: "name", Template: "<div>{{name}}</div>",
|
||||
DataSource: plugin.EmbedDataSource{Type: "row", TableKey: "playgrounds"},
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "provisioner_ensure_job_schedule", wantMethod: "provisioner.ensure_job_schedule",
|
||||
resp: &abiv1.ProvisionerEnsureJobScheduleResponse{},
|
||||
run: func(t *testing.T, cs plugin.CoreServices) {
|
||||
err := cs.Provisioner.EnsureJobSchedule(plugin.JobScheduleConfig{
|
||||
JobType: "bounty_rotation", CronExpression: "0 3 * * *", Config: []byte(`{"n":3}`),
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "provisioner_update_data_table_row_field", wantMethod: "provisioner.update_data_table_row_field",
|
||||
resp: &abiv1.ProvisionerUpdateDataTableRowFieldResponse{},
|
||||
run: func(t *testing.T, cs plugin.CoreServices) {
|
||||
if err := cs.Provisioner.UpdateDataTableRowField(ctx, idRow, "status", "active"); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "provisioner_disable_orphaned_job_schedules", wantMethod: "provisioner.disable_orphaned_job_schedules",
|
||||
resp: &abiv1.ProvisionerDisableOrphanedJobSchedulesResponse{},
|
||||
run: func(t *testing.T, cs plugin.CoreServices) {
|
||||
if err := cs.Provisioner.DisableOrphanedJobSchedules([]string{"bounty_rotation", "reindex"}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "provisioner_ensure_plugin", wantMethod: "provisioner.ensure_plugin",
|
||||
resp: &abiv1.ProvisionerEnsurePluginResponse{},
|
||||
run: func(t *testing.T, cs plugin.CoreServices) {
|
||||
if err := cs.Provisioner.EnsurePlugin("symposium"); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "provisioner_ensure_custom_color", wantMethod: "provisioner.ensure_custom_color",
|
||||
resp: &abiv1.ProvisionerEnsureCustomColorResponse{},
|
||||
run: func(t *testing.T, cs plugin.CoreServices) {
|
||||
err := cs.Provisioner.EnsureCustomColor(plugin.CustomColorConfig{
|
||||
Name: "brand", LightValue: "oklch(0.7 0.1 200)", DarkValue: "oklch(0.4 0.1 200)", Source: "myplugin",
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
},
|
||||
},
|
||||
// --- jobs.progress (WO-WZ-019; sent by the job dispatch path, not a
|
||||
// CoreServices stub, so the case drives the transport directly) ---
|
||||
{
|
||||
name: "jobs_progress", wantMethod: "jobs.progress",
|
||||
resp: &abiv1.JobsProgressResponse{},
|
||||
run: func(t *testing.T, _ plugin.CoreServices) {
|
||||
req := &abiv1.JobsProgressRequest{Current: 2, Total: 5, Message: "halfway"}
|
||||
if err := f.call("jobs.progress", req, &abiv1.JobsProgressResponse{}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
|
||||
1
plugin/wasmguest/caps/testdata/golden/jobs_progress_req.pb
vendored
Normal file
1
plugin/wasmguest/caps/testdata/golden/jobs_progress_req.pb
vendored
Normal file
@ -0,0 +1 @@
|
||||
halfway
|
||||
0
plugin/wasmguest/caps/testdata/golden/jobs_progress_resp.pb
vendored
Normal file
0
plugin/wasmguest/caps/testdata/golden/jobs_progress_resp.pb
vendored
Normal file
3
plugin/wasmguest/caps/testdata/golden/provisioner_disable_orphaned_job_schedules_req.pb
vendored
Normal file
3
plugin/wasmguest/caps/testdata/golden/provisioner_disable_orphaned_job_schedules_req.pb
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
|
||||
bounty_rotation
|
||||
reindex
|
||||
0
plugin/wasmguest/caps/testdata/golden/provisioner_disable_orphaned_job_schedules_resp.pb
vendored
Normal file
0
plugin/wasmguest/caps/testdata/golden/provisioner_disable_orphaned_job_schedules_resp.pb
vendored
Normal file
2
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_custom_color_req.pb
vendored
Normal file
2
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_custom_color_req.pb
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
brandoklch(0.7 0.1 200)oklch(0.4 0.1 200)"myplugin
|
||||
0
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_custom_color_resp.pb
vendored
Normal file
0
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_custom_color_resp.pb
vendored
Normal file
2
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_data_table_req.pb
vendored
Normal file
2
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_data_table_req.pb
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
playgroundsPlaygroundsd"
{"fields":[]}*id
|
||||
0
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_data_table_resp.pb
vendored
Normal file
0
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_data_table_resp.pb
vendored
Normal file
2
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_embed_req.pb
vendored
Normal file
2
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_embed_req.pb
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
playground-cardPlayground Cardd"📍*name2<div>{{name}}</div>:rowBplaygrounds
|
||||
0
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_embed_resp.pb
vendored
Normal file
0
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_embed_resp.pb
vendored
Normal file
2
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_job_schedule_req.pb
vendored
Normal file
2
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_job_schedule_req.pb
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
bounty_rotation 0 3 * * *{"n":3}
|
||||
0
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_job_schedule_resp.pb
vendored
Normal file
0
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_job_schedule_resp.pb
vendored
Normal file
2
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_plugin_req.pb
vendored
Normal file
2
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_plugin_req.pb
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
symposium
|
||||
0
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_plugin_resp.pb
vendored
Normal file
0
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_plugin_resp.pb
vendored
Normal file
2
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_setting_req.pb
vendored
Normal file
2
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_setting_req.pb
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
review_dimensions {"max":5}
|
||||
0
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_setting_resp.pb
vendored
Normal file
0
plugin/wasmguest/caps/testdata/golden/provisioner_ensure_setting_resp.pb
vendored
Normal file
2
plugin/wasmguest/caps/testdata/golden/provisioner_override_site_settings_req.pb
vendored
Normal file
2
plugin/wasmguest/caps/testdata/golden/provisioner_override_site_settings_req.pb
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
{"default_template":"homepage"}
|
||||
0
plugin/wasmguest/caps/testdata/golden/provisioner_override_site_settings_resp.pb
vendored
Normal file
0
plugin/wasmguest/caps/testdata/golden/provisioner_override_site_settings_resp.pb
vendored
Normal file
2
plugin/wasmguest/caps/testdata/golden/provisioner_register_embedding_config_req.pb
vendored
Normal file
2
plugin/wasmguest/caps/testdata/golden/provisioner_register_embedding_config_req.pb
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
playgrounds{{name}}
|
||||
0
plugin/wasmguest/caps/testdata/golden/provisioner_register_embedding_config_resp.pb
vendored
Normal file
0
plugin/wasmguest/caps/testdata/golden/provisioner_register_embedding_config_resp.pb
vendored
Normal file
2
plugin/wasmguest/caps/testdata/golden/provisioner_update_data_table_row_field_req.pb
vendored
Normal file
2
plugin/wasmguest/caps/testdata/golden/provisioner_update_data_table_row_field_req.pb
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
$bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbbstatus"active"
|
||||
0
plugin/wasmguest/caps/testdata/golden/provisioner_update_data_table_row_field_resp.pb
vendored
Normal file
0
plugin/wasmguest/caps/testdata/golden/provisioner_update_data_table_row_field_resp.pb
vendored
Normal file
Loading…
x
Reference in New Issue
Block a user