// 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") } }