@raytio/core 11.4.1 → 11.6.0

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.
Files changed (137) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1714 -213
  3. package/dist/accessApplication/api/legacy/convertRelationships.d.ts +3 -5
  4. package/dist/accessApplication/api/legacy/convertRelationships.js +3 -3
  5. package/dist/crypto/cognitoAttributes.d.ts +3 -0
  6. package/dist/crypto/cognitoAttributes.js +15 -4
  7. package/dist/crypto/getAADecryptor.d.ts +1 -1
  8. package/dist/crypto/getAADecryptor.js +1 -3
  9. package/dist/crypto/index.d.ts +3 -0
  10. package/dist/crypto/index.js +6 -0
  11. package/dist/crypto/kdf/argon2.d.ts +67 -0
  12. package/dist/crypto/kdf/argon2.js +99 -0
  13. package/dist/crypto/kdf/index.d.ts +43 -0
  14. package/dist/crypto/kdf/index.js +106 -0
  15. package/dist/crypto/kdf/pbkdf2.d.ts +16 -0
  16. package/dist/crypto/kdf/pbkdf2.js +45 -0
  17. package/dist/crypto/kdf/twoSecretKdf.d.ts +37 -0
  18. package/dist/crypto/kdf/twoSecretKdf.js +66 -0
  19. package/dist/crypto/kdf/types.d.ts +65 -0
  20. package/dist/crypto/kdf/types.js +50 -0
  21. package/dist/crypto/kdf/utils.d.ts +59 -0
  22. package/dist/crypto/kdf/utils.js +110 -0
  23. package/dist/crypto/localSecret/format.d.ts +48 -0
  24. package/dist/crypto/localSecret/format.js +157 -0
  25. package/dist/crypto/localSecret/generator.d.ts +23 -0
  26. package/dist/crypto/localSecret/generator.js +53 -0
  27. package/dist/crypto/localSecret/index.d.ts +12 -0
  28. package/dist/crypto/localSecret/index.js +46 -0
  29. package/dist/crypto/localSecret/storage.d.ts +53 -0
  30. package/dist/crypto/localSecret/storage.js +207 -0
  31. package/dist/crypto/localSecret/types.d.ts +68 -0
  32. package/dist/crypto/localSecret/types.js +31 -0
  33. package/dist/crypto/pgpKey/encryption.d.ts +49 -0
  34. package/dist/crypto/pgpKey/encryption.js +104 -0
  35. package/dist/crypto/pgpKey/export.d.ts +59 -0
  36. package/dist/crypto/pgpKey/export.js +322 -0
  37. package/dist/crypto/pgpKey/format.d.ts +61 -0
  38. package/dist/crypto/pgpKey/format.js +143 -0
  39. package/dist/crypto/pgpKey/generator.d.ts +20 -0
  40. package/dist/crypto/pgpKey/generator.js +76 -0
  41. package/dist/crypto/pgpKey/import.d.ts +69 -0
  42. package/dist/crypto/pgpKey/import.js +239 -0
  43. package/dist/crypto/pgpKey/index.d.ts +19 -0
  44. package/dist/crypto/pgpKey/index.js +67 -0
  45. package/dist/crypto/pgpKey/signing.d.ts +44 -0
  46. package/dist/crypto/pgpKey/signing.js +71 -0
  47. package/dist/crypto/pgpKey/storage.d.ts +43 -0
  48. package/dist/crypto/pgpKey/storage.js +141 -0
  49. package/dist/crypto/pgpKey/types.d.ts +86 -0
  50. package/dist/crypto/pgpKey/types.js +25 -0
  51. package/dist/index.d.ts +1 -0
  52. package/dist/index.js +1 -0
  53. package/dist/rules/calculateScore.d.ts +1 -1
  54. package/dist/rules/convertInstanceToRuleInput.js +99 -97
  55. package/dist/rules/evaluateBadge.d.ts +36 -0
  56. package/dist/rules/evaluateBadge.js +36 -0
  57. package/dist/rules/index.d.ts +1 -0
  58. package/dist/rules/index.js +1 -0
  59. package/dist/rules/types/config.d.ts +1 -1
  60. package/dist/rules/types/dataValueTypes.d.ts +4 -4
  61. package/dist/schema/expandSchema/constants.js +1 -1
  62. package/dist/schema/expandSchema/expandSchema.d.ts +3 -3
  63. package/dist/schema/expandSchema/expandSchema.js +4 -4
  64. package/dist/schema/expandSchema/i18n.d.ts +6 -1
  65. package/dist/schema/expandSchema/i18n.js +32 -4
  66. package/dist/schema/expandSchema/index.d.ts +1 -0
  67. package/dist/schema/expandSchema/index.js +1 -0
  68. package/dist/schema/expandSchema/maybeUseI18n.d.ts +2 -2
  69. package/dist/schema/expandSchema/maybeUseI18n.js +68 -11
  70. package/dist/schema/expandSchema/processSchema.js +14 -5
  71. package/dist/schema/expandSchema/removePrivateFields.d.ts +75 -22
  72. package/dist/schema/expandSchema/sortSchemaProperties.d.ts +4 -1
  73. package/dist/schema/expandSchema/sortSchemaProperties.js +24 -1
  74. package/dist/schema/labels.js +1 -2
  75. package/dist/util/canonicalJsonify.d.ts +7 -1
  76. package/dist/util/canonicalJsonify.js +11 -10
  77. package/dist/verifications/safeHarbour.js +5 -0
  78. package/dist/verifications/verifyCheck/getOwnRealVerifications.js +3 -0
  79. package/dist/verifications/verifyCheck/getSomeoneElsesRealVerifications.js +1 -0
  80. package/package.json +6 -4
  81. package/dist/__tests__/docs.test.d.ts +0 -1
  82. package/dist/__tests__/docs.test.js +0 -24
  83. package/dist/accessApplication/api/__tests__/fetchKeysForSubmission.test.d.ts +0 -1
  84. package/dist/accessApplication/api/__tests__/fetchKeysForSubmission.test.js +0 -28
  85. package/dist/accessApplication/api/__tests__/fetchPOsOrAOsForSubmission.test.d.ts +0 -1
  86. package/dist/accessApplication/api/__tests__/fetchPOsOrAOsForSubmission.test.js +0 -23
  87. package/dist/accessApplication/api/__tests__/fetchRelationshipsForSubmission.test.d.ts +0 -1
  88. package/dist/accessApplication/api/__tests__/fetchRelationshipsForSubmission.test.js +0 -27
  89. package/dist/accessApplication/api/__tests__/getMissingDataForInstance.test.d.ts +0 -1
  90. package/dist/accessApplication/api/__tests__/getMissingDataForInstance.test.js +0 -30
  91. package/dist/accessApplication/api/legacy/__tests__/convertRelationships.test.d.ts +0 -1
  92. package/dist/accessApplication/api/legacy/__tests__/convertRelationships.test.js +0 -37
  93. package/dist/rules/helpers/__tests__/addInfiniteThresholdBoundaries.test.d.ts +0 -1
  94. package/dist/rules/helpers/__tests__/addInfiniteThresholdBoundaries.test.js +0 -27
  95. package/dist/rules/helpers/__tests__/checkTypeofValue.test.d.ts +0 -1
  96. package/dist/rules/helpers/__tests__/checkTypeofValue.test.js +0 -49
  97. package/dist/rules/helpers/__tests__/getValuesFromPath.test.d.ts +0 -1
  98. package/dist/rules/helpers/__tests__/getValuesFromPath.test.js +0 -67
  99. package/dist/rules/helpers/__tests__/thresholds.test.d.ts +0 -1
  100. package/dist/rules/helpers/__tests__/thresholds.test.js +0 -32
  101. package/dist/rules/operators/__tests__/bool.test.d.ts +0 -1
  102. package/dist/rules/operators/__tests__/bool.test.js +0 -21
  103. package/dist/rules/operators/__tests__/date.test.d.ts +0 -1
  104. package/dist/rules/operators/__tests__/date.test.js +0 -81
  105. package/dist/rules/operators/__tests__/hfield.test.d.ts +0 -1
  106. package/dist/rules/operators/__tests__/hfield.test.js +0 -38
  107. package/dist/rules/operators/__tests__/hschema.test.d.ts +0 -1
  108. package/dist/rules/operators/__tests__/hschema.test.js +0 -24
  109. package/dist/rules/operators/__tests__/number.test.d.ts +0 -1
  110. package/dist/rules/operators/__tests__/number.test.js +0 -53
  111. package/dist/rules/operators/__tests__/string.test.d.ts +0 -1
  112. package/dist/rules/operators/__tests__/string.test.js +0 -74
  113. package/dist/schema/expandSchema/__tests__/addLoadingTimes.test.d.ts +0 -1
  114. package/dist/schema/expandSchema/__tests__/addLoadingTimes.test.js +0 -24
  115. package/dist/schema/expandSchema/__tests__/expandSchema.test.d.ts +0 -1
  116. package/dist/schema/expandSchema/__tests__/expandSchema.test.js +0 -96
  117. package/dist/schema/expandSchema/__tests__/i18n.test.d.ts +0 -1
  118. package/dist/schema/expandSchema/__tests__/i18n.test.js +0 -32
  119. package/dist/schema/expandSchema/__tests__/maybeUseI18n.test.d.ts +0 -1
  120. package/dist/schema/expandSchema/__tests__/maybeUseI18n.test.js +0 -98
  121. package/dist/schema/expandSchema/__tests__/processSchema.test.d.ts +0 -1
  122. package/dist/schema/expandSchema/__tests__/processSchema.test.js +0 -326
  123. package/dist/schema/expandSchema/__tests__/sortSchemaProperties.test.d.ts +0 -1
  124. package/dist/schema/expandSchema/__tests__/sortSchemaProperties.test.js +0 -182
  125. package/dist/schema/expandSchema/__tests__/util.test.d.ts +0 -1
  126. package/dist/schema/expandSchema/__tests__/util.test.js +0 -19
  127. package/dist/verifications/cleanInstance.d.ts +0 -9
  128. package/dist/verifications/cleanInstance.js +0 -15
  129. package/dist/verifications/verifyCheck/__tests__/getOwnRealVerifications.test.d.ts +0 -1
  130. package/dist/verifications/verifyCheck/__tests__/getOwnRealVerifications.test.js +0 -217
  131. package/dist/verifications/verifyCheck/__tests__/getSomeoneElsesRealVerifications.test.d.ts +0 -1
  132. package/dist/verifications/verifyCheck/__tests__/getSomeoneElsesRealVerifications.test.js +0 -205
  133. package/dist/verifications/verifyCheck/operations/__tests__/checkOwnVerification.test.d.ts +0 -1
  134. package/dist/verifications/verifyCheck/operations/__tests__/checkOwnVerification.test.js +0 -131
  135. package/dist/verifications/verifyCheck/operations/__tests__/checkSomeoneElsesVerifications.test.d.ts +0 -1
  136. package/dist/verifications/verifyCheck/operations/__tests__/checkSomeoneElsesVerifications.test.js +0 -49
  137. package/dist/verifications/verifyCheck/operations/__tests__/sampleBundle.json +0 -44
@@ -1,131 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const __1 = require("..");
7
- const util_1 = require("../../../../util");
8
- const checkOwnVerification_1 = require("../checkOwnVerification");
9
- const sampleBundle_json_1 = __importDefault(require("./sampleBundle.json"));
10
- global.fetch = vi.fn().mockImplementation(async (url) => ({
11
- text: async () => url.endsWith("raytio.pem")
12
- ? `-----BEGIN PUBLIC KEY-----
13
- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAn9QtCqYa3H3ipFFU0xP3
14
- n6r7KHS3GMbh0h/xzel57HhCIaXDYjUeUtgUNtzm+uElb/qzGn50xQRzVqO32vKB
15
- ZAW2kYyZ2+R5ruk9CSxr7K4Vk1FtDMcUCzqxm0eycFD2xbLsN3feRc3BMjfdaQ7P
16
- OMAquVHxDqSHlL8hv3VEoPHyRz04ipGAlRzVCEQPQ8sZDNsgXo76OzLGlT4bEUGn
17
- mzH+FhS6DGts+X5b5ZW1iCzQTNZM3yzk947dyMsJVHwx+VyTT/o8D6/zWrZnmjK+
18
- lGOihted4AmvJePcF0kWP5XXpXiX12dRsluhXkIXkgmj9MuoxkdeqGuAxiZUVc5a
19
- zWfZao3Y3O5UwtRIEJOeZmr6EkYfdhg+JuDjacZ53Dg6WduX+5nG7/UqpepqtmHe
20
- R0Wsi2K8nXxkFkZmPy+s7e4+ABjN+IRrQYUJALziMjskqjxll8zKn+4Phmk8dIJw
21
- Gut0BoM+DIwDu0uZaUprz7fSgNmYHHEiIFbOMVHiOn8oZAZbJXXbUbFIUYXA8u9+
22
- J1Z+QEpgw+rhGzOf/TSeHfMC9nNbWgYglluAJusWf2XwG/t/VlhtzviHCVGEL7HQ
23
- jQE5DrM7vaTg6Gu9bjKuoeLIRzbOYK6qAWFoa0CLcN84PLjhDSRw2duatP08hcWg
24
- jTgOkLWnBFE7NyRU93uPp68CAwEAAQ==
25
- -----END PUBLIC KEY-----`
26
- : `-----BEGIN PUBLIC KEY-----
27
- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAgee+uBOgOsbwjMvGN1/H
28
- qpGXGJLol0Pc2KhI1fh1NBq+UGhk8PqgDd5wHZikbmrtVkvp/maIh+mbIdehY/RC
29
- ftMylvebCf4Qf+5SWzQsmB1o6nBUbwJzYE2XyvxRiNLhdIeE+GgfdpA5S3l0cDJ5
30
- B/1TagITmQUjThwTxDYZ6jlGJJ4NSjqlqeQrHhGWRLVQPWU8bYysX3jt3/uiv4tS
31
- n3TheLGY1TMlbFrVF2Spv1WxuqMZ4bX1mIotK3yEB3TaZSZaOwlUcEZ4xY+J4Vl+
32
- ZlrOgYbmzFd7UFh9UZbYZUkNSEfddEnFNFlFG3YQVt8UAumPBVJELdjiaRjTj/K4
33
- 62GAFyOcbcw9wcl69fPBnieBo2m2Dqf6U3wcrnvTnkMwjCewWXCH6FdbC4OllBZV
34
- Nrfn6zf9yX0J8ZEDEcw9ZsNLVkyl2U+Ya/h5CQt43ip/1eNM5LpTbfqBTtAH7iUO
35
- 4L9rxuSJFA2Q9kZfof6kYO9EGgMFB+GM47/Q068+IiTpifvPno4ilnowyS4hbLiy
36
- Os2yudW79flaz0a7rq5dLdSg9Mm5k7ETBm7WguDcocaiETmuYTJT2PozAGOC3+EP
37
- w5N7mQff4ecx/880FWYKQmU9Asav1V49DWSnG0ZXQ7U24dG8ANeAgKddDviJGlsh
38
- SsjKrz8LJqeoNQu30iSGZhUCAwEAAQ==
39
- -----END PUBLIC KEY-----`,
40
- }));
41
- describe("checkOwnVerification", () => {
42
- it.each `
43
- keyId | result
44
- ${undefined} | ${true}
45
- ${"whatever/raytio"} | ${true}
46
- ${"whatever/somethingElse"} | ${false}
47
- `("returns $result for a PO with keyId=$keyId", async ({ keyId, result }) => {
48
- //
49
- // This is an important integration test from ca. 2021-12-02.
50
- // If it is failing, it means our code no longer matches the
51
- // backend, and all existing verifications will be erroneously
52
- // considered invalid
53
- //
54
- const signature = "e3ra4x0iwAvcLURf2Je8IpibByd6dvdIMUxsh5ZVOUvnQYsY99U2RkZWk63nBePy6bVWqnYnhrAR\n7bGbPpf2GYWq1WymKro9SGB552xWU1BIyJ5+78agWXDOqIthsnuRNoos52u46Mh6bq6taIj0vip6\nwIbnN8A0eS/Ulh2PpzrXKbjM6ITKDUOjEMSgbO7sDbRzZ1GbOm3Bh0WMvtniEk9dsN6wwAYI2XXb\nhaHjKfKGxv73DpFlv04+371VfP24NN8R6RGgD5YUqn9iFiHN17GlPmDGjzId/cSwz9tMshUgV2ZA\nylkAcRIyao6mYDQk75BQs6eK/dOlvUeWjEWgRpeYSJ3/5GkqiJn906+7Rj7iJ6P9+zSGN+OlhW3p\n7D0gS70ZqwLG5AVNB+N9PCUZYdaHHulQc5W8devQB3GImKhjHhH6sKLd2JdwTWeEW/SAnnqzTLTJ\nRrg7/XDoYIH20x+FVYVom5QYbjHvxdbHML19+zw0jJuhiPgKmm1bKt8fFv7T1nOeDEQa4hRZfdNu\nmdxZPt0ilBsIN7cXYn+X3nKZuEo3udCvNQx+zjSiJfKqBEw2grqBCDrF1u2HWyL77pXPJNMfxlRN\nkedWDSFSG5rXKDC0ffVRXs3Q2our6DCT2RgdDoZejBm3jKckUwOxnqzG5yTbjWsmGdduo/ePh/g=\n";
55
- // nId of this ver is "44371109-1a5c-41e7-b213-ff3befe194fc"
56
- const verObject = {
57
- passed: true,
58
- schema: "ss_NZ_Company",
59
- verifier_div: "ff341897-b847-4a56-8669-a7bef019758a",
60
- source_n_id: "f73e33bd-6673-4069-9ed4-76b57c8da2de",
61
- type: null,
62
- verifier_service_id: "",
63
- verification_date: "2021-11-16T20:35:59.147817",
64
- request_div: "95cc6670-f704-4221-beb9-3559ac47bce9",
65
- source: "NZ_COMPANY",
66
- field: "entity_type_description",
67
- v_id: "aec1c37d-f9d7-461a-b15d-1a83e41e981a",
68
- verifier_source_id: "185e9cdc-e8fb-4147-b996-3c2dd60fab59",
69
- verifier_id: "185e9cdc-e8fb-4147-b996-3c2dd60fab59",
70
- metadata: {
71
- date_retrieved: "2021-11-16T20:36:00.732608",
72
- url: "https://api-dev.rayt.io/w-nz-mbie/v1/entities/9429033226651",
73
- },
74
- };
75
- const value = "NZ Limited Company";
76
- const userId = "fd9c4903-65c2-4b75-b454-4fda6b682f3e"; // for 27july21 🦈
77
- expect(await (0, checkOwnVerification_1.checkOwnVerification)({
78
- value,
79
- signature,
80
- userId,
81
- verObject,
82
- keyId,
83
- })).toBe(result);
84
- });
85
- it("errors if you forget to supply the uId", async () => {
86
- await expect(() => (0, checkOwnVerification_1.checkOwnVerification)({
87
- value: "",
88
- signature: "",
89
- userId: "",
90
- verObject: {},
91
- keyId: undefined,
92
- })).rejects.toThrow(new Error("No userId supplied"));
93
- });
94
- it.each `
95
- keyId
96
- ${"../../malicious.pem"}
97
- ${"https://example.com/malicious.pem"}
98
- `("errors if you supply an invalid keyId", async ({ keyId }) => {
99
- await expect(() => (0, checkOwnVerification_1.checkOwnVerification)({
100
- value: "whatever",
101
- signature: "whatever",
102
- userId: "whatever",
103
- verObject: {},
104
- keyId,
105
- })).rejects.toThrow(new Error("Invalid key ID"));
106
- });
107
- });
108
- describe("checkSignature", () => {
109
- it("works", async () => {
110
- // same test as the backend
111
- // see https://gitlab.com/raytio/mono/-/blob/devo/common/signing/tests/test_sign.py#L104
112
- const jwk = {
113
- kty: "RSA",
114
- alg: "PS512",
115
- key_ops: ["verify"],
116
- ext: true,
117
- n: "wD6Oy9Wts0BAI7ObvxD73MNppefO3XMEMSZSxi1JTyfmavzV59rXMleRK5IBoY7ghOyy33-6131qQyh6cfbz5q67mHmTBEJmOccmw1hbl7SVSUHXOuUGUq5C7p3qnxeUhOFtxBlhMdIj0vkZ923lPHZpw9Yhit-RlLwW01Qnh-mGNmWMuUqrcj-WDb0WbIxjkaUR_DEIELkFiD9nF56mv3A6bMX_-ZJaF21ChD_b8qy_unQhNWrrUUwGzUaEMyw1dbPnvQ1iouMADlRlDBojZB0rWveK0PswqnUy3bB9dqVjpn50lN3CgdGeOPVVOcaLHhX0OLOCERpZY0hbuajfGIORMqnvF1dZJ_0OPrm-etpHK3ngK2qJ-mSjobd9DP_KISe2hAWs0FU4wbgG8U4VgcjYCkuABSh9c3xMEA5xyXV8iwGjTdmsOf4AvbBj1vY1dJVBYeGHuVRm-SxWepoVbYYDPg0366sYiim9IcQG0olxqAfkglB4yAmqYfp_kxqL2Cb8ysgyioHe9vmZDTbfTTm00qVAVKr2bctAgI787VEpS7Ou_2QTPIxYlsQCa-MbdgtUoXQ6__VdRklEaiQ_IFLBZzg5lFNBbF1Qytgav-BLfjZR31T5fhhougzrjBrtDGsSiV8qIvr5ZBfeJCatm1N_atbdjfWG7njoQMRwV5c",
118
- e: "AQAB",
119
- };
120
- const cryptoKey = await crypto.subtle.importKey("jwk", jwk, { name: "RSA-PSS", hash: "SHA-512" }, false, ["verify"]);
121
- const data = "This is definitely true";
122
- const signature = "V0r2KI4TBTwyzV8fCmGIL6x3t11ROhG9UJts1VZiap94wXEnEP+TNQ6qVV1v8bWY9uoubYLNzzuVfbn4q1J1ERNJWEM469/A8zNRiptDEmrlfSMBHE2Ahrwn5h0nSjxttOGazqitX+Ir0Qo0itNINpIa5cRC4ttyumauSKFcaGhFHGCuOpQz4xPoCR6ww2UtEvfvomTI5PYedG2XzhOJioZ8P9QtgKDnt+mp5Baq5avRtDpK+gZ8zOHXW8YL5d/oO16K6HDdYe4nGjr4MQU93HJjzQVEtsZqtvwf2BznVSuChGd0kedlal2uIrDQ4H4l6Td1TqW+FJp+EHVdbdrbk+Gql2GwiDAVsIPHDDGfaeIZQSStbr9VgQSm0feqtRlI627VCQ5ewAd1+tEgRiVTz74ya8tmc62WzTF5dbSYkQtllc/SJNWxaMQ+MEBrDyatfRrurTeTXwnRROJ/idJFKGKdxQichNdiuqL/CnBQJc3oYzQNoQXAmIUGDelISY5+XgHKXDs9YX4AVbru/Ina3E86TIekLVOUqg7TJi1hLAdF3RANp48uXk7LuIffzcff5sBUQ0vtHVtyTFwd2Jmt1CiEd9DitMNQT5cjM21IC6uJ4HZ6Ni/fd0N9frZ6Svknd/MMsbM7aqt8z6IgREqYdGY2XLYZCeZ0qmCGW243v3A=";
123
- const stringifiedData = (0, util_1.canonicalJsonify)(data);
124
- expect(await (0, checkOwnVerification_1.checkSignature)(cryptoKey, signature, stringifiedData)).toBe(true);
125
- });
126
- });
127
- describe("checkJsonSignature", () => {
128
- it("can verify a bundled verification", async () => {
129
- expect(await (0, __1.checkJsonSignature)(sampleBundle_json_1.default.data, sampleBundle_json_1.default.signature, sampleBundle_json_1.default.key_id)).toBe(true);
130
- });
131
- });
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const checkSomeoneElsesVerifications_1 = require("../checkSomeoneElsesVerifications");
4
- const toVerify = [
5
- {
6
- verifications: [{ signature: "sig1", n_id: "nid1" }],
7
- data_to_verify: [{ value: "val1" }],
8
- },
9
- {
10
- verifications: [{ signature: "sig2", n_id: "nid2" }],
11
- data_to_verify: [{ value: "val2" }],
12
- },
13
- ];
14
- describe("checkSomeoneElsesVerifications", () => {
15
- it("calls the API and filters out garbage", async () => {
16
- global.fetch = vi
17
- .fn()
18
- .mockImplementation()
19
- // first fetch request
20
- .mockImplementationOnce(async () => ({
21
- json: async () => [{ verified: true }, { verified: false }, {}, {}],
22
- }));
23
- const result = await (0, checkSomeoneElsesVerifications_1.checkSomeoneElsesVerifications)({
24
- apiUrl: "https://example.com",
25
- toVerify,
26
- });
27
- expect(fetch).toHaveBeenCalledTimes(1);
28
- expect(fetch).toHaveBeenCalledWith("https://example.com/extract_verify/v2/verify_check", {
29
- body: JSON.stringify(toVerify),
30
- method: "POST",
31
- signal: undefined,
32
- });
33
- // note how empty objects were filtered out
34
- expect(result).toStrictEqual([{ verified: true }, { verified: false }]);
35
- });
36
- it("throws an error if the API rejects", async () => {
37
- global.fetch = vi
38
- .fn()
39
- .mockImplementation()
40
- // first fetch request
41
- .mockImplementationOnce(async () => ({
42
- json: async () => ({ message: "An API error" }),
43
- }));
44
- await expect(() => (0, checkSomeoneElsesVerifications_1.checkSomeoneElsesVerifications)({
45
- apiUrl: "https://example.com",
46
- toVerify,
47
- })).rejects.toThrow(new Error("An API error"));
48
- });
49
- });
@@ -1,44 +0,0 @@
1
- {
2
- "__comment": "This belongs to 10feb22 🦈",
3
- "bundle_version": 1,
4
- "data": {
5
- "n_id": "f4220899-4af7-4f66-8a00-1bc13936096b",
6
- "schema": "ss_NZ_Company",
7
- "fields": {
8
- "nzbn": {
9
- "verifiers": [
10
- { "verifier_id": "185e9cdc-e8fb-4147-b996-3c2dd60fab59" },
11
- { "verifier_id": "185e9cdc-e8fb-4147-b996-3c2dd60fab59" }
12
- ],
13
- "derivations": []
14
- },
15
- "entity_type_description": {
16
- "verifiers": [
17
- { "verifier_id": "185e9cdc-e8fb-4147-b996-3c2dd60fab59" },
18
- { "verifier_id": "185e9cdc-e8fb-4147-b996-3c2dd60fab59" }
19
- ],
20
- "derivations": [],
21
- "value": "NZ Limited Company"
22
- },
23
- "entity_status_description": {
24
- "verifiers": [
25
- { "verifier_id": "185e9cdc-e8fb-4147-b996-3c2dd60fab59" },
26
- { "verifier_id": "185e9cdc-e8fb-4147-b996-3c2dd60fab59" }
27
- ],
28
- "derivations": [],
29
- "value": "Registered"
30
- },
31
- "nz_legal_entity_name": {
32
- "verifiers": [
33
- { "verifier_id": "185e9cdc-e8fb-4147-b996-3c2dd60fab59" },
34
- { "verifier_id": "185e9cdc-e8fb-4147-b996-3c2dd60fab59" }
35
- ],
36
- "derivations": [],
37
- "value": "DEPARTMENT OF CONVERSATION LIMITED"
38
- }
39
- },
40
- "valid_until": "2022-03-13T02:26:20.468171"
41
- },
42
- "key_id": "any string/raytio",
43
- "signature": "AiWWrL+S1paYOqJiOtU3qwLTCkkZjwDq3FuHl7oy14IATYOhCeHLf+ca44X1Wc6pYpTQckjKnJZL\nkfgiwNE97aymWIOc+ZZGEb5YhXRNO+inTV4k5zppaDN3n3YAGzn7zMxleh3+opzJqncNaJtpZ0Wv\na9Pu/m4WjyT5ee3Myz6VOOMuVkcaTL4FD8XT7NdCh0ybRevAZ5R9xl0YuWMhvNpf3P6ieTikHXYN\nkKbPTnAhNdBmqV4njSIR66M82Ek0d9VcsX4zhmlhpdCmGRlXLgHEyMCF4iHlCIxSeKtGaOm2QK2R\nOV/lN3VScDNWyD8lPBipcj++5ZGII6BnFFG8LlT3gY/Y/wt8KeH/xgdu0a7Lt6J/BOiGLFfscUmb\nH5K5t48gnQ5BQS+Cf/yhayMV49LlGiK9m1iPlbmuJH1L2/ZM+iLsIrSTGCU0Rpbkw7qvm0dkUNYf\nhvlj/RnUxcy0Lr/84CzLvBhFMmBX+RHlcPrCWpIiibsdaD81kRyvLY2TASLFTeHajfr+UvtP3LVs\n8NGwRQHd6c2/ptxv3ERRUnDtNASatsLe67ZHg9SeF3BDhMHZwU1neYyrBI1TMECasFli5rP5gviq\nC8ZwFQ9lnDDTidWBF8GjRl6ope4wIuNBBkOsIIeyqIJE5BRUH4LhVUnN1be696uCKnWOyOo7fkc=\n"
44
- }