Skip to content

Commit 6bdfa41

Browse files
committed
Fix stub server unit tests around element IDs
Element ID and legacy ID will generally not be the same. #464 fixed this in the stub server but left the unit tests unchanged. The tests, however, asserted that there is a check in place that the element ID == str(legacy ID) which is not the case anymore.
1 parent 0dcf43e commit 6bdfa41

File tree

1 file changed

+116
-124
lines changed

1 file changed

+116
-124
lines changed

boltstub/tests/simple_jolt/v2/test_parse.py

Lines changed: 116 additions & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -127,41 +127,41 @@
127127
128128
# node
129129
(
130-
JoltNode(123, ["l1", "l2"], {"a": 42}, "123"),
131-
'{"()": [123, ["l1", "l2"], {"a": {"Z": "42"}}, "123"]}',
130+
JoltNode(123, ["l1", "l2"], {"a": 42}, "abc"),
131+
'{"()": [123, ["l1", "l2"], {"a": {"Z": "42"}}, "abc"]}',
132132
),
133133
(
134-
JoltNode(None, ["l1", "l2"], {"a": 42}, "123"),
135-
'{"()": [null, ["l1", "l2"], {"a": {"Z": "42"}}, "123"]}',
134+
JoltNode(None, ["l1", "l2"], {"a": 42}, "abc"),
135+
'{"()": [null, ["l1", "l2"], {"a": {"Z": "42"}}, "abc"]}',
136136
),
137137
(
138-
JoltNode(123, ["l1", "l2"], {"U": 42}, "123"),
139-
'{"()": [123, ["l1", "l2"], {"U": {"Z": "42"}}, "123"]}'
138+
JoltNode(123, ["l1", "l2"], {"U": 42}, "abc"),
139+
'{"()": [123, ["l1", "l2"], {"U": {"Z": "42"}}, "abc"]}'
140140
),
141141
142142
# relationship
143143
(
144144
JoltRelationship(42, 123, "REVERTS_TO", 321, {"prop": "value"},
145-
"42", "123", "321"),
145+
"db", "abc", "cba"),
146146
'{"->": [42, 123, "REVERTS_TO", 321, {"prop": {"U": "value"}}, '
147-
'"42", "123", "321"]}'
147+
'"db", "abc", "cba"]}'
148148
),
149149
150150
# path
151151
(
152152
JoltPath(
153-
JoltNode(1, ["l"], {}, "1"),
154-
JoltRelationship(2, 1, "RELATES_TO", 3, {}, "2", "1", "3"),
155-
JoltNode(3, ["l"], {}, "3"),
156-
JoltRelationship(4, 3, "RELATES_TO", 1, {}, "4", "3", "1"),
157-
JoltNode(1, ["l"], {}, "1"),
153+
JoltNode(1, ["l"], {}, "a"),
154+
JoltRelationship(2, 1, "RELATES_TO", 3, {}, "b", "a", "c"),
155+
JoltNode(3, ["l"], {}, "c"),
156+
JoltRelationship(4, 3, "RELATES_TO", 1, {}, "d", "c", "a"),
157+
JoltNode(1, ["l"], {}, "a"),
158158
),
159159
'{"..": ['
160-
'{"()": [1, ["l"], {}, "1"]}, '
161-
'{"->": [2, 1, "RELATES_TO", 3, {}, "2", "1", "3"]}, '
162-
'{"()": [3, ["l"], {}, "3"]}, '
163-
'{"->": [4, 3, "RELATES_TO", 1, {}, "4", "3", "1"]}, '
164-
'{"()": [1, ["l"], {}, "1"]}'
160+
'{"()": [1, ["l"], {}, "a"]}, '
161+
'{"->": [2, 1, "RELATES_TO", 3, {}, "b", "a", "c"]}, '
162+
'{"()": [3, ["l"], {}, "c"]}, '
163+
'{"->": [4, 3, "RELATES_TO", 1, {}, "d", "c", "a"]}, '
164+
'{"()": [1, ["l"], {}, "a"]}'
165165
']}' # noqa: Q000
166166
),
167167
))
@@ -277,63 +277,63 @@ def test_dumps_full(in_, out_, human_readable):
277277
278278
# node
279279
(
280-
JoltNode(123, ["l1", "l2"], {"a": 42}, "123"),
281-
'{"()": [123, ["l1", "l2"], {"a": 42}, "123"]}'
280+
JoltNode(123, ["l1", "l2"], {"a": 42}, "abc"),
281+
'{"()": [123, ["l1", "l2"], {"a": 42}, "abc"]}'
282282
),
283283
(
284-
JoltNode(123, ["l1", "l2"], {"U": 42}, "123"),
285-
'{"()": [123, ["l1", "l2"], {"U": 42}, "123"]}'
284+
JoltNode(123, ["l1", "l2"], {"U": 42}, "abc"),
285+
'{"()": [123, ["l1", "l2"], {"U": 42}, "abc"]}'
286286
),
287287
(
288-
JoltNode(123, ["l1", "l2"], {"U": 2147483648}, "123"),
289-
'{"()": [123, ["l1", "l2"], {"U": {"Z": "2147483648"}}, "123"]}'
288+
JoltNode(123, ["l1", "l2"], {"U": 2147483648}, "abc"),
289+
'{"()": [123, ["l1", "l2"], {"U": {"Z": "2147483648"}}, "abc"]}'
290290
),
291291
(
292-
JoltNode(None, ["l1", "l2"], {"a": 42}, "123"),
293-
'{"()": [null, ["l1", "l2"], {"a": 42}, "123"]}'
292+
JoltNode(None, ["l1", "l2"], {"a": 42}, "abc"),
293+
'{"()": [null, ["l1", "l2"], {"a": 42}, "abc"]}'
294294
),
295295
296296
# relationship
297297
(
298298
JoltRelationship(42, 123, "REVERTS_TO", 321, {"prop": "value"},
299-
"42", "123", "321"),
299+
"db", "abc", "cba"),
300300
'{"->": [42, 123, "REVERTS_TO", 321, {"prop": "value"}, '
301-
'"42", "123", "321"]}'
301+
'"db", "abc", "cba"]}'
302302
),
303303
304304
# path
305305
(
306306
JoltPath(
307-
JoltNode(1, ["l"], {}, "1"),
308-
JoltRelationship(2, 1, "RELATES_TO", 3, {}, "2", "1", "3"),
309-
JoltNode(3, ["l"], {}, "3"),
310-
JoltRelationship(4, 3, "RELATES_TO", 1, {}, "4", "3", "1"),
311-
JoltNode(1, ["l"], {}, "1"),
307+
JoltNode(1, ["l"], {}, "a"),
308+
JoltRelationship(2, 1, "RELATES_TO", 3, {}, "b", "a", "c"),
309+
JoltNode(3, ["l"], {}, "c"),
310+
JoltRelationship(4, 3, "RELATES_TO", 1, {}, "d", "c", "a"),
311+
JoltNode(1, ["l"], {}, "a"),
312312
),
313313
'{"..": ['
314-
'{"()": [1, ["l"], {}, "1"]}, '
315-
'{"->": [2, 1, "RELATES_TO", 3, {}, "2", "1", "3"]}, '
316-
'{"()": [3, ["l"], {}, "3"]}, '
317-
'{"->": [4, 3, "RELATES_TO", 1, {}, "4", "3", "1"]}, '
318-
'{"()": [1, ["l"], {}, "1"]}'
314+
'{"()": [1, ["l"], {}, "a"]}, '
315+
'{"->": [2, 1, "RELATES_TO", 3, {}, "b", "a", "c"]}, '
316+
'{"()": [3, ["l"], {}, "c"]}, '
317+
'{"->": [4, 3, "RELATES_TO", 1, {}, "d", "c", "a"]}, '
318+
'{"()": [1, ["l"], {}, "a"]}'
319319
']}' # noqa: Q000
320320
),
321321
(
322322
JoltPath(
323-
JoltNode(None, ["l"], {}, "1"),
323+
JoltNode(None, ["l"], {}, "a"),
324324
JoltRelationship(None, None, "RELATES_TO", None, {},
325-
"2", "1", "3"),
326-
JoltNode(None, ["l"], {}, "3"),
325+
"b", "a", "c"),
326+
JoltNode(None, ["l"], {}, "c"),
327327
JoltRelationship(None, None, "RELATES_TO", None, {},
328-
"4", "3", "1"),
329-
JoltNode(None, ["l"], {}, "1"),
328+
"d", "c", "a"),
329+
JoltNode(None, ["l"], {}, "a"),
330330
),
331331
'{"..": ['
332-
'{"()": [null, ["l"], {}, "1"]}, '
333-
'{"->": [null, null, "RELATES_TO", null, {}, "2", "1", "3"]}, '
334-
'{"()": [null, ["l"], {}, "3"]}, '
335-
'{"->": [null, null, "RELATES_TO", null, {}, "4", "3", "1"]}, '
336-
'{"()": [null, ["l"], {}, "1"]}'
332+
'{"()": [null, ["l"], {}, "a"]}, '
333+
'{"->": [null, null, "RELATES_TO", null, {}, "b", "a", "c"]}, '
334+
'{"()": [null, ["l"], {}, "c"]}, '
335+
'{"->": [null, null, "RELATES_TO", null, {}, "d", "c", "a"]}, '
336+
'{"()": [null, ["l"], {}, "a"]}'
337337
']}' # noqa: Q000
338338
),
339339
))
@@ -519,19 +519,17 @@ def test_verifies_point(in_):
519519

