resource_test.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package teststore
  2. import (
  3. "context"
  4. "testing"
  5. "github.com/lithammer/shortuuid/v4"
  6. "github.com/stretchr/testify/require"
  7. "github.com/usememos/memos/store"
  8. )
  9. func TestResourceStore(t *testing.T) {
  10. ctx := context.Background()
  11. ts := NewTestingStore(ctx, t)
  12. _, err := ts.CreateResource(ctx, &store.Resource{
  13. ResourceName: shortuuid.New(),
  14. CreatorID: 101,
  15. Filename: "test.epub",
  16. Blob: []byte("test"),
  17. InternalPath: "",
  18. ExternalLink: "",
  19. Type: "application/epub+zip",
  20. Size: 637607,
  21. })
  22. require.NoError(t, err)
  23. correctFilename := "test.epub"
  24. incorrectFilename := "test.png"
  25. resource, err := ts.GetResource(ctx, &store.FindResource{
  26. Filename: &correctFilename,
  27. })
  28. require.NoError(t, err)
  29. require.Equal(t, correctFilename, resource.Filename)
  30. require.Equal(t, int32(1), resource.ID)
  31. notFoundResource, err := ts.GetResource(ctx, &store.FindResource{
  32. Filename: &incorrectFilename,
  33. })
  34. require.NoError(t, err)
  35. require.Nil(t, notFoundResource)
  36. var correctCreatorID int32 = 101
  37. var incorrectCreatorID int32 = 102
  38. _, err = ts.GetResource(ctx, &store.FindResource{
  39. CreatorID: &correctCreatorID,
  40. })
  41. require.NoError(t, err)
  42. notFoundResource, err = ts.GetResource(ctx, &store.FindResource{
  43. CreatorID: &incorrectCreatorID,
  44. })
  45. require.NoError(t, err)
  46. require.Nil(t, notFoundResource)
  47. err = ts.DeleteResource(ctx, &store.DeleteResource{
  48. ID: 1,
  49. })
  50. require.NoError(t, err)
  51. err = ts.DeleteResource(ctx, &store.DeleteResource{
  52. ID: 2,
  53. })
  54. require.NoError(t, err)
  55. ts.Close()
  56. }