@rootintf/protocol-subverseinfo 1.0.13-api.2 → 2.0.3-api.4

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.
@@ -13,28 +13,37 @@ Object.defineProperty(globalThis, 'crypto', {
13
13
  // import { JSON_Msg, JSON_Msg_msg } from '@rootintf/json-msg';
14
14
  import {
15
15
  JSON_MsgSubverseInfo_query,
16
- JSON_MsgSubverseInfo_expanse,
17
- l as l_
18
- } from '../src/subverseinfo.mjs';
16
+ JSON_MsgSubverseInfo_subverse,
17
+ JSON_MsgSubverseInfo_instances,
18
+ logr as logr_
19
+ } from '../dist/subverseinfo.es.mjs';
19
20
 
20
21
  import { LOGR, l_LL } from '@knev/bitlogr';
21
22
 
22
- const kstr_VERSION = "2"
23
+ const kstr_VERSION = "4"
24
+
25
+ //-------------------------------------------------------------------------------------------------
23
26
 
24
27
  const LOGR_= LOGR.get_instance();
25
- LOGR_.toggled= {
26
- VALIDATION : true
27
- }
28
+ const l_= logr_.l;
29
+
30
+ console.log('const l_', l_.get());
31
+
32
+ LOGR_.toggle(l_, {
33
+ // VALIDATION : true
34
+ });
28
35
 
29
36
  //-------------------------------------------------------------------------------------------------
30
37
 
31
38
  const json_MsgSubverseInfo_query = {
32
- "id": "611aeb54-9d2c-4dd9-9a39-e5d95627cc82",
33
- "referer": [
34
- "subverse-protocol-map",
35
- "c8961cab-1aeb-4d9e-9cf2-ce94e6b3ef7f"
36
- ],
37
- "dt": "2025-03-05T07:52:01.209Z",
39
+ // we should be parsing to make sure it is a JSON_msg beforehand
40
+ //
41
+ // "id": "611aeb54-9d2c-4dd9-9a39-e5d95627cc82",
42
+ // "referer": [
43
+ // "subverse-protocol-map",
44
+ // "c8961cab-1aeb-4d9e-9cf2-ce94e6b3ef7f"
45
+ // ],
46
+ // "dt": "2025-03-05T07:52:01.209Z",
38
47
  "query": {
39
48
  "name": "discovery-expanse",
40
49
  "graphql": "query { expanse { name map logo(width: 200, height: 200) { link } platforms { name archs agents } protocols { name attr } } }",
@@ -43,12 +52,35 @@ const json_MsgSubverseInfo_query = {
43
52
  "subverse_info": kstr_VERSION
44
53
  }
45
54
 
55
+ const json_MsgSubverseInfo_query_incomplete = {
56
+ "query": {
57
+ },
58
+ "subverse_info": kstr_VERSION
59
+ }
60
+
46
61
  describe("Validate query;", function () {
62
+ it("null", function () {
63
+ expect(JSON_MsgSubverseInfo_query.validate(null)).toBe(false); // null should fail
64
+ });
65
+
47
66
  it("raw", function () {
48
67
  expect(JSON_MsgSubverseInfo_query.validate(json_MsgSubverseInfo_query)).toBe(true);
49
68
  });
50
69
 
51
- it("merge", function () {
70
+ it("merge- FAIL", function () {
71
+ const json = JSON_MsgSubverseInfo_query.merge({
72
+ "query": {
73
+ "name": "discovery-expanse",
74
+ "graphql": "query { expanse { name map logo(width: 200, height: 200) { link } platforms { name archs agents } protocols { name attr } } }",
75
+ "ttl_msec": "5000"
76
+ },
77
+ });
78
+ // json.referer = [ "karr_referer", "" ];
79
+
80
+ expect(JSON_MsgSubverseInfo_query.validate(json)).toBe(false); // ttl_msec should be int : 5000
81
+ });
82
+
83
+ it("merge- minimum", function () {
52
84
  const json = JSON_MsgSubverseInfo_query.merge({
53
85
  "query": {
54
86
  "name": "discovery-expanse",
@@ -56,71 +88,101 @@ describe("Validate query;", function () {
56
88
  "ttl_msec": 5000
57
89
  },
58
90
  });
59
- json.referer = [ "karr_referer", "" ];
91
+ // json.referer = [ "karr_referer", "" ];
60
92
 
61
93
  expect(JSON_MsgSubverseInfo_query.validate(json)).toBe(true);
62
94
  });
63
95
  });
64
96
 
65
- // const json_msgSubverseInfo_discovery= JSON_MsgSubverseInfo_discovery.create_with_name_graphql(
97
+ // const json_msgSubverseInfo_query= JSON_MsgSubverseInfo_query.create_with_name_graphql(
66
98
  // "discovery-expanse",
67
99
  // "query { expanse { name map logo(width: 200, height: 200) { link } platforms { name archs agents } protocols { name attr } } }",
68
100
  // 5000
69
101
  // );
70
- // json_msgSubverseInfo_discovery.referer = [ "karr_referer", "" ];
102
+ // json_msgSubverseInfo_query.referer = [ "karr_referer", "" ];
71
103
 
72
104
  // describe("Validation", function () {
73
- // it("JSON_MsgSubverseInfo_discovery.validate(json_msgSubverseInfo_discovery)", function () {
74
- // expect(JSON_MsgSubverseInfo_discovery.validate(json_msgSubverseInfo_discovery)).toBe(true);
105
+ // it("JSON_MsgSubverseInfo_query.validate(json_msgSubverseInfo_query)", function () {
106
+ // expect(JSON_MsgSubverseInfo_query.validate(json_msgSubverseInfo_query)).toBe(true);
75
107
  // });
76
108
  // });
77
109
 
78
110
  //-------------------------------------------------------------------------------------------------
79
111
 
80
- // const json_msgAnnouncement_expanse = {
81
- // "id": "53C2A451-D3E7-4657-932D-22EBF4A823D8",
82
- // "_msg": { "id": "15169a65-94fe-449a-9164-a2e2bdd78c56", "discovery": { "graphql": "query { subverse { name logo(width: 200, height: 200) protocols integrations } }", "ttl_msec": 5000 }, "referer": ["subverse-protocol-map", "4b1ad967-8154-416f-a744-989db452bd76"], "dt": "2023-04-28T10:13:11.642Z" },
83
- // "referer": ["tx-sl", "D41EDF64-6BF9-40D0-B30C-CC6A798B67F2"],
84
- // "dt": "2023-04-28T10:13:11Z",
85
- // "announcement": {
86
- // // "expanse": {
87
- // // "integrations": [
88
- // // { "pkg": "tx-sl", "ppa": "https://root-interface.se/depot", "sha2-384": "c3f3e373de97e8d7f5d9c47096c128fcdcb07fbbb4581d6ab7d32913fe301edec0abb48a0bcf585f167c473b45a24634", "sha3-224": "", "version": "0.2.9" }
89
- // // ],
90
- // // "logo": "http://root-interface.se/depot/tx-sl/img-SL_DLbackground.png",
91
- // // "name": "Second Life",
92
- // // "protocols": ["QuerySubverse", "2PhW", "Discovery"]
93
- // // }
94
- // },
95
- // "_v" : kstr_VERSION
96
- // }
97
-
98
-
99
- // console.log('json_msgAnnouncement_OpenSim', json_msgAnnouncement_OpenSim)
100
-
101
112
  describe("Validate expanse;", function () {
102
113
  it("create_with_msg_merge- minimum", function () {
103
- let json= JSON_MsgSubverseInfo_expanse.create_with_msg_merge(null, {
114
+ let json= JSON_MsgSubverseInfo_subverse.create_with_cause_merge(null, {
104
115
  expanse : {
105
116
  subverse: {
106
117
  name : "OpenSimulator",
107
118
  uri : "http://opensimulator.org",
108
119
  },
109
- protocols: [
110
- {
111
- id: "secondlife://",
112
- attr: "0r"
113
- }
114
- ]
120
+ protocols: []
121
+ }
122
+ });
123
+ // json.referer = [ "karr_referer", "" ];
124
+
125
+ expect(JSON_MsgSubverseInfo_subverse.validate(json)).toBe(true);
126
+ });
127
+
128
+ it("create_with_msg_merge- minimum", function () {
129
+ let json= JSON_MsgSubverseInfo_subverse.create_with_cause_merge(null, {
130
+ expanse : {
131
+ subverse: {
132
+ name : "OpenSimulator",
133
+ uri : "http://opensimulator.org",
134
+ },
135
+ protocols: []
115
136
  }
116
137
  });
117
- json.referer = [ "karr_referer", "" ];
118
138
 
119
- expect(JSON_MsgSubverseInfo_expanse.validate(json)).toBe(true);
139
+ expect(JSON_MsgSubverseInfo_instances.validate(json)).toBe(false); // not be mistaken for instances
120
140
  });
121
141
 
122
- it("create_with_msg_merge- maximum", function () {
123
- let json= JSON_MsgSubverseInfo_expanse.create_with_msg_merge(null, {
142
+ it("create_with_msg_merge- unevaluatedProperties false", function () {
143
+ let json= JSON_MsgSubverseInfo_subverse.create_with_cause_merge(null, {
144
+ expanse : {
145
+ subverse: {
146
+ name : "OpenSimulator",
147
+ uri : "http://opensimulator.org",
148
+ unknown : "unevaluatedProperties false"
149
+ },
150
+ protocols: []
151
+ }
152
+ });
153
+
154
+ expect(JSON_MsgSubverseInfo_subverse.validate(json)).toBe(false); // unknown "unknown" attribute
155
+ });
156
+
157
+ it("create_with_msg_merge- invalid ID", function () {
158
+ let json= JSON_MsgSubverseInfo_subverse.create_with_cause_merge(null, {
159
+ expanse : {
160
+ subverse: {
161
+ uri : "http://opensimulator.org",
162
+ },
163
+ protocols: []
164
+ }
165
+ });
166
+
167
+ expect(JSON_MsgSubverseInfo_subverse.validate(json)).toBe(false); // missing "name"
168
+ });
169
+
170
+ it("create_with_msg_merge- json_MsgSubverseInfo_query_incomplete", function () {
171
+ let json= JSON_MsgSubverseInfo_subverse.create_with_cause_merge(json_MsgSubverseInfo_query_incomplete, {
172
+ expanse : {
173
+ subverse: {
174
+ name : "OpenSimulator",
175
+ uri : "http://opensimulator.org",
176
+ },
177
+ protocols: []
178
+ }
179
+ });
180
+
181
+ expect(JSON_MsgSubverseInfo_subverse.validate(json)).toBe(false); // json_MsgSubverseInfo_query_incomplete
182
+ });
183
+
184
+ it("create_with_msg_merge- ALL", function () {
185
+ let json= JSON_MsgSubverseInfo_subverse.create_with_cause_merge(null, {
124
186
  expanse : {
125
187
  subverse: {
126
188
  name : "OpenSimulator",
@@ -143,24 +205,67 @@ describe("Validate expanse;", function () {
143
205
  info : {
144
206
  "key" : "value"
145
207
  }
208
+ },
209
+ {
210
+ name : "js-blue",
211
+ uri : "https://ipsme.dev/js-blue/blue.html",
212
+ favicon : "https://ipsme.dev/js-blue/img/js-blue.png"
213
+ },
214
+ {
215
+ name : "js-orange",
216
+ uri : "https://root-interface.se/js-orange/orange.html",
217
+ favicon : "http://root-interface.se/js-orange/img/js-orange.png"
146
218
  }
147
219
  ],
148
220
  info : {
149
221
  "key" : "value"
150
222
  }
151
223
  },
224
+ platforms : [
225
+ {
226
+ "id": "Darwin",
227
+ "archs": [
228
+ "arm64",
229
+ "x86_64"
230
+ ]
231
+ },
232
+ {
233
+ "id": "Windows",
234
+ "archs": [
235
+ "x86",
236
+ "x64"
237
+ ]
238
+ },
239
+ {
240
+ "id": "WebBr",
241
+ "agents": [
242
+ "Firefox",
243
+ "Chrome"
244
+ ]
245
+ }
246
+ ],
152
247
  protocols: [
153
248
  {
154
249
  id: "secondlife://",
155
250
  name : "Second Life protocol",
156
251
  attr: "0r"
157
- }
252
+ },
253
+ {
254
+ id: "",
255
+ name: "Discovery@4",
256
+ attr: "rw"
257
+ },
258
+ {
259
+ id : "",
260
+ name: "Hyperlink",
261
+ attr: "0w"
262
+ }
158
263
  ]
159
264
  }
160
265
  });
161
266
  json.referer = [ "karr_referer", "" ];
162
267
 
163
- expect(JSON_MsgSubverseInfo_expanse.validate(json)).toBe(true);
268
+ expect(JSON_MsgSubverseInfo_subverse.validate(json)).toBe(true);
164
269
  });
165
270
 
166
271
  it("raw DCL", function () {
@@ -186,7 +291,7 @@ describe("Validate expanse;", function () {
186
291
  }
187
292
  ]
188
293
  },
189
- "_msg": {
294
+ "_cause": {
190
295
  "id": "611aeb54-9d2c-4dd9-9a39-e5d95627cc82",
191
296
  "referer": [
192
297
  "subverse-protocol-map",
@@ -203,39 +308,14 @@ describe("Validate expanse;", function () {
203
308
  "subverse_info": kstr_VERSION
204
309
  }
205
310
 
206
- expect(JSON_MsgSubverseInfo_expanse.validate(json)).toBe(true);
311
+ expect(JSON_MsgSubverseInfo_subverse.validate(json)).toBe(true);
207
312
  });
208
-
209
- });
210
-
211
313
 
212
- /*
213
- describe("Validation", function () {
214
- it("JSON_MsgDiscovery.validate(json_msgDiscovery)", function () {
215
- expect(JSON_MsgDiscovery.validate(json_msgDiscovery)).toBe(true);
216
- });
217
314
  });
218
315
 
219
- describe("Validation", function () {
220
- it("JSON_MsgAnnouncement.validate(json_msgAnnouncement)", function () {
221
- expect(JSON_MsgAnnouncement.validate(json_msgAnnouncement)).toBe(true);
222
- });
223
- });
224
-
225
- describe("Validation", function () {
226
- it("JSON_MsgAnnouncement.validate(json_msgAnnouncement_msg)", function () {
227
- expect(JSON_MsgAnnouncement.validate(json_msgAnnouncement_msg)).toBe(true);
228
- });
229
- });
230
-
231
- describe("Validation", function () {
232
- it("JSON_MsgAnnouncement.validate(json_msgAnnouncement_expanse)", function () {
233
- expect(JSON_MsgAnnouncement.validate(json_msgAnnouncement_expanse)).toBe(true);
234
- });
235
- });
236
- */
237
316
 
238
317
  //-------------------------------------------------------------------------------------------------
318
+ // TODO ?!@?
239
319
 
240
320
  // protocols are required, except ...
241
321
  // instances don't need protocols, if they are linked to a valid subverse
@@ -243,211 +323,167 @@ describe("Validation", function () {
243
323
  // - if subverse missing, protocols required
244
324
 
245
325
  //-------------------------------------------------------------------------------------------------
246
- // subverses
247
-
248
- // const json_subverse_subverse = {
249
- // "expanse" : {
250
- // "platforms": [
251
- // {
252
- // "name": "Darwin",
253
- // "archs": [
254
- // "arm64",
255
- // "x86_64"
256
- // ]
257
- // },
258
- // {
259
- // "name": "Windows",
260
- // "archs": [
261
- // "x86",
262
- // "x64"
263
- // ]
264
- // },
265
- // {
266
- // "name": "WebBr",
267
- // "agents": [
268
- // "Firefox",
269
- // "Chrome"
270
- // ]
271
- // }
272
- // ],
273
- // "protocols": [
274
- // {
275
- // name: "Discovery@4",
276
- // attr: "rw"
277
- // },
278
- // {
279
- // name: "Hyperlink",
280
- // attr: "0w"
281
- // }
282
- // ]
283
- // }
284
- // }
285
-
286
- // const json_subverse_instances= {
287
- // expanse : {
288
- // instances : [
289
- // {
290
- // name : "js-blue",
291
- // logo : "https://ipsme.dev/js-blue/img/js-blue.png",
292
- // link : "https://ipsme.dev/js-blue/blue.html"
293
- // },
294
- // {
295
- // name : "js-orange",
296
- // logo : "http://root-interface.se/js-orange/img/js-orange.png",
297
- // link : "https://root-interface.se/js-orange/orange.html"
298
- // }
299
- // ],
300
- // locations : {},
301
- // platforms : [
302
- // {
303
- // name: "WebBr",
304
- // agents : [ "Firefox" ]
305
- // }
306
- // ],
307
- // protocols : [
308
- // {
309
- // name: "Hyperlink",
310
- // attr: "0rw"
311
- // },
312
- // {
313
- // name: "2PhW@0.6",
314
- // attr: "0rw"
315
- // }
316
- // ]
317
- // }
318
- // }
319
-
320
- const json_subverse_minimum = {
321
- "expanse" : {
322
- subverse : {
323
- "name": "Decentraland",
324
- "uri" : "",
325
- "map_url": "",
326
- },
327
- "protocols": [
328
- { name: "JanusWeb", attr: "0rw", url: "https://janusvr.com/web.html" },
329
- ]
330
- }
331
- }
326
+ // instances
332
327
 
333
- const json_subverse_minimum_fail = {
334
- "expanse" : {
335
- subverse : {
336
- "name": "Decentraland",
337
- "uri" : "",
338
- // "map-url": "",
339
- },
340
- "protocols": [
341
- { name: "JanusWeb", attr: "0rw", url: "https://janusvr.com/web.html" },
342
- ]
343
- }
344
- }
328
+ describe("Validate instances;", function () {
345
329
 
346
- const json_subverse_ = {
347
- "expanse" : {
348
- subverse : {
349
- "name": "Decentraland",
350
- "uri" : "https://decentraland.org",
351
- map_url : "https://decentraland.org/map",
352
- "favicon" : "",
353
- info : {},
354
- },
355
- instances : [
356
- {
357
- name : "",
358
- uri : "",
359
- info : {}
360
- },
361
- {
362
- name : "",
363
- uri : "",
364
- info : {}
365
- },
366
- ],
367
- platforms : [],
368
- "protocols": []
369
- }
370
- }
330
+ it("create_with_msg_merge- minimum", function () {
331
+ let json= JSON_MsgSubverseInfo_instances.create_with_cause_merge(null, {
332
+ "expanse" : {
333
+ instances : []
334
+ }
335
+ });
371
336
 
372
- /*
373
- describe("Validation", function () {
374
- it("JSON_subverse.validate(json_subverse_minimum)", function () {
375
- expect(JSON_subverse.validate(json_subverse_minimum)).toBe(true);
337
+ expect(JSON_MsgSubverseInfo_instances.validate(json)).toBe(true);
376
338
  });
377
- });
378
339
 
379
- describe("Validation", function () {
380
- it("JSON_subverse.validate(json_subverse_minimum_fail)", function () {
381
- expect(JSON_subverse.validate(json_subverse_minimum_fail)).toBe(false);
340
+ it("create_with_msg_merge- minimum", function () {
341
+ let json= JSON_MsgSubverseInfo_instances.create_with_cause_merge(null, {
342
+ "expanse" : {
343
+ instances : []
344
+ }
345
+ });
346
+
347
+ expect(JSON_MsgSubverseInfo_subverse.validate(json)).toBe(false); // not to be mistaken for subverse
382
348
  });
383
- });
384
349
 
385
- describe("Validation", function () {
386
- it("JSON_subverse.validate(json_subverse_)", function () {
387
- expect(JSON_subverse.validate(json_subverse_)).toBe(true);
350
+ it("create_with_msg_merge- unevaluatedProperties false", function () {
351
+ let json= JSON_MsgSubverseInfo_instances.create_with_cause_merge(null, {
352
+ "expanse" : {
353
+ instances : [],
354
+ subverse : {
355
+ "name": "Decentraland",
356
+ "uri" : "",
357
+ "map_url": "" // unevaluatedProperties false
358
+ }
359
+ }
360
+ });
361
+
362
+ expect(JSON_MsgSubverseInfo_instances.validate(json)).toBe(false); // unevaluatedProperties false
388
363
  });
389
- });
390
- */
391
364
 
392
- //-------------------------------------------------------------------------------------------------
393
- // instances
365
+ it("create_with_msg_merge- ALL", function () {
366
+ let json= JSON_MsgSubverseInfo_instances.create_with_cause_merge(json_MsgSubverseInfo_query, {
367
+ "expanse" : {
368
+ instances : [],
369
+ subverse : {
370
+ "name": "Decentraland",
371
+ "uri" : "",
372
+ },
373
+ platforms : [],
374
+ protocols: []
375
+ }
376
+ });
394
377
 
395
- const json_instance_minimum = {
396
- "expanse" : {
397
- instances : []
398
- }
399
- }
378
+ expect(JSON_MsgSubverseInfo_instances.validate(json)).toBe(true);
379
+ });
400
380
 
401
- const json_instance_minimum_fail = {
402
- "expanse" : {
403
- // instances : []
404
- }
405
- }
381
+ });
406
382
 
407
- const json_instance_ = {
408
- "expanse" : {
409
- instances : [
410
- {
411
- uri : "",
412
- name : "",
413
- favicon : "",
414
- info : {}
415
- },
416
- {
417
- uri : "",
418
- name : "",
419
- },
420
- ],
421
- subverse : {
422
- "name": "Decentraland",
423
- "uri" : "decentraland.org"
424
- },
425
- platforms : [],
426
- "protocols": []
427
- }
383
+ //-------------------------------------------------------------------------------------------------
384
+
385
+ const json_subverse_DCL = {
386
+ "id": "69731f23-b192-4128-9b7e-cd7282020776",
387
+ "referer": [
388
+ "subverse-protocol-map",
389
+ "58f57e33-208f-45b1-b1f6-941af7f6e074"
390
+ ],
391
+ "dt": "2025-12-08T10:09:44.047Z",
392
+ "expanse": {
393
+ "subverse": {
394
+ "uri": "org.decentraland",
395
+ "name": "Decentraland",
396
+ "map-uri": "https://genesis.city",
397
+ "favicon": "https://root-interface.se/DCL/decentraland-logo.svg",
398
+ "hyperport": {
399
+ "uri": "ipsme+https://play.decentraland.org",
400
+ "port": "ipsme+https://play.decentraland.org/?position=32,-144"
401
+ }
402
+ },
403
+ "protocols": [
404
+ {
405
+ "id": "org.ethereum",
406
+ "name": "Ethereum",
407
+ "attr": "0rw"
408
+ }
409
+ ]
410
+ },
411
+ "_msg": {
412
+ "id": "55b9952e-5d80-44a0-83af-104d74cb1a91",
413
+ "referer": [
414
+ "subverse-protocol-map",
415
+ "58f57e33-208f-45b1-b1f6-941af7f6e074"
416
+ ],
417
+ "dt": "2025-12-08T10:09:44.044Z",
418
+ "query": {
419
+ "name": "SubverseInfo-expanse",
420
+ "graphql": "query { expanse { name map logo(width: 200, height: 200) { link } platforms { name archs agents } protocols { name attr } } }",
421
+ "ttl_msec": 5000
422
+ },
423
+ "subverse_info": "4"
424
+ },
425
+ "subverse_info": "4"
428
426
  }
429
427
 
430
- /*
431
- describe("Validation", function () {
432
- it("JSON_instances.validate(json_instance_minimum)", function () {
433
- expect(JSON_instances.validate(json_instance_minimum)).toBe(true);
428
+ const json_instances_oncyber = {
429
+ "id": "9de42f9f-b42c-44ec-949d-5b1f6e7d8b64",
430
+ "referer": [
431
+ "subverse-protocol-map",
432
+ "58f57e33-208f-45b1-b1f6-941af7f6e074"
433
+ ],
434
+ "dt": "2025-12-08T10:09:44.047Z",
435
+ "expanse": {
436
+ "instances": [
437
+ {
438
+ "name": "Angell Lounge",
439
+ "uri": "io.oncyber/angell",
440
+ "favicon": "https://d3i9te5634opuo.cloudfront.net/oncyber.gif"
441
+ }
442
+ ],
443
+ "subverse": {
444
+ "name": "oncyber",
445
+ "uri": "io.oncyber"
446
+ },
447
+ "protocols": [
448
+ {
449
+ "id": "org.whatwg.spec.html",
450
+ "name": "Hyperlink",
451
+ "attr": "0rw"
452
+ }
453
+ ]
454
+ },
455
+ "_msg": {
456
+ "id": "55b9952e-5d80-44a0-83af-104d74cb1a91",
457
+ "referer": [
458
+ "subverse-protocol-map",
459
+ "58f57e33-208f-45b1-b1f6-941af7f6e074"
460
+ ],
461
+ "dt": "2025-12-08T10:09:44.044Z",
462
+ "query": {
463
+ "name": "SubverseInfo-expanse",
464
+ "graphql": "query { expanse { name map logo(width: 200, height: 200) { link } platforms { name archs agents } protocols { name attr } } }",
465
+ "ttl_msec": 5000
466
+ },
467
+ "subverse_info": "4"
468
+ },
469
+ "subverse_info": "4"
470
+ };
471
+
472
+ describe("Validate raw;", function () {
473
+ it("json_subverse_DCL- JSON_MsgSubverseInfo_subverse", function () {
474
+ expect(JSON_MsgSubverseInfo_subverse.validate(json_subverse_DCL)).toBe(true);
434
475
  });
435
- });
436
476
 
437
- describe("Validation", function () {
438
- it("JSON_instances.validate(json_instance_minimum_fail)", function () {
439
- expect(JSON_instances.validate(json_instance_minimum_fail)).toBe(false);
477
+ it("json_subverse_DCL- JSON_MsgSubverseInfo_instances", function () {
478
+ expect(JSON_MsgSubverseInfo_instances.validate(json_subverse_DCL)).toBe(false);
440
479
  });
441
- });
442
480
 
443
- */
444
-
445
- // describe("Validation", function () {
446
- // it("JSON_MsgSubverseInfo_expanse.validate(json_instance_)", function () {
447
- // expect(JSON_MsgSubverseInfo_expanse.validate(json_instance_)).toBe(true);
448
- // });
449
- // });
450
-
451
- //-------------------------------------------------------------------------------------------------
481
+ it("json_instances_oncyber- JSON_MsgSubverseInfo_subverse", function () {
482
+ expect(JSON_MsgSubverseInfo_subverse.validate(json_instances_oncyber)).toBe(false);
483
+ });
452
484
 
485
+ it("json_instances_oncyber- JSON_MsgSubverseInfo_instances", function () {
486
+ expect(JSON_MsgSubverseInfo_instances.validate(json_instances_oncyber)).toBe(true);
487
+ });
453
488
 
489
+ });