520520
@pytest.mark.parametrize("in_", (
521521
# str id
522-
'{"()": ["1", ["l"], {}, "1"]}',
522+
'{"()": ["1", ["l"], {}, "a"]}',
523523
# int element id
524524
'{"()": [1, ["l"], {}, 1]}',
525525
# null element id
526526
'{"()": [1, ["l"], {}, null]}',
527-
# id element id mismatch
528-
'{"()": [1, ["l"], {}, "2"]}',
529527
# int label
530-
'{"()": [1, [1], {}, "1"]}',
528+
'{"()": [1, [1], {}, "a"]}',
531529
# str label
532-
'{"()": [1, "[]", {}, "1"]}',
530+
'{"()": [1, "[]", {}, "a"]}',
533531
# list property
534-
'{"()": [1, ["l"], ["a", "b"], "1"]}',
532+
'{"()": [1, ["l"], ["a", "b"], "a"]}',
535533
# jolt v1 format
536534
'{"()": [123, ["l1", "l2"], {"a": 42}]}',
537535
))
@@ -542,35 +540,29 @@ def test_verifies_node(in_):
542540

543541
@pytest.mark.parametrize("in_", (
544542
# dict id
545-
'{"->": [{"U": "2"}, 1, "RELATES_TO", 3, {}, "2", "1", "3"]}',
543+
'{"->": [{"U": "2"}, 1, "RELATES_TO", 3, {}, "b", "a", "c"]}',
546544
# str id
547-
'{"->": ["2", 1, "RELATES_TO", 3, {}, "2", "1", "3"]}',
545+
'{"->": ["2", 1, "RELATES_TO", 3, {}, "b", "a", "c"]}',
548546
# int element id
549-
'{"->": [2, 1, "RELATES_TO", 3, {}, 2, "1", "3"]}',
547+
'{"->": [2, 1, "RELATES_TO", 3, {}, 2, "a", "c"]}',
550548
# null element id
551-
'{"->": [2, 1, "RELATES_TO", 3, {}, null, "1", "3"]}',
549+
'{"->": [2, 1, "RELATES_TO", 3, {}, null, "a", "c"]}',
552550
# str start id
553-
'{"->": [2, "1", "RELATES_TO", 3, {}, "2", "1", "3"]}',
551+
'{"->": [2, "1", "RELATES_TO", 3, {}, "b", "a", "c"]}',
554552
# int start element id
555-
'{"->": [2, 1, "RELATES_TO", 3, {}, "2", 1, "3"]}',
553+
'{"->": [2, 1, "RELATES_TO", 3, {}, "b", 1, "c"]}',
556554
# null start element id
557-
'{"->": [2, 1, "RELATES_TO", 3, {}, "2", null, "3"]}',
555+
'{"->": [2, 1, "RELATES_TO", 3, {}, "b", null, "c"]}',
558556
# int label
559-
'{"->": [2, 1, 1337, 3, {}, "2", "1", "3"]}',
557+
'{"->": [2, 1, 1337, 3, {}, "b", "a", "c"]}',
560558
# str end id
561-
'{"->": [2, 1, "RELATES_TO", "3", {}, "2", "1", "3"]}',
559+
'{"->": [2, 1, "RELATES_TO", "c", {}, "b", "a", "c"]}',
562560
# int end element id
563-
'{"->": [2, 1, "RELATES_TO", 3, {}, "2", "1", 3]}',
561+
'{"->": [2, 1, "RELATES_TO", 3, {}, "b", "a", 3]}',
564562
# null end element id
565-
'{"->": [2, 1, "RELATES_TO", 3, {}, "2", "1", null]}',
566-
# id element id mismatch
567-
'{"->": [2, 1, "RELATES_TO", 3, {}, "4", "1", "3"]}',
568-
# start id start element id mismatch
569-
'{"->": [2, 1, "RELATES_TO", 3, {}, "2", "4", "3"]}',
570-
# end id end element id mismatch
571-
'{"->": [2, 1, "RELATES_TO", 3, {}, "2", "1", "4"]}',
563+
'{"->": [2, 1, "RELATES_TO", 3, {}, "b", "a", null]}',
572564
# list properties
573-
'{"->": [2, 1, "RELATES_TO", "3", ["a", "b"], "2", "1", "3"]}',
565+
'{"->": [2, 1, "RELATES_TO", "3", ["a", "b"], "b", "a", "c"]}',
574566
# jolt v1 format
575567
'{"->": [2, 1, "RELATES_TO", 3, {}]}',
576568
))
@@ -586,93 +578,93 @@ def test_verifies_relationship(in_, flip):
586578
@pytest.mark.parametrize("in_", (
587579
# Link to non-existent node
588580
'{"..": ['
589-
'{"()": [1, ["l"], {}, "1"]}, '
590-
'{"->": [2, 1, "RELATES_TO", 4, {}, "2", "1", "4"]}, '
591-
'{"()": [3, ["l"], {}, "3"]}, '
592-
'{"->": [4, 3, "RELATES_TO", 1, {}, "4", "3", "1"]}, '
593-
'{"()": [1, ["l"], {}, "1"]}'
581+
'{"()": [1, ["l"], {}, "a"]}, '
582+
'{"->": [2, 1, "RELATES_TO", 4, {}, "b", "a", "d"]}, '
583+
'{"()": [3, ["l"], {}, "c"]}, '
584+
'{"->": [4, 3, "RELATES_TO", 1, {}, "d", "c", "a"]}, '
585+
'{"()": [1, ["l"], {}, "a"]}'
594586
']}', # noqa: Q000
595587
596588
# Link from non-existent node
597589
'{"..": ['
598-
'{"()": [1, ["l"], {}, "1"]}, '
599-
'{"->": [2, 4, "RELATES_TO", 3, {}, "2", "4", "3"]}, '
600-
'{"()": [3, ["l"], {}, "3"]}, '
601-
'{"->": [4, 3, "RELATES_TO", 1, {}, "4", "3", "1"]}, '
602-
'{"()": [1, ["l"], {}, "1"]}'
590+
'{"()": [1, ["l"], {}, "a"]}, '
591+
'{"->": [2, 4, "RELATES_TO", 3, {}, "b", "d", "c"]}, '
592+
'{"()": [3, ["l"], {}, "c"]}, '
593+
'{"->": [4, 3, "RELATES_TO", 1, {}, "d", "c", "a"]}, '
594+
'{"()": [1, ["l"], {}, "a"]}'
603595
']}', # noqa: Q000
604596
605597
# double link
606598
'{"..": ['
607-
'{"()": [1, ["l"], {}, "1"]}, '
608-
'{"->": [2, 1, "RELATES_TO", 3, {}, "2", "1", "3"]}, '
609-
'{"->": [4, 1, "RELATES_TO", 3, {}, "4", "1", "3"]}, '
610-
'{"()": [3, ["l"], {}, "3"]}'
599+
'{"()": [1, ["l"], {}, "a"]}, '
600+
'{"->": [2, 1, "RELATES_TO", 3, {}, "b", "a", "c"]}, '
601+
'{"->": [4, 1, "RELATES_TO", 3, {}, "d", "a", "c"]}, '
602+
'{"()": [3, ["l"], {}, "c"]}'
611603
']}', # noqa: Q000
612604
'{"..": ['
613-
'{"()": [1, ["l"], {}, "1"]}, '
614-
'{"->": [2, 1, "RELATES_TO", 3, {}, "2", "1", "3"]}, '
615-
'{"->": [4, 1, "RELATES_TO", 3, {}, "4", "1", "3"]}, '
616-
'{"->": [5, 1, "RELATES_TO", 3, {}, "5", "1", "3"]}, '
617-
'{"()": [3, ["l"], {}, "3"]}'
605+
'{"()": [1, ["l"], {}, "a"]}, '
606+
'{"->": [2, 1, "RELATES_TO", 3, {}, "b", "a", "c"]}, '
607+
'{"->": [4, 1, "RELATES_TO", 3, {}, "d", "a", "c"]}, '
608+
'{"->": [5, 1, "RELATES_TO", 3, {}, "e", "a", "c"]}, '
609+
'{"()": [3, ["l"], {}, "c"]}'
618610
']}', # noqa: Q000
619611
620612
# double node
621613
'{"..": ['
622-
'{"()": [1, ["l"], {}, "1"]}, '
623-
'{"()": [4, ["l"], {}, "4"]}, '
624-
'{"->": [2, 1, "RELATES_TO", 3, {}, "2", "1", "3"]}, '
625-
'{"()": [4, ["l"], {}, "4"]} '
614+
'{"()": [1, ["l"], {}, "a"]}, '
615+
'{"()": [4, ["l"], {}, "d"]}, '
616+
'{"->": [2, 1, "RELATES_TO", 3, {}, "b", "a", "c"]}, '
617+
'{"()": [4, ["l"], {}, "d"]} '
626618
']}', # noqa: Q000
627619
'{"..": ['
628-
'{"()": [1, ["l"], {}, "1"]}, '
629-
'{"()": [4, ["l"], {}, "4"]}, '
630-
'{"->": [2, 1, "RELATES_TO", 3, {}, "2", "1", "3"]}, '
631-
'{"()": [5, ["l"], {}, "5"]}, '
632-
'{"()": [4, ["l"], {}, "4"]} '
620+
'{"()": [1, ["l"], {}, "a"]}, '
621+
'{"()": [4, ["l"], {}, "d"]}, '
622+
'{"->": [2, 1, "RELATES_TO", 3, {}, "b", "a", "c"]}, '
623+
'{"()": [5, ["l"], {}, "e"]}, '
624+
'{"()": [4, ["l"], {}, "d"]} '
633625
']}', # noqa: Q000
634626
635627
# only nodes
636628
'{"..": ['
637-
'{"()": [1, ["l"], {}, "1"]}, '
638-
'{"()": [4, ["l"], {}, "4"]}, '
639-
'{"()": [2, ["l"], {}, "2"]}'
629+
'{"()": [1, ["l"], {}, "a"]}, '
630+
'{"()": [4, ["l"], {}, "d"]}, '
631+
'{"()": [2, ["l"], {}, "b"]}'
640632
']}', # noqa: Q000
641633
642634
# only relationships
643635
'{"..": ['
644-
'{"->": [1, 1, "RELATES_TO", 3, {}, "1", "1", "3"]}, '
645-
'{"->": [2, 1, "RELATES_TO", 3, {}, "2", "1", "3"]}, '
646-
'{"->": [3, 1, "RELATES_TO", 3, {}, "3", "1", "3"]}'
636+
'{"->": [1, 1, "RELATES_TO", 3, {}, "a", "a", "c"]}, '
637+
'{"->": [2, 1, "RELATES_TO", 3, {}, "b", "a", "c"]}, '
638+
'{"->": [3, 1, "RELATES_TO", 3, {}, "c", "a", "c"]}'
647639
']}', # noqa: Q000
648640
649641
# start with relationship
650642
'{"..": ['
651-
'{"->": [5, 1, "RELATES_TO", 1, {}, "5", "1", "1"]}, '
652-
'{"()": [1, ["l"], {}, "1"]}, '
653-
'{"->": [2, 1, "RELATES_TO", 3, {}, "2", "1", "3"]}, '
643+
'{"->": [5, 1, "RELATES_TO", 1, {}, "e", "a", "a"]}, '
644+
'{"()": [1, ["l"], {}, "a"]}, '
645+
'{"->": [2, 1, "RELATES_TO", 3, {}, "b", "a", "c"]}, '
654646
'{"()": [3, ["l"], {}]}, '
655-
'{"->": [4, 3, "RELATES_TO", 1, {}, "4", "3", "1"]}, '
656-
'{"()": [1, ["l"], {}, "1"]}'
647+
'{"->": [4, 3, "RELATES_TO", 1, {}, "d", "c", "a"]}, '
648+
'{"()": [1, ["l"], {}, "a"]}'
657649
']}', # noqa: Q000
658650
659651
# ending with relationship
660652
'{"..": ['
661-
'{"()": [1, ["l"], {}, "1"]}, '
662-
'{"->": [2, 1, "RELATES_TO", 3, {}, "2", "1", "3"]}, '
663-
'{"()": [3, ["l"], {}, "3"]}, '
664-
'{"->": [4, 3, "RELATES_TO", 1, {}, "4", "3", "1"]}, '
665-
'{"()": [1, ["l"], {}, "1"]}, '
666-
'{"->": [5, 1, "RELATES_TO", 1, {}, "5", "1", "1"]}'
653+
'{"()": [1, ["l"], {}, "a"]}, '
654+
'{"->": [2, 1, "RELATES_TO", 3, {}, "b", "a", "c"]}, '
655+
'{"()": [3, ["l"], {}, "c"]}, '
656+
'{"->": [4, 3, "RELATES_TO", 1, {}, "d", "c", "a"]}, '
657+
'{"()": [1, ["l"], {}, "a"]}, '
658+
'{"->": [5, 1, "RELATES_TO", 1, {}, "e", "a", "a"]}'
667659
']}', # noqa: Q000
668660
'{"..": ['
669-
'{"()": [1, ["l"], {}, "1"]}, '
670-
'{"->": [2, 1, "RELATES_TO", 3, {}, "2", "1", "3"]}, '
671-
'{"()": [3, ["l"], {}, "3"]}, '
672-
'{"->": [4, 3, "RELATES_TO", 1, {}, "4", "3", "1"]}, '
673-
'{"()": [1, ["l"], {}, "1"]}, '
674-
'{"->": [6, 1, "RELATES_TO", 1, {}, "6", "1", "1"]}, '
675-
'{"->": [6, 1, "RELATES_TO", 1, {}, "6", "1", "1"]}'
661+
'{"()": [1, ["l"], {}, "a"]}, '
662+
'{"->": [2, 1, "RELATES_TO", 3, {}, "b", "a", "c"]}, '
663+
'{"()": [3, ["l"], {}, "c"]}, '
664+
'{"->": [4, 3, "RELATES_TO", 1, {}, "d", "c", "a"]}, '
665+
'{"()": [1, ["l"], {}, "a"]}, '
666+
'{"->": [6, 1, "RELATES_TO", 1, {}, "f", "a", "a"]}, '
667+
'{"->": [6, 1, "RELATES_TO", 1, {}, "f", "a", "a"]}'
676668
']}', # noqa: Q000
677669
678670
# total bogus

0 commit comments

Comments
 (0)