@mblaney/holster 0.3.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -85,6 +85,32 @@ describe("holster.user.put", () => {
85
85
  })
86
86
  })
87
87
 
88
+ test("put and get values in for loop", (t, done) => {
89
+ ;(async () => {
90
+ for (let i = 0; i < 5; i++) {
91
+ // Need to be careful putting user properties in a loop as they are
92
+ // verified per node, so wait for each update to return.
93
+ const err = await new Promise(res => {
94
+ user.get("for" + i).put(i, res)
95
+ })
96
+ assert.equal(err, null)
97
+ }
98
+ })()
99
+
100
+ setTimeout(async () => {
101
+ let count = 0
102
+ for (let i = 0; i < 5; i++) {
103
+ user.get("for" + i, data => {
104
+ assert.equal(data, i)
105
+ count++
106
+ })
107
+ }
108
+ setTimeout(() => {
109
+ if (count === 5) done()
110
+ }, 200)
111
+ }, 500)
112
+ })
113
+
88
114
  test("chained get before put", (t, done) => {
89
115
  user
90
116
  .get("hello")
@@ -291,28 +317,80 @@ describe("holster.user.put", () => {
291
317
  })
292
318
  })
293
319
 
294
- test("get number using public key - logged in", (t, done) => {
295
- let ok = false
320
+ test("put string with set", (t, done) => {
321
+ user.get("set").put("first", true, err => {
322
+ assert.equal(err, null)
296
323
 
297
- holster.user(alice).get("pi", data => {
298
- assert.equal(data, 3.14159)
299
- if (ok) done()
300
- else ok = true
324
+ setTimeout(() => {
325
+ user.get("set", data => {
326
+ assert.equal(Object.values(data)[0], "first")
327
+
328
+ user.get("set").put("second", true, err => {
329
+ assert.equal(err, null)
330
+
331
+ setTimeout(() => {
332
+ user.get("set", data => {
333
+ for (const value of Object.values(data)) {
334
+ assert.ok(value === "first" || value === "second")
335
+ }
336
+ done()
337
+ })
338
+ }, 2)
339
+ })
340
+ })
341
+ }, 2)
301
342
  })
343
+ })
344
+
345
+ test("put object with set", (t, done) => {
346
+ const set1 = {
347
+ key: "value 1",
348
+ child: "child value 1",
349
+ }
350
+ const set2 = {
351
+ key: "value 2",
352
+ child: "child value 2",
353
+ }
354
+ user.get("set2").put(set1, true, err => {
355
+ assert.equal(err, null)
302
356
 
303
- // Not reusing the existing user here resets the stored public key used
304
- // above, but that is ok because they use separate contexts.
305
- holster.user().get("pi", data => {
357
+ setTimeout(() => {
358
+ user.get("set2", data => {
359
+ assert.deepEqual(Object.values(data)[0], set1)
360
+
361
+ user.get("set2").put(set2, true, err => {
362
+ assert.equal(err, null)
363
+
364
+ setTimeout(() => {
365
+ user.get("set2", data => {
366
+ for (const value of Object.values(data)) {
367
+ if (value.key === "value 1") {
368
+ assert.deepEqual(value, set1)
369
+ }
370
+ if (value.key === "value 2") {
371
+ assert.deepEqual(value, set2)
372
+ }
373
+ }
374
+ done()
375
+ })
376
+ }, 100)
377
+ })
378
+ })
379
+ }, 100)
380
+ })
381
+ })
382
+
383
+ test("get number using public key - logged in", (t, done) => {
384
+ user.get([alice, "pi"], data => {
306
385
  assert.equal(data, 3.14159)
307
- if (ok) done()
308
- else ok = true
386
+ done()
309
387
  })
310
388
  })
311
389
 
312
390
  test("get number using public key - logged out", (t, done) => {
313
391
  user.leave()
314
392
 
315
- holster.user(alice).get("pi", data => {
393
+ user.get([alice, "pi"], data => {
316
394
  assert.equal(data, 3.14159)
317
395
  done()
318
396
  })
@@ -322,13 +400,10 @@ describe("holster.user.put", () => {
322
400
  const plain = {
323
401
  key: "hello plain value",
324
402
  }
325
- holster
326
- .user(alice)
327
- .get("hello")
328
- .next("plain", data => {
329
- assert.deepEqual(data, plain)
330
- done()
331
- })
403
+ user.get([alice, "hello"]).next("plain", data => {
404
+ assert.deepEqual(data, plain)
405
+ done()
406
+ })
332
407
  })
333
408
 
334
409
  test("get nested object using public key", (t, done) => {
@@ -338,23 +413,17 @@ describe("holster.user.put", () => {
338
413
  has: "child value",
339
414
  },
340
415
  }
341
- holster.user(alice).get("nested", data => {
416
+ user.get([alice, "nested"], data => {
342
417
  assert.deepEqual(data, nested)
343
418
 
344
- holster
345
- .user(alice)
346
- .get("nested")
347
- .next("key", data => {
348
- assert.equal(data, "nested value")
419
+ user.get([alice, "nested"]).next("key", data => {
420
+ assert.equal(data, "nested value")
349
421
 
350
- holster
351
- .user(alice)
352
- .get("nested")
353
- .next("child", data => {
354
- assert.deepEqual(data, {has: "child value"})
355
- done()
356
- })
422
+ user.get([alice, "nested"]).next("child", data => {
423
+ assert.deepEqual(data, {has: "child value"})
424
+ done()
357
425
  })
426
+ })
358
427
  })
359
428
  })
360
429
 
@@ -365,35 +434,32 @@ describe("holster.user.put", () => {
365
434
  has: "hello child value",
366
435
  },
367
436
  }
368
- holster
369
- .user(alice)
370
- .get("hello")
371
- .next("nested", data => {
372
- assert.deepEqual(data, nested)
373
-
374
- holster
375
- .user(alice)
376
- .get("hello")
377
- .next("nested")
378
- .next("key", data => {
379
- assert.equal(data, "hello nested value")
380
-
381
- holster
382
- .user(alice)
383
- .get("hello")
384
- .next("nested")
385
- .next("child", data => {
386
- assert.deepEqual(data, {has: "hello child value"})
387
- done()
388
- })
389
- })
390
- })
437
+ user.get([alice, "hello"]).next("nested", data => {
438
+ assert.deepEqual(data, nested)
439
+
440
+ user
441
+ .get([alice, "hello"])
442
+ .next("nested")
443
+ .next("key", data => {
444
+ assert.equal(data, "hello nested value")
445
+
446
+ user
447
+ .get([alice, "hello"])
448
+ .next("nested")
449
+ .next("child", data => {
450
+ assert.deepEqual(data, {has: "hello child value"})
451
+ done()
452
+ })
453
+ })
454
+ })
391
455
  })
392
456
 
393
457
  test("cleanup", (t, done) => {
394
- fs.rm("test/holster.user.put", {recursive: true, force: true}, err => {
395
- assert.equal(err, null)
396
- done()
397
- })
458
+ setTimeout(() => {
459
+ fs.rm("test/holster.user.put", {recursive: true, force: true}, err => {
460
+ assert.equal(err, null)
461
+ done()
462
+ })
463
+ }, 100)
398
464
  })
399
465
  })
package/test/wire.test.js CHANGED
@@ -109,8 +109,6 @@ describe("wire", () => {
109
109
  _: {
110
110
  "#": "not on disk",
111
111
  ">": {test: 1},
112
- p: undefined,
113
- s: undefined,
114
112
  },
115
113
  test: "property",
116
114
  },
@@ -138,8 +136,6 @@ describe("wire", () => {
138
136
  _: {
139
137
  "#": "key",
140
138
  ">": {value: 1},
141
- p: undefined,
142
- s: undefined,
143
139
  },
144
140
  value: "wire test",
145
141
  },
@@ -151,9 +147,12 @@ describe("wire", () => {
151
147
  })
152
148
 
153
149
  test("cleanup", (t, done) => {
154
- fs.rm("test/wire", {recursive: true, force: true}, err => {
155
- assert.equal(err, null)
156
- done()
157
- })
150
+ // Timeout to let extra wire sends finish before tests end.
151
+ setTimeout(() => {
152
+ fs.rm("test/wire", {recursive: true, force: true}, err => {
153
+ assert.equal(err, null)
154
+ done()
155
+ })
156
+ }, 100)
158
157
  })
159
158
  })