mirror of
https://github.com/henrygd/beszel.git
synced 2026-09-21 08:57:48 +02:00
feat(agent): Add docker image update available flag (#2211)
Co-authored-by: henrygd <hank@henrygd.me>
This commit is contained in:
46
internal/hub/systems/container_records_test.go
Normal file
46
internal/hub/systems/container_records_test.go
Normal file
@@ -0,0 +1,46 @@
|
||||
//go:build testing
|
||||
|
||||
package systems
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/henrygd/beszel/internal/entities/container"
|
||||
"github.com/pocketbase/dbx"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestCreateContainerRecordsPersistsImageUpdateAvailability(t *testing.T) {
|
||||
_, app := newTestSystemWithHub(t)
|
||||
|
||||
const (
|
||||
systemID = "system123"
|
||||
containerID = "abcdef123456"
|
||||
image = "nginx:latest"
|
||||
)
|
||||
|
||||
data := &container.Stats{
|
||||
Id: containerID,
|
||||
Name: "web",
|
||||
Image: image,
|
||||
UpdateAvailable: true,
|
||||
}
|
||||
require.NoError(t, createContainerRecords(app, []*container.Stats{data}, systemID))
|
||||
|
||||
var record struct {
|
||||
Image string `db:"image"`
|
||||
UpdateAvailable bool `db:"updatable"`
|
||||
}
|
||||
require.NoError(t, app.DB().Select("image", "updatable").From("containers").
|
||||
Where(dbx.HashExp{"id": containerID}).One(&record))
|
||||
assert.Equal(t, image, record.Image)
|
||||
assert.True(t, record.UpdateAvailable)
|
||||
|
||||
data.UpdateAvailable = false
|
||||
require.NoError(t, createContainerRecords(app, []*container.Stats{data}, systemID))
|
||||
require.NoError(t, app.DB().Select("image", "updatable").From("containers").
|
||||
Where(dbx.HashExp{"id": containerID}).One(&record))
|
||||
assert.Equal(t, image, record.Image)
|
||||
assert.False(t, record.UpdateAvailable)
|
||||
}
|
||||
Reference in New Issue
Block a user