MCPcopy
hub / github.com/go-task/task / TestIsTaskUpToDate

Function TestIsTaskUpToDate

internal/fingerprint/task_test.go:26–175  ·  view source on GitHub ↗

TruthTable | Status up-to-date | Sources up-to-date | Task is up-to-date | | ----------------- | ------------------ | ------------------ | | not set | not set | false | | not set | true | true | | not set | false

(t *testing.T)

Source from the content-addressed store, hash-verified

24// | false | true | false |
25// | false | false | false |
26func TestIsTaskUpToDate(t *testing.T) {
27 t.Parallel()
28
29 tests := []struct {
30 name string
31 task *ast.Task
32 setupMockStatusChecker func(m *MockStatusCheckable)
33 setupMockSourcesChecker func(m *MockSourcesCheckable)
34 expected bool
35 }{
36 {
37 name: "expect FALSE when no status or sources are defined",
38 task: &ast.Task{
39 Status: nil,
40 Sources: nil,
41 },
42 setupMockStatusChecker: nil,
43 setupMockSourcesChecker: nil,
44 expected: false,
45 },
46 {
47 name: "expect TRUE when no status is defined and sources are up-to-date",
48 task: &ast.Task{
49 Status: nil,
50 Sources: []*ast.Glob{{Glob: "sources"}},
51 },
52 setupMockStatusChecker: nil,
53 setupMockSourcesChecker: func(m *MockSourcesCheckable) {
54 m.EXPECT().IsUpToDate(mock.Anything).Return(true, nil)
55 },
56 expected: true,
57 },
58 {
59 name: "expect FALSE when no status is defined and sources are NOT up-to-date",
60 task: &ast.Task{
61 Status: nil,
62 Sources: []*ast.Glob{{Glob: "sources"}},
63 },
64 setupMockStatusChecker: nil,
65 setupMockSourcesChecker: func(m *MockSourcesCheckable) {
66 m.EXPECT().IsUpToDate(mock.Anything).Return(false, nil)
67 },
68 expected: false,
69 },
70 {
71 name: "expect TRUE when status is up-to-date and sources are not defined",
72 task: &ast.Task{
73 Status: []string{"status"},
74 Sources: nil,
75 },
76 setupMockStatusChecker: func(m *MockStatusCheckable) {
77 m.EXPECT().IsUpToDate(mock.Anything, mock.Anything).Return(true, nil)
78 },
79 setupMockSourcesChecker: nil,
80 expected: true,
81 },
82 {
83 name: "expect TRUE when status and sources are up-to-date",

Callers

nothing calls this directly

Calls 9

NewMockStatusCheckableFunction · 0.85
NewMockSourcesCheckableFunction · 0.85
IsTaskUpToDateFunction · 0.85
WithStatusCheckerFunction · 0.85
WithSourcesCheckerFunction · 0.85
IsUpToDateMethod · 0.65
ReturnMethod · 0.45
EXPECTMethod · 0.45
RunMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…