device_bus_test.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. package devicebus
  2. import (
  3. "testing"
  4. "github.com/glebarez/sqlite"
  5. "github.com/stretchr/testify/require"
  6. "gorm.io/gorm"
  7. "wails-app/internal/dao"
  8. "wails-app/internal/global"
  9. )
  10. func TestResolveImagePathUsesOnlySameDeviceUpload(t *testing.T) {
  11. db, err := gorm.Open(sqlite.Open(":memory:"), &gorm.Config{})
  12. require.NoError(t, err)
  13. require.NoError(t, db.AutoMigrate(&dao.DeviceImage{}))
  14. previous := global.GVA_DB
  15. global.GVA_DB = db
  16. t.Cleanup(func() { global.GVA_DB = previous })
  17. require.NoError(t, db.Create(&dao.DeviceImage{DeviceCode: "CAM-A01", ImageID: "img-1", URL: "uploads/file/img-1.jpg"}).Error)
  18. path, err := resolveImagePath("CAM-A01", "img-1", "")
  19. require.NoError(t, err)
  20. require.Equal(t, "uploads/file/img-1.jpg", path)
  21. _, err = resolveImagePath("CAM-A02", "img-1", "")
  22. require.Error(t, err)
  23. }
  24. func TestResolveImagePathKeepsLegacyPath(t *testing.T) {
  25. path, err := resolveImagePath("CAM-A01", "", "https://legacy-device/image.jpg")
  26. require.NoError(t, err)
  27. require.Equal(t, "https://legacy-device/image.jpg", path)
  28. }