MCPcopy Create free account
hub / github.com/rilldata/rill / RefreshAndWait

Function RefreshAndWait

runtime/testruntime/reconcile.go:102–134  ·  view source on GitHub ↗
(t testing.TB, rt *runtime.Runtime, id string, n *runtimev1.ResourceName)

Source from the content-addressed store, hash-verified

100}
101
102func RefreshAndWait(t testing.TB, rt *runtime.Runtime, id string, n *runtimev1.ResourceName) {
103 ctx := t.Context()
104 ctrl, err := rt.Controller(ctx, id)
105 require.NoError(t, err)
106
107 // Get resource before refresh
108 rPrev, err := ctrl.Get(ctx, n, false)
109 require.NoError(t, err)
110
111 // Create refresh trigger
112 trgName := &runtimev1.ResourceName{Kind: runtime.ResourceKindRefreshTrigger, Name: time.Now().String()}
113 err = ctrl.Create(ctx, trgName, nil, nil, nil, false, &runtimev1.Resource{
114 Resource: &runtimev1.Resource_RefreshTrigger{
115 RefreshTrigger: &runtimev1.RefreshTrigger{
116 Spec: &runtimev1.RefreshTriggerSpec{
117 Resources: []*runtimev1.ResourceName{n},
118 },
119 },
120 },
121 })
122 require.NoError(t, err)
123
124 // Wait for refresh to complete
125 err = ctrl.WaitUntilIdle(ctx, false)
126 require.NoError(t, err)
127
128 // Get resource after refresh
129 rNew, err := ctrl.Get(ctx, n, false)
130 require.NoError(t, err)
131
132 // Check the resource's spec version has increased
133 require.Greater(t, rNew.Meta.SpecVersion, rPrev.Meta.SpecVersion)
134}
135
136func RequireReconcileState(t testing.TB, rt *runtime.Runtime, id string, lenResources, lenReconcileErrs, lenParseErrs int) {
137 ctx := t.Context()

Callers 6

TestSourceFunction · 0.92
TestPartitionOverwriteFunction · 0.92
TestPartitionOverwriteFunction · 0.92

Calls 6

ControllerMethod · 0.80
CreateMethod · 0.80
ContextMethod · 0.65
GetMethod · 0.65
StringMethod · 0.65
WaitUntilIdleMethod · 0.45

Tested by 6

TestSourceFunction · 0.74
TestPartitionOverwriteFunction · 0.74
TestPartitionOverwriteFunction · 0.74