MCPcopy
hub / github.com/henrygd/beszel / TestCollectionRulesShareAllSystems

Function TestCollectionRulesShareAllSystems

internal/hub/collections_test.go:163–289  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

161}
162
163func TestCollectionRulesShareAllSystems(t *testing.T) {
164 t.Setenv("SHARE_ALL_SYSTEMS", "true")
165 hub, _ := beszelTests.NewTestHub(t.TempDir())
166 defer hub.Cleanup()
167
168 const isUser = `@request.auth.id != ""`
169 const isUserNotReadonly = `@request.auth.id != "" && @request.auth.role != "readonly"`
170
171 const isUserMatchesUser = `@request.auth.id != "" && user = @request.auth.id`
172
173 // alerts collection
174 alertsCollection, err := hub.FindCollectionByNameOrId("alerts")
175 require.NoError(t, err, "Failed to find alerts collection")
176 assert.Equal(t, isUserMatchesUser, *alertsCollection.ListRule)
177 assert.Nil(t, alertsCollection.ViewRule)
178 assert.Equal(t, isUserMatchesUser, *alertsCollection.CreateRule)
179 assert.Equal(t, isUserMatchesUser, *alertsCollection.UpdateRule)
180 assert.Equal(t, isUserMatchesUser, *alertsCollection.DeleteRule)
181
182 // alerts_history collection
183 alertsHistoryCollection, err := hub.FindCollectionByNameOrId("alerts_history")
184 require.NoError(t, err, "Failed to find alerts_history collection")
185 assert.Equal(t, isUserMatchesUser, *alertsHistoryCollection.ListRule)
186 assert.Nil(t, alertsHistoryCollection.ViewRule)
187 assert.Nil(t, alertsHistoryCollection.CreateRule)
188 assert.Nil(t, alertsHistoryCollection.UpdateRule)
189 assert.Equal(t, isUserMatchesUser, *alertsHistoryCollection.DeleteRule)
190
191 // containers collection
192 containersCollection, err := hub.FindCollectionByNameOrId("containers")
193 require.NoError(t, err, "Failed to find containers collection")
194 assert.Equal(t, isUser, *containersCollection.ListRule)
195 assert.Nil(t, containersCollection.ViewRule)
196 assert.Nil(t, containersCollection.CreateRule)
197 assert.Nil(t, containersCollection.UpdateRule)
198 assert.Nil(t, containersCollection.DeleteRule)
199
200 // container_stats collection
201 containerStatsCollection, err := hub.FindCollectionByNameOrId("container_stats")
202 require.NoError(t, err, "Failed to find container_stats collection")
203 assert.Equal(t, isUser, *containerStatsCollection.ListRule)
204 assert.Nil(t, containerStatsCollection.ViewRule)
205 assert.Nil(t, containerStatsCollection.CreateRule)
206 assert.Nil(t, containerStatsCollection.UpdateRule)
207 assert.Nil(t, containerStatsCollection.DeleteRule)
208
209 // fingerprints collection
210 fingerprintsCollection, err := hub.FindCollectionByNameOrId("fingerprints")
211 require.NoError(t, err, "Failed to find fingerprints collection")
212 assert.Equal(t, isUser, *fingerprintsCollection.ListRule)
213 assert.Equal(t, isUser, *fingerprintsCollection.ViewRule)
214 assert.Equal(t, isUserNotReadonly, *fingerprintsCollection.CreateRule)
215 assert.Equal(t, isUserNotReadonly, *fingerprintsCollection.UpdateRule)
216 assert.Equal(t, isUserNotReadonly, *fingerprintsCollection.DeleteRule)
217
218 // quiet_hours collection
219 quietHoursCollection, err := hub.FindCollectionByNameOrId("quiet_hours")
220 require.NoError(t, err, "Failed to find quiet_hours collection")

Callers

nothing calls this directly

Calls 1

CleanupMethod · 0.95

Tested by

no test coverage detected