Changeset

9208:d3bb59ec0173

util.pubsub tests: Add tests for get_items()
author Matthew Wild <mwild1@gmail.com>
date Sat, 18 Aug 2018 15:28:08 +0100
parents 9207:76d593b35958
children 9209:69e17edf8796
files spec/util_pubsub_spec.lua
diffstat 1 files changed, 28 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/spec/util_pubsub_spec.lua	Sat Aug 18 15:26:35 2018 +0100
+++ b/spec/util_pubsub_spec.lua	Sat Aug 18 15:28:08 2018 +0100
@@ -310,5 +310,33 @@
 				assert.equal("bye", item);
 			end);
 		end);
+		describe("get_items()", function ()
+			it("fails on non-existent nodes", function ()
+				local ok, err = service:get_items("no-node", true);
+				assert.is_falsy(ok);
+				assert.equal("item-not-found", err);
+			end);
+			it("returns no items on an empty node", function ()
+				local ok, items = service:get_items("test", true);
+				assert.is_true(ok);
+				assert.equal(0, #items);
+				assert.is_nil(next(items));				
+			end);
+			it("returns no items on an empty node", function ()
+				local ok, items = service:get_items("test", true);
+				assert.is_true(ok);
+				assert.equal(0, #items);
+				assert.is_nil((next(items)));
+			end);
+			it("returns all published items", function ()
+				service:publish("test", true, "one", "hello world");
+				service:publish("test", true, "two", "hello again");
+				service:publish("test", true, "three", "hey");
+				service:publish("test", true, "one", "bye");
+				local ok, items = service:get_items("test", true);
+				assert.is_true(ok);
+				assert.same({ "one", "three", "two", two = "hello again", three = "hey", one = "bye" }, items);
+			end);
+		end);
 	end);
 end);