From b9bb7cca20ac53685a13fd096a74abd1ae5eb3d3 Mon Sep 17 00:00:00 2001
From: Kim Alvefur <zash@zash.se>
Date: Mon, 11 May 2020 21:56:19 +0200
Subject: mod_storage_internal: Implement key-value API

---
 spec/core_storagemanager_spec.lua | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

(limited to 'spec')

diff --git a/spec/core_storagemanager_spec.lua b/spec/core_storagemanager_spec.lua
index 29ab014f..96ccceb6 100644
--- a/spec/core_storagemanager_spec.lua
+++ b/spec/core_storagemanager_spec.lua
@@ -439,6 +439,21 @@ describe("storagemanager", function ()
 					assert.equal(2, count);
 					assert(archive:delete("user-issue1073"));
 				end);
+
+				it("can be treated as a map store", function ()
+					assert.falsy(archive:get("mapuser", "no-such-id"));
+					assert.falsy(archive:set("mapuser", "no-such-id", test_stanza));
+
+					local id = archive:append("mapuser", nil, test_stanza, test_time, "contact@example.com");
+					assert.same(test_stanza, archive:get("mapuser", id));
+
+					local replacement_stanza = st.stanza("test", { xmlns = "urn:example:foo" })
+						:tag("bar"):up()
+						:reset();
+					assert(archive:set("mapuser", id, replacement_stanza));
+					assert.same(replacement_stanza, archive:get("mapuser", id));
+				end);
+
 			end);
 		end);
 	end
-- 
cgit v1.2.3