github.com/openfga/openfga@v1.5.4-rc1/assets/tests/abac_tests.yaml (about) 1 tests: 2 - name: direct_relation_with_condition 3 stages: 4 - model: | 5 model 6 schema 1.1 7 type user 8 9 type document 10 relations 11 define viewer: [user with x_less_than] 12 13 condition x_less_than(x: int) { 14 x < 100 15 } 16 tuples: 17 - user: user:jon 18 relation: viewer 19 object: document:1 20 condition: 21 name: x_less_than 22 checkAssertions: 23 - tuple: 24 user: user:jon 25 relation: viewer 26 object: document:1 27 errorCode: 2000 28 - tuple: 29 user: user:jon 30 relation: viewer 31 object: document:1 32 context: 33 "x": 10 34 expectation: true 35 - tuple: 36 user: user:jon 37 relation: viewer 38 object: document:1 39 context: 40 "x": 101 41 expectation: false 42 listObjectsAssertions: 43 - request: 44 user: user:jon 45 type: document 46 relation: viewer 47 errorCode: 2000 48 - request: 49 user: user:jon 50 type: document 51 relation: viewer 52 context: 53 "x": 10 54 expectation: 55 - document:1 56 - request: 57 user: user:jon 58 type: document 59 relation: viewer 60 context: 61 "x": 101 62 expectation: 63 listUsersAssertions: 64 - request: 65 filters: 66 - user 67 relation: viewer 68 object: document:1 69 errorCode: 2000 70 - request: 71 filters: 72 - user 73 object: document:1 74 relation: viewer 75 context: 76 "x": 101 77 expectation: 78 - request: 79 filters: 80 - user 81 object: document:1 82 relation: viewer 83 context: 84 "x": 99 85 expectation: 86 - user:jon 87 - name: indirect_relation_with_condition 88 stages: 89 - model: | 90 model 91 schema 1.1 92 type user 93 94 type group 95 relations 96 define member: [user] 97 98 type document 99 relations 100 define viewer: [group#member with ts_less_than] 101 102 condition ts_less_than(ts: timestamp) { 103 ts < timestamp("2023-10-11T10:00:00.000Z") 104 } 105 tuples: 106 - user: group:eng#member 107 relation: viewer 108 object: document:1 109 condition: 110 name: ts_less_than 111 - user: user:jon 112 relation: member 113 object: group:eng 114 checkAssertions: 115 - tuple: 116 user: user:jon 117 relation: viewer 118 object: document:1 119 errorCode: 2000 120 - tuple: 121 user: user:jon 122 relation: viewer 123 object: document:1 124 context: 125 "ts": "2023-10-11T09:00:00.000Z" 126 expectation: true 127 - tuple: 128 user: user:jon 129 relation: viewer 130 object: document:1 131 context: 132 "ts": "2023-10-11T10:00:00.000Z" 133 expectation: false 134 listObjectsAssertions: 135 - request: 136 user: user:jon 137 type: document 138 relation: viewer 139 errorCode: 2000 140 - request: 141 user: user:jon 142 type: document 143 relation: viewer 144 context: 145 "ts": "2023-10-11T09:00:00.000Z" 146 expectation: 147 - document:1 148 - request: 149 user: user:jon 150 type: document 151 relation: viewer 152 context: 153 "ts": "2023-10-11T10:00:00.000Z" 154 expectation: 155 listUsersAssertions: 156 - request: 157 filters: 158 - user 159 relation: viewer 160 object: document:1 161 errorCode: 2000 162 - request: 163 filters: 164 - user 165 object: document:1 166 relation: viewer 167 context: 168 "ts": "2023-10-11T10:00:00.000Z" 169 expectation: 170 - request: 171 filters: 172 - user 173 object: document:1 174 relation: viewer 175 context: 176 "ts": "2023-10-11T09:00:00.000Z" 177 expectation: 178 - user:jon 179 - request: 180 filters: 181 - group#member 182 object: document:1 183 relation: viewer 184 context: 185 "ts": "2023-10-11T10:00:00.000Z" 186 expectation: 187 - request: 188 filters: 189 - group#member 190 object: document:1 191 relation: viewer 192 context: 193 "ts": "2023-10-11T09:00:00.000Z" 194 expectation: 195 - group:eng#member 196 - name: nested_indirect_relation_with_condition 197 stages: 198 - model: | 199 model 200 schema 1.1 201 type user 202 203 type group 204 relations 205 define member: [user, group#member with ipaddr_in_range] 206 207 type document 208 relations 209 define viewer: [group#member] 210 211 condition ipaddr_in_range(user_ip: ipaddress, cidr: string) { 212 user_ip.in_cidr(cidr) 213 } 214 tuples: 215 - user: user:jon 216 relation: member 217 object: group:fga 218 - user: group:eng#member 219 relation: viewer 220 object: document:1 221 - user: group:fga#member 222 relation: member 223 object: group:eng 224 condition: 225 name: ipaddr_in_range 226 context: 227 "cidr": "192.168.0.0/24" 228 checkAssertions: 229 - tuple: 230 user: user:jon 231 relation: viewer 232 object: document:1 233 errorCode: 2000 234 - tuple: 235 user: user:jon 236 relation: viewer 237 object: document:1 238 context: 239 "user_ip": "192.168.0.1" 240 expectation: true 241 - tuple: 242 user: user:jon 243 relation: viewer 244 object: document:1 245 context: 246 "user_ip": "192.168.1.0" 247 expectation: false 248 listObjectsAssertions: 249 - request: 250 user: user:jon 251 type: document 252 relation: viewer 253 errorCode: 2000 254 - request: 255 user: user:jon 256 type: document 257 relation: viewer 258 context: 259 "user_ip": "192.168.0.1" 260 expectation: 261 - document:1 262 - request: 263 user: user:jon 264 type: document 265 relation: viewer 266 context: 267 "user_ip": "192.168.1.0" 268 expectation: 269 listUsersAssertions: 270 - request: 271 filters: 272 - user 273 relation: viewer 274 object: document:1 275 errorCode: 2000 276 - request: 277 filters: 278 - user 279 object: document:1 280 relation: viewer 281 context: 282 "user_ip": "192.168.1.0" 283 expectation: 284 - request: 285 filters: 286 - user 287 object: document:1 288 relation: viewer 289 context: 290 "user_ip": "192.168.0.1" 291 expectation: 292 - user:jon 293 - request: 294 filters: 295 - group#member 296 object: document:1 297 relation: viewer 298 context: 299 "user_ip": "192.168.1.0" 300 expectation: 301 - group:eng#member 302 - request: 303 filters: 304 - group#member 305 object: document:1 306 relation: viewer 307 context: 308 "user_ip": "192.168.0.1" 309 expectation: 310 - group:eng#member 311 - group:fga#member 312 - name: computed_userset_with_condition 313 stages: 314 - model: | 315 model 316 schema 1.1 317 type user 318 319 type document 320 relations 321 define writer: [user with x_less_than] 322 define viewer: writer 323 324 condition x_less_than(x: int) { 325 x < 100 326 } 327 tuples: 328 - object: document:1 329 relation: writer 330 user: user:aardvark 331 condition: 332 name: x_less_than 333 checkAssertions: 334 - tuple: 335 object: document:1 336 relation: writer 337 user: user:aardvark 338 errorCode: 2000 339 - tuple: 340 object: document:1 341 relation: writer 342 user: user:aardvark 343 context: 344 "x": 10 345 expectation: true 346 - tuple: 347 object: document:1 348 relation: writer 349 user: user:aardvark 350 context: 351 "x": 101 352 expectation: false 353 listObjectsAssertions: 354 - request: 355 user: user:aardvark 356 type: document 357 relation: writer 358 errorCode: 2000 359 - request: 360 user: user:aardvark 361 type: document 362 relation: writer 363 context: 364 "x": 10 365 expectation: 366 - document:1 367 - request: 368 user: user:aardvark 369 type: document 370 relation: writer 371 context: 372 "x": 101 373 expectation: 374 listUsersAssertions: 375 - request: 376 filters: 377 - user 378 relation: viewer 379 object: document:1 380 errorCode: 2000 381 - request: 382 filters: 383 - user 384 object: document:1 385 relation: viewer 386 context: 387 "x": 101 388 expectation: 389 - request: 390 filters: 391 - user 392 object: document:1 393 relation: viewer 394 context: 395 "x": 99 396 expectation: 397 - user:aardvark 398 - name: tuple_to_userset_with_condition 399 stages: 400 - model: | 401 model 402 schema 1.1 403 type user 404 405 type folder 406 relations 407 define viewer: [user] 408 409 type document 410 relations 411 define parent: [folder with x_less_than] 412 define viewer: viewer from parent 413 414 condition x_less_than(x: int) { 415 x < 100 416 } 417 tuples: 418 - object: document:1 419 relation: parent 420 user: folder:x 421 condition: 422 name: x_less_than 423 - object: folder:x 424 relation: viewer 425 user: user:aardvark 426 checkAssertions: 427 - tuple: 428 object: document:1 429 relation: viewer 430 user: user:aardvark 431 errorCode: 2000 432 - tuple: 433 object: document:1 434 relation: viewer 435 user: user:aardvark 436 context: 437 "x": 10 438 expectation: true 439 - tuple: 440 object: document:1 441 relation: viewer 442 user: user:aardvark 443 context: 444 "x": 101 445 expectation: false 446 listObjectsAssertions: 447 - request: 448 user: user:aardvark 449 type: document 450 relation: viewer 451 errorCode: 2000 452 - request: 453 user: user:aardvark 454 type: document 455 relation: viewer 456 context: 457 "x": 10 458 expectation: 459 - document:1 460 - request: 461 user: user:aardvark 462 type: document 463 relation: viewer 464 context: 465 "x": 101 466 expectation: 467 listUsersAssertions: 468 - request: 469 filters: 470 - user 471 relation: viewer 472 object: document:1 473 errorCode: 2000 474 - request: 475 filters: 476 - user 477 object: document:1 478 relation: viewer 479 context: 480 "x": 101 481 expectation: 482 - request: 483 filters: 484 - user 485 object: document:1 486 relation: viewer 487 context: 488 "x": 99 489 expectation: 490 - user:aardvark 491 - request: 492 filters: 493 - folder#viewer 494 object: document:1 495 relation: viewer 496 context: 497 "x": 101 498 expectation: 499 - request: 500 filters: 501 - folder#viewer 502 object: document:1 503 relation: viewer 504 context: 505 "x": 99 506 expectation: 507 - folder:x#viewer 508 - name: direct_relation_with_condition 509 stages: 510 - model: | 511 model 512 schema 1.1 513 type user 514 515 type document 516 relations 517 define viewer: [user with x_less_than] 518 519 condition x_less_than(x: int) { 520 x < 100 521 } 522 tuples: 523 - user: user:jon 524 relation: viewer 525 object: document:1 526 condition: 527 name: x_less_than 528 checkAssertions: 529 - tuple: 530 user: user:jon 531 relation: viewer 532 object: document:1 533 errorCode: 2000 534 - tuple: 535 user: user:jon 536 relation: viewer 537 object: document:1 538 context: 539 "x": 10 540 expectation: true 541 - tuple: 542 user: user:jon 543 relation: viewer 544 object: document:1 545 context: 546 "x": 101 547 expectation: false 548 listObjectsAssertions: 549 - request: 550 user: user:jon 551 type: document 552 relation: viewer 553 errorCode: 2000 554 - request: 555 user: user:jon 556 type: document 557 relation: viewer 558 context: 559 "x": 10 560 expectation: 561 - document:1 562 - request: 563 user: user:jon 564 type: document 565 relation: viewer 566 context: 567 "x": 101 568 expectation: 569 listUsersAssertions: 570 - request: 571 filters: 572 - user 573 relation: viewer 574 object: document:1 575 errorCode: 2000 576 - request: 577 filters: 578 - user 579 object: document:1 580 relation: viewer 581 context: 582 "x": 101 583 expectation: 584 - request: 585 filters: 586 - user 587 object: document:1 588 relation: viewer 589 context: 590 "x": 99 591 expectation: 592 - user:jon 593 - name: direct_relations_with_condition_through_intersection 594 stages: 595 - model: | 596 model 597 schema 1.1 598 type user 599 600 type document 601 relations 602 define allowed: [user with condx] 603 define viewer: [user with condy] and allowed 604 605 condition condx(x: int) { 606 x < 100 607 } 608 609 condition condy(y: int) { 610 y < 50 611 } 612 tuples: 613 - user: user:jon 614 relation: viewer 615 object: document:1 616 condition: 617 name: condy 618 - user: user:jon 619 relation: allowed 620 object: document:1 621 condition: 622 name: condx 623 checkAssertions: 624 - tuple: 625 user: user:jon 626 relation: viewer 627 object: document:1 628 context: 629 "x": 10 630 "y": 5 631 expectation: true 632 - tuple: 633 user: user:jon 634 relation: viewer 635 object: document:1 636 context: 637 "x": 101 638 "y": 5 639 expectation: false 640 listObjectsAssertions: 641 - request: 642 user: user:jon 643 type: document 644 relation: viewer 645 errorCode: 2000 646 - request: 647 user: user:jon 648 type: document 649 relation: viewer 650 context: 651 "x": 10 652 "y": 5 653 expectation: 654 - document:1 655 - request: 656 user: user:jon 657 type: document 658 relation: viewer 659 context: 660 "x": 101 661 "y": 5 662 expectation: 663 listUsersAssertions: 664 - request: 665 filters: 666 - user 667 relation: viewer 668 object: document:1 669 errorCode: 2000 670 - request: 671 filters: 672 - user 673 object: document:1 674 relation: viewer 675 context: 676 "x": 10 677 "y": 5 678 expectation: 679 - user:jon 680 - request: 681 filters: 682 - user 683 object: document:1 684 relation: viewer 685 context: 686 "x": 101 687 "y": 5 688 expectation: 689 - name: relation_through_ttu_with_condition 690 stages: 691 - model: | 692 model 693 schema 1.1 694 type user 695 696 type folder 697 relations 698 define viewer: [user] 699 700 type document 701 relations 702 define parent: [folder with str_cond, folder with xcond] 703 define viewer: [user] or viewer from parent 704 705 condition str_cond(s: string) { 706 s == "hello" 707 } 708 709 condition xcond(x: int) { 710 x == 10 711 } 712 tuples: 713 - user: folder:a 714 relation: parent 715 object: document:1 716 condition: 717 name: str_cond 718 - user: folder:b 719 relation: parent 720 object: document:1 721 condition: 722 name: xcond 723 - user: user:jon 724 relation: viewer 725 object: folder:a 726 - user: user:jon 727 relation: viewer 728 object: folder:b 729 checkAssertions: 730 - tuple: 731 user: user:jon 732 relation: viewer 733 object: document:1 734 errorCode: 2000 735 - tuple: 736 user: user:jon 737 relation: viewer 738 object: document:1 739 context: 740 "s": "hello" 741 expectation: true 742 - tuple: 743 user: user:jon 744 relation: viewer 745 object: document:1 746 context: 747 "x": 10 748 expectation: true 749 - tuple: 750 user: user:jon 751 relation: viewer 752 object: document:1 753 context: 754 "s": "foo" 755 errorCode: 2000 756 - tuple: 757 user: user:jon 758 relation: viewer 759 object: document:1 760 context: 761 "x": 15 762 errorCode: 2000 763 - tuple: 764 user: user:jon 765 relation: viewer 766 object: document:1 767 contextualTuples: 768 - object: document:1 769 relation: viewer 770 user: user:jon 771 expectation: true 772 listUsersAssertions: 773 - request: 774 filters: 775 - user 776 object: document:1 777 relation: viewer 778 errorCode: 2000 779 - request: 780 filters: 781 - user 782 object: document:1 783 relation: viewer 784 context: 785 "s": "hello" 786 errorCode: 2000 787 - request: 788 filters: 789 - user 790 object: document:1 791 relation: viewer 792 context: 793 "x": 10 794 errorCode: 2000 795 - request: 796 filters: 797 - user 798 object: document:1 799 relation: viewer 800 context: 801 "s": "not hello" 802 errorCode: 2000 803 - request: 804 filters: 805 - user 806 object: document:1 807 relation: viewer 808 context: 809 "x": 11 810 errorCode: 2000 811 - request: 812 filters: 813 - folder#viewer 814 object: document:1 815 relation: viewer 816 context: 817 "x": 10 818 errorCode: 2000 819 - request: 820 filters: 821 - folder#viewer 822 object: document:1 823 relation: viewer 824 context: 825 "s": "hello" 826 errorCode: 2000 827 - request: 828 filters: 829 - folder#viewer 830 object: document:1 831 relation: viewer 832 context: 833 "s": "hello" 834 "x": 10 835 expectation: 836 - folder:a#viewer 837 - folder:b#viewer 838 - request: 839 filters: 840 - folder#viewer 841 object: document:1 842 relation: viewer 843 context: 844 "s": "not hello" 845 "x": 11 846 expectation: 847 - name: direct_relations_with_condition 848 stages: 849 - model: | 850 model 851 schema 1.1 852 type user 853 854 type document 855 relations 856 define viewer: [user with condxy] 857 858 condition condxy(x: int, y: int) { 859 x < 100 || y < 50 860 } 861 tuples: 862 - user: user:jon 863 relation: viewer 864 object: document:1 865 condition: 866 name: condxy 867 checkAssertions: 868 - tuple: 869 user: user:jon 870 relation: viewer 871 object: document:1 872 errorCode: 2000 873 - tuple: 874 user: user:jon 875 relation: viewer 876 object: document:1 877 context: 878 "x": 10 879 "y": 5 880 expectation: true 881 - tuple: 882 user: user:jon 883 relation: viewer 884 object: document:1 885 context: 886 "x": 101 887 "y": 51 888 expectation: false 889 - tuple: 890 user: user:jon 891 relation: viewer 892 object: document:1 893 context: 894 "x": 10 895 errorCode: 2000 896 - tuple: 897 user: user:jon 898 relation: viewer 899 object: document:1 900 context: 901 "y": 10 902 errorCode: 2000 903 listObjectsAssertions: 904 - request: 905 user: user:jon 906 type: document 907 relation: viewer 908 errorCode: 2000 # missing params 909 - request: 910 user: user:jon 911 type: document 912 relation: viewer 913 context: 914 "x": 10 915 "y": 5 916 expectation: 917 - document:1 918 - request: 919 user: user:jon 920 type: document 921 relation: viewer 922 context: 923 "x": 101 924 "y": 51 925 expectation: 926 # TODO inconsistent with Check, which throws error. See https://github.com/openfga/openfga/issues/1567 927 # - request: 928 # user: user:jon 929 # type: document 930 # relation: viewer 931 # context: 932 # "x": 10 933 # expectation: 934 # - document:1 935 # - request: 936 # user: user:jon 937 # type: document 938 # relation: viewer 939 # context: 940 # "y": 10 941 # expectation: 942 # - document:1 943 listUsersAssertions: 944 - request: 945 filters: 946 - user 947 relation: viewer 948 object: document:1 949 errorCode: 2000 950 - request: 951 filters: 952 - user 953 relation: viewer 954 object: document:1 955 context: 956 "y": 10 957 errorCode: 2000 958 - request: 959 filters: 960 - user 961 object: document:1 962 relation: viewer 963 context: 964 "x": 1 965 "y": 1 966 expectation: 967 - user:jon 968 - request: 969 filters: 970 - user 971 object: document:1 972 relation: viewer 973 context: 974 "x": 50000 975 "y": 50000 976 expectation: 977 - request: 978 filters: 979 - user 980 object: document:1 981 relation: viewer 982 context: 983 "x": 1 984 "y": 50000 985 expectation: 986 - user:jon 987 - request: 988 filters: 989 - user 990 object: document:1 991 relation: viewer 992 context: 993 "x": 50000 994 "y": 1 995 expectation: 996 - user:jon 997 - name: prior_conditions_ignored 998 stages: 999 - model: | 1000 model 1001 schema 1.1 1002 type user 1003 1004 type document 1005 relations 1006 define viewer: [user with oldcondition] 1007 1008 condition oldcondition(x: int) { 1009 x > 100 1010 } 1011 tuples: 1012 - object: document:1 1013 relation: viewer 1014 user: user:jon 1015 condition: 1016 name: oldcondition 1017 checkAssertions: 1018 - tuple: 1019 object: document:1 1020 relation: viewer 1021 user: user:jon 1022 context: 1023 "x": 101 1024 expectation: true 1025 listObjectsAssertions: 1026 - request: 1027 user: user:jon 1028 type: document 1029 relation: viewer 1030 context: 1031 "x": 101 1032 expectation: 1033 - document:1 1034 listUsersAssertions: 1035 - request: 1036 filters: 1037 - user 1038 object: document:1 1039 relation: viewer 1040 context: 1041 "x": 201 1042 expectation: 1043 - user:jon 1044 - request: 1045 filters: 1046 - user 1047 object: document:1 1048 relation: viewer 1049 context: 1050 "x": 99 1051 expectation: 1052 - model: | 1053 model 1054 schema 1.1 1055 type user 1056 1057 type document 1058 relations 1059 define viewer: [user with newcondition] 1060 1061 condition newcondition(x: int) { 1062 x > 200 1063 } 1064 checkAssertions: 1065 - tuple: 1066 object: document:1 1067 relation: viewer 1068 user: user:jon 1069 context: 1070 "x": 101 1071 expectation: false 1072 - tuple: 1073 object: document:1 1074 relation: viewer 1075 user: user:jon 1076 context: 1077 "x": 201 1078 expectation: false 1079 listObjectsAssertions: 1080 - request: 1081 user: user:jon 1082 type: document 1083 relation: viewer 1084 context: 1085 "x": 101 1086 expectation: 1087 - request: 1088 user: user:jon 1089 type: document 1090 relation: viewer 1091 context: 1092 "x": 201 1093 expectation: 1094 listUsersAssertions: 1095 - request: 1096 filters: 1097 - user 1098 object: document:1 1099 relation: viewer 1100 context: 1101 "x": 201 1102 expectation: 1103 - request: 1104 filters: 1105 - user 1106 object: document:1 1107 relation: viewer 1108 context: 1109 "x": 99 1110 expectation: 1111 - model: | 1112 model 1113 schema 1.1 1114 type user 1115 1116 type document 1117 relations 1118 define viewer: [user with oldcondition] 1119 1120 condition oldcondition(x: int) { 1121 x > 200 1122 } 1123 checkAssertions: 1124 - tuple: 1125 object: document:1 1126 relation: viewer 1127 user: user:jon 1128 context: 1129 "x": 101 1130 expectation: false 1131 - tuple: 1132 object: document:1 1133 relation: viewer 1134 user: user:jon 1135 context: 1136 "x": 201 1137 expectation: true 1138 listObjectsAssertions: 1139 - request: 1140 user: user:jon 1141 type: document 1142 relation: viewer 1143 context: 1144 "x": 101 1145 expectation: 1146 - request: 1147 user: user:jon 1148 type: document 1149 relation: viewer 1150 context: 1151 "x": 201 1152 expectation: 1153 - document:1 1154 listUsersAssertions: 1155 - request: 1156 filters: 1157 - user 1158 object: document:1 1159 relation: viewer 1160 context: 1161 "x": 201 1162 expectation: 1163 - user:jon 1164 - request: 1165 filters: 1166 - user 1167 object: document:1 1168 relation: viewer 1169 context: 1170 "x": 101 1171 expectation: 1172 - name: handles_floats 1173 stages: 1174 - model: | 1175 model 1176 schema 1.1 1177 1178 type user 1179 1180 type document 1181 relations 1182 define viewer: [user with condfloat] 1183 1184 condition condfloat(x: double) { 1185 x > 0.0 1186 } 1187 tuples: 1188 - object: document:1 1189 relation: viewer 1190 user: user:jon 1191 condition: 1192 name: condfloat 1193 checkAssertions: 1194 - tuple: 1195 object: document:1 1196 relation: viewer 1197 user: user:jon 1198 context: 1199 "x": 1.797693134862315708145274237317 1200 expectation: true 1201 - tuple: 1202 object: document:1 1203 relation: viewer 1204 user: user:jon 1205 context: 1206 "x": -1.797693134862315708145274237317 1207 expectation: false 1208 - tuple: 1209 object: document:1 1210 relation: viewer 1211 user: user:jon 1212 context: 1213 "x": "1.79769313486231570814527423731704356798070e+309" 1214 errorCode: 2000 1215 - tuple: 1216 object: document:1 1217 relation: viewer 1218 user: user:jon 1219 context: 1220 "x": "-1.79769313486231570814527423731704356798070e+309" 1221 errorCode: 2000 1222 - tuple: 1223 object: document:1 1224 relation: viewer 1225 user: user:jon 1226 context: 1227 "x": 1.79769313486231570814527423731704356798070e+309 1228 errorCode: 2000 1229 - tuple: 1230 object: document:1 1231 relation: viewer 1232 user: user:jon 1233 context: 1234 "x": -1.79769313486231570814527423731704356798070e+309 1235 errorCode: 2000 1236 listObjectsAssertions: 1237 - request: 1238 user: user:jon 1239 type: document 1240 relation: viewer 1241 context: 1242 "x": 1.797693134862315708145274237317 1243 expectation: 1244 - document:1 1245 - request: 1246 user: user:jon 1247 type: document 1248 relation: viewer 1249 context: 1250 "x": -1.797693134862315708145274237317 1251 expectation: 1252 - request: 1253 user: user:jon 1254 type: document 1255 relation: viewer 1256 context: 1257 "x": "1.79769313486231570814527423731704356798070e+309" 1258 errorCode: 2000 1259 - request: 1260 user: user:jon 1261 type: document 1262 relation: viewer 1263 context: 1264 "x": "-1.79769313486231570814527423731704356798070e+309" 1265 errorCode: 2000 1266 - request: 1267 type: document 1268 relation: viewer 1269 user: user:jon 1270 context: 1271 "x": 1.79769313486231570814527423731704356798070e+309 1272 errorCode: 2000 1273 - request: 1274 type: document 1275 relation: viewer 1276 user: user:jon 1277 context: 1278 "x": -1.79769313486231570814527423731704356798070e+309 1279 errorCode: 2000 1280 listUsersAssertions: 1281 - request: 1282 filters: 1283 - user 1284 object: document:1 1285 relation: viewer 1286 context: 1287 "x": "1.79769313486231570814527423731704356798070e+309" 1288 errorCode: 2000 1289 - request: 1290 filters: 1291 - user 1292 object: document:1 1293 relation: viewer 1294 context: 1295 "x": 1.79769313486231570814527423731704356798070e+309 1296 errorCode: 2000 1297 - request: 1298 filters: 1299 - user 1300 object: document:1 1301 relation: viewer 1302 context: 1303 "x": -1.797693134862315708145274237317 1304 expectation: 1305 - request: 1306 filters: 1307 - user 1308 object: document:1 1309 relation: viewer 1310 context: 1311 "x": 1.797693134862315708145274237317 1312 expectation: 1313 - user:jon