summaryrefslogtreecommitdiff
path: root/objectstore/memory_backend_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'objectstore/memory_backend_test.go')
-rw-r--r--objectstore/memory_backend_test.go59
1 files changed, 59 insertions, 0 deletions
diff --git a/objectstore/memory_backend_test.go b/objectstore/memory_backend_test.go
new file mode 100644
index 0000000..3fc2852
--- /dev/null
+++ b/objectstore/memory_backend_test.go
@@ -0,0 +1,59 @@
+// Memory backend tests
+//
+// Licensed under CC0 1.0 Universal:
+// https://creativecommons.org/publicdomain/zero/1.0/legalcode
+package objectstore
+
+import "testing"
+
+func TestCreateAndGet(t *testing.T) {
+ objects := NewMemBackend()
+
+ // Create the object
+ bucketId := "foo"
+ objectId := "bar"
+ objectContent := "Lorem ipsum"
+ objects.CreateObject(bucketId, objectId, objectContent)
+
+ // Retrieve the object
+ object, err := objects.GetObject(bucketId, objectId)
+ if err != nil {
+ t.Fatalf("Get test object: %v", err)
+ }
+
+ // Check the object content
+ if object != objectContent {
+ t.Errorf("Check test object. Got (%v), want (%v)", object, objectContent)
+ }
+
+ // Try to get a non-existent object
+ _, err = objects.GetObject(bucketId, "baz")
+ if err == nil {
+ t.Error("Get non-existent object. Got nil, want error")
+ }
+}
+
+func TestCreateAndDelete(t *testing.T) {
+ objects := NewMemBackend()
+
+ // Create the object
+ bucketId := "foo"
+ objectId := "bar"
+ objectContent := "Lorem ipsum"
+ objects.CreateObject(bucketId, objectId, objectContent)
+
+ // Try to delete a non-existent object
+ if err := objects.DeleteObject(bucketId, "baz"); err == nil {
+ t.Error("Delete non-existent object. Got nil, want error")
+ }
+
+ // Delete the object
+ if err := objects.DeleteObject(bucketId, objectId); err != nil {
+ t.Fatalf("Delete test object: %v", err)
+ }
+
+ // Try to re-delete the object
+ if err := objects.DeleteObject(bucketId, objectId); err == nil {
+ t.Error("Delete already deleted object. Got nil, want error")
+ }
+}