MCPcopy Create free account
hub / github.com/bytebase/bytebase / TestCheckTaskDrift

Function TestCheckTaskDrift

backend/runner/taskrun/running_scheduler_test.go:13–144  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

11)
12
13func TestCheckTaskDrift(t *testing.T) {
14 prodEnv := "prod"
15 stagingEnv := "staging"
16 dbName := "mydb"
17
18 tests := []struct {
19 name string
20 task *store.TaskMessage
21 database *store.DatabaseMessage
22 plan *store.PlanMessage
23 wantErr bool
24 errContains string
25 }{
26 {
27 name: "no drift",
28 task: &store.TaskMessage{
29 InstanceID: "inst-1",
30 DatabaseName: &dbName,
31 Environment: "prod",
32 Type: storepb.Task_DATABASE_MIGRATE,
33 },
34 database: &store.DatabaseMessage{
35 ProjectID: "proj-1",
36 EffectiveEnvironmentID: &prodEnv,
37 },
38 plan: &store.PlanMessage{
39 ProjectID: "proj-1",
40 },
41 wantErr: false,
42 },
43 {
44 name: "project drift",
45 task: &store.TaskMessage{
46 InstanceID: "inst-1",
47 DatabaseName: &dbName,
48 Environment: "prod",
49 Type: storepb.Task_DATABASE_MIGRATE,
50 },
51 database: &store.DatabaseMessage{
52 ProjectID: "proj-other",
53 EffectiveEnvironmentID: &prodEnv,
54 },
55 plan: &store.PlanMessage{
56 ProjectID: "proj-original",
57 },
58 wantErr: true,
59 errContains: "project",
60 },
61 {
62 name: "environment drift",
63 task: &store.TaskMessage{
64 InstanceID: "inst-1",
65 DatabaseName: &dbName,
66 Environment: "prod",
67 Type: storepb.Task_DATABASE_MIGRATE,
68 },
69 database: &store.DatabaseMessage{
70 ProjectID: "proj-1",

Callers

nothing calls this directly

Calls 3

checkTaskDriftFunction · 0.85
RunMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected