resource_test.go 1.4 KB

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