@bayarkit/testing 0.0.0-stage → 0.1.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.
- package/README.md +27 -2
- package/dist/cli/2c2p.d.ts +4 -0
- package/dist/cli/2c2p.d.ts.map +1 -0
- package/dist/cli/2c2p.js +7 -0
- package/dist/cli/2c2p.js.map +1 -0
- package/dist/cli/bayarcash.d.ts +4 -0
- package/dist/cli/bayarcash.d.ts.map +1 -0
- package/dist/cli/bayarcash.js +11 -0
- package/dist/cli/bayarcash.js.map +1 -0
- package/dist/cli/billplz.d.ts +4 -0
- package/dist/cli/billplz.d.ts.map +1 -0
- package/dist/cli/billplz.js +11 -0
- package/dist/cli/billplz.js.map +1 -0
- package/dist/cli/chip.d.ts +4 -0
- package/dist/cli/chip.d.ts.map +1 -0
- package/dist/cli/chip.js +7 -0
- package/dist/cli/chip.js.map +1 -0
- package/dist/cli/curlec.d.ts +4 -0
- package/dist/cli/curlec.d.ts.map +1 -0
- package/dist/cli/curlec.js +11 -0
- package/dist/cli/curlec.js.map +1 -0
- package/dist/cli/eghl.d.ts +4 -0
- package/dist/cli/eghl.d.ts.map +1 -0
- package/dist/cli/eghl.js +7 -0
- package/dist/cli/eghl.js.map +1 -0
- package/dist/cli/fiuu.d.ts +4 -0
- package/dist/cli/fiuu.d.ts.map +1 -0
- package/dist/cli/fiuu.js +17 -0
- package/dist/cli/fiuu.js.map +1 -0
- package/dist/cli/gkash.d.ts +4 -0
- package/dist/cli/gkash.d.ts.map +1 -0
- package/dist/cli/gkash.js +7 -0
- package/dist/cli/gkash.js.map +1 -0
- package/dist/cli/hitpay.d.ts +4 -0
- package/dist/cli/hitpay.d.ts.map +1 -0
- package/dist/cli/hitpay.js +7 -0
- package/dist/cli/hitpay.js.map +1 -0
- package/dist/cli/ipay88.d.ts +4 -0
- package/dist/cli/ipay88.d.ts.map +1 -0
- package/dist/cli/ipay88.js +7 -0
- package/dist/cli/ipay88.js.map +1 -0
- package/dist/cli/senangpay.d.ts +4 -0
- package/dist/cli/senangpay.d.ts.map +1 -0
- package/dist/cli/senangpay.js +17 -0
- package/dist/cli/senangpay.js.map +1 -0
- package/dist/cli/stripe.d.ts +4 -0
- package/dist/cli/stripe.d.ts.map +1 -0
- package/dist/cli/stripe.js +7 -0
- package/dist/cli/stripe.js.map +1 -0
- package/dist/cli/toyyibpay.d.ts +4 -0
- package/dist/cli/toyyibpay.d.ts.map +1 -0
- package/dist/cli/toyyibpay.js +7 -0
- package/dist/cli/toyyibpay.js.map +1 -0
- package/dist/cli/types.d.ts +7 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +2 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli/xendit.d.ts +4 -0
- package/dist/cli/xendit.d.ts.map +1 -0
- package/dist/cli/xendit.js +7 -0
- package/dist/cli/xendit.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +46 -0
- package/dist/cli.js.map +1 -0
- package/dist/conformance.d.ts +13 -0
- package/dist/conformance.d.ts.map +1 -0
- package/dist/conformance.js +166 -0
- package/dist/conformance.js.map +1 -0
- package/dist/control.d.ts +6 -0
- package/dist/control.d.ts.map +1 -0
- package/dist/control.js +46 -0
- package/dist/control.js.map +1 -0
- package/dist/fakes/2c2p.d.ts +21 -0
- package/dist/fakes/2c2p.d.ts.map +1 -0
- package/dist/fakes/2c2p.js +287 -0
- package/dist/fakes/2c2p.js.map +1 -0
- package/dist/fakes/bayarcash.d.ts +15 -0
- package/dist/fakes/bayarcash.d.ts.map +1 -0
- package/dist/fakes/bayarcash.js +133 -0
- package/dist/fakes/bayarcash.js.map +1 -0
- package/dist/fakes/billplz.d.ts +20 -0
- package/dist/fakes/billplz.d.ts.map +1 -0
- package/dist/fakes/billplz.js +233 -0
- package/dist/fakes/billplz.js.map +1 -0
- package/dist/fakes/chip.d.ts +18 -0
- package/dist/fakes/chip.d.ts.map +1 -0
- package/dist/fakes/chip.js +227 -0
- package/dist/fakes/chip.js.map +1 -0
- package/dist/fakes/curlec.d.ts +30 -0
- package/dist/fakes/curlec.d.ts.map +1 -0
- package/dist/fakes/curlec.js +396 -0
- package/dist/fakes/curlec.js.map +1 -0
- package/dist/fakes/eghl.d.ts +36 -0
- package/dist/fakes/eghl.d.ts.map +1 -0
- package/dist/fakes/eghl.js +267 -0
- package/dist/fakes/eghl.js.map +1 -0
- package/dist/fakes/fiuu.d.ts +27 -0
- package/dist/fakes/fiuu.d.ts.map +1 -0
- package/dist/fakes/fiuu.js +230 -0
- package/dist/fakes/fiuu.js.map +1 -0
- package/dist/fakes/gkash.d.ts +18 -0
- package/dist/fakes/gkash.d.ts.map +1 -0
- package/dist/fakes/gkash.js +193 -0
- package/dist/fakes/gkash.js.map +1 -0
- package/dist/fakes/hitpay.d.ts +36 -0
- package/dist/fakes/hitpay.d.ts.map +1 -0
- package/dist/fakes/hitpay.js +233 -0
- package/dist/fakes/hitpay.js.map +1 -0
- package/dist/fakes/ipay88.d.ts +16 -0
- package/dist/fakes/ipay88.d.ts.map +1 -0
- package/dist/fakes/ipay88.js +195 -0
- package/dist/fakes/ipay88.js.map +1 -0
- package/dist/fakes/senangpay.d.ts +51 -0
- package/dist/fakes/senangpay.d.ts.map +1 -0
- package/dist/fakes/senangpay.js +255 -0
- package/dist/fakes/senangpay.js.map +1 -0
- package/dist/fakes/stripe.d.ts +26 -0
- package/dist/fakes/stripe.d.ts.map +1 -0
- package/dist/fakes/stripe.js +243 -0
- package/dist/fakes/stripe.js.map +1 -0
- package/dist/fakes/toyyibpay.d.ts +14 -0
- package/dist/fakes/toyyibpay.d.ts.map +1 -0
- package/dist/fakes/toyyibpay.js +138 -0
- package/dist/fakes/toyyibpay.js.map +1 -0
- package/dist/fakes/types.d.ts +19 -0
- package/dist/fakes/types.d.ts.map +1 -0
- package/dist/fakes/types.js +3 -0
- package/dist/fakes/types.js.map +1 -0
- package/dist/fakes/xendit.d.ts +36 -0
- package/dist/fakes/xendit.d.ts.map +1 -0
- package/dist/fakes/xendit.js +300 -0
- package/dist/fakes/xendit.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/package.json +64 -4
package/README.md
CHANGED
|
@@ -1,3 +1,28 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @bayarkit/testing
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Fake Malaysian payment gateways and the [bayarkit](https://github.com/sasateguh/bayarkit) conformance suite: test checkout and callbacks without real
|
|
4
|
+
money, in JavaScript or in any other language. [Bahasa Melayu](#bahasa-melayu)
|
|
5
|
+
|
|
6
|
+
```bash
|
|
7
|
+
npm install --save-dev @bayarkit/testing
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
Each fake answers like its gateway's API (in the shapes measured on the sandbox where one was measured) and signs
|
|
11
|
+
callbacks exactly as the gateway does: `startFakeToyyibPay`, `startFakeBayarcash`, `startFakeBillplz`, `startFakeChip`, `startFakeStripe`, `startFakeSenangPay`, `startFakeIPay88`, `startFakeFiuu`, `startFake2C2P`, `startFakeCurlec`, `startFakeHitPay`, `startFakeGkash`, `startFakeXendit`, `startFakeEghl`.
|
|
12
|
+
Every fake has `markPaid(id)`, `callbackFor(id)` (a correctly signed callback) and `tamper(callback)`.
|
|
13
|
+
|
|
14
|
+
- `gatewayConformance(name, setup)` — the suite every adapter must pass (vitest, optional peer).
|
|
15
|
+
- `npx bayarkit-fake <gateway>` — one fake as a server for PHP, Python or Go tests. It prints one JSON line
|
|
16
|
+
(`url`, `control`) and serves a control API: `POST /paid/<id>`, `GET /callback/<id>`,
|
|
17
|
+
`GET /callback/<id>/tampered`. vitest is not needed for this.
|
|
18
|
+
|
|
19
|
+
## Bahasa Melayu
|
|
20
|
+
|
|
21
|
+
Gateway pembayaran Malaysia palsu dan set ujian keakuran [bayarkit](https://github.com/sasateguh/bayarkit): uji checkout dan callback tanpa wang
|
|
22
|
+
sebenar, dalam JavaScript atau bahasa lain. Setiap fake menjawab seperti API gatewaynya dan menandatangani callback
|
|
23
|
+
sama seperti gateway itu. `npx bayarkit-fake <gateway>` menjalankan satu fake sebagai pelayan dengan API kawalan
|
|
24
|
+
(`POST /paid/<id>`, `GET /callback/<id>`, `GET /callback/<id>/tampered`) untuk ujian PHP, Python atau Go.
|
|
25
|
+
|
|
26
|
+
Dokumentasi penuh: [README.ms.md](https://github.com/sasateguh/bayarkit/blob/main/README.ms.md).
|
|
27
|
+
|
|
28
|
+
MIT © Muhammad Aiman
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2c2p.d.ts","sourceRoot":"","sources":["../../src/cli/2c2p.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,QAAA,MAAM,IAAI,EAAE,OAGX,CAAA;eAEc,IAAI"}
|
package/dist/cli/2c2p.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { startFake2C2P } from '../fakes/2c2p.js';
|
|
2
|
+
const fake = {
|
|
3
|
+
defaults: { merchantId: 'JT07', secretKey: 'FAKE2C2PSECRETKEY' },
|
|
4
|
+
start: (o) => startFake2C2P({ merchantId: o.merchantId ?? '', secretKey: o.secretKey ?? '' }),
|
|
5
|
+
};
|
|
6
|
+
export default fake;
|
|
7
|
+
//# sourceMappingURL=2c2p.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2c2p.js","sourceRoot":"","sources":["../../src/cli/2c2p.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGhD,MAAM,IAAI,GAAY;IACpB,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAAE;IAChE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;CAC9F,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bayarcash.d.ts","sourceRoot":"","sources":["../../src/cli/bayarcash.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,QAAA,MAAM,IAAI,EAAE,OAQX,CAAA;eAEc,IAAI"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { startFakeBayarcash } from '../fakes/bayarcash.js';
|
|
2
|
+
const fake = {
|
|
3
|
+
defaults: { token: 'fake-token', secretKey: 'fake-secret', portalKey: 'fake-portal' },
|
|
4
|
+
start: (o) => startFakeBayarcash({
|
|
5
|
+
token: o.token ?? '',
|
|
6
|
+
secretKey: o.secretKey ?? '',
|
|
7
|
+
portalKey: o.portalKey ?? '',
|
|
8
|
+
}),
|
|
9
|
+
};
|
|
10
|
+
export default fake;
|
|
11
|
+
//# sourceMappingURL=bayarcash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bayarcash.js","sourceRoot":"","sources":["../../src/cli/bayarcash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAG1D,MAAM,IAAI,GAAY;IACpB,QAAQ,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE;IACrF,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CACX,kBAAkB,CAAC;QACjB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;QACpB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;QAC5B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;KAC7B,CAAC;CACL,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"billplz.d.ts","sourceRoot":"","sources":["../../src/cli/billplz.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,QAAA,MAAM,IAAI,EAAE,OAQX,CAAA;eAEc,IAAI"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { startFakeBillplz } from '../fakes/billplz.js';
|
|
2
|
+
const fake = {
|
|
3
|
+
defaults: { secretKey: 'fake-secret', xSignatureKey: 'fake-x-signature', collectionId: 'fakecollection' },
|
|
4
|
+
start: (o) => startFakeBillplz({
|
|
5
|
+
secretKey: o.secretKey ?? '',
|
|
6
|
+
xSignatureKey: o.xSignatureKey ?? '',
|
|
7
|
+
collectionId: o.collectionId ?? '',
|
|
8
|
+
}),
|
|
9
|
+
};
|
|
10
|
+
export default fake;
|
|
11
|
+
//# sourceMappingURL=billplz.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"billplz.js","sourceRoot":"","sources":["../../src/cli/billplz.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAGtD,MAAM,IAAI,GAAY;IACpB,QAAQ,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,EAAE;IACzG,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CACX,gBAAgB,CAAC;QACf,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;QAC5B,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,EAAE;QACpC,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,EAAE;KACnC,CAAC;CACL,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chip.d.ts","sourceRoot":"","sources":["../../src/cli/chip.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,QAAA,MAAM,IAAI,EAAE,OAGX,CAAA;eAEc,IAAI"}
|
package/dist/cli/chip.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { startFakeChip } from '../fakes/chip.js';
|
|
2
|
+
const fake = {
|
|
3
|
+
defaults: { secretKey: 'fake-secret', brandId: 'fake-brand' },
|
|
4
|
+
start: (o) => startFakeChip({ secretKey: o.secretKey ?? '', brandId: o.brandId ?? '' }),
|
|
5
|
+
};
|
|
6
|
+
export default fake;
|
|
7
|
+
//# sourceMappingURL=chip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chip.js","sourceRoot":"","sources":["../../src/cli/chip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGhD,MAAM,IAAI,GAAY;IACpB,QAAQ,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE;IAC7D,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;CACxF,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"curlec.d.ts","sourceRoot":"","sources":["../../src/cli/curlec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,QAAA,MAAM,IAAI,EAAE,OAQX,CAAA;eAEc,IAAI"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { startFakeCurlec } from '../fakes/curlec.js';
|
|
2
|
+
const fake = {
|
|
3
|
+
defaults: { keyId: 'rzp_test_fake', keySecret: 'fake-key-secret', webhookSecret: 'fake-webhook-secret' },
|
|
4
|
+
start: (o) => startFakeCurlec({
|
|
5
|
+
keyId: o.keyId ?? '',
|
|
6
|
+
keySecret: o.keySecret ?? '',
|
|
7
|
+
webhookSecret: o.webhookSecret ?? '',
|
|
8
|
+
}),
|
|
9
|
+
};
|
|
10
|
+
export default fake;
|
|
11
|
+
//# sourceMappingURL=curlec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"curlec.js","sourceRoot":"","sources":["../../src/cli/curlec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,IAAI,GAAY;IACpB,QAAQ,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,qBAAqB,EAAE;IACxG,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CACX,eAAe,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;QACpB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;QAC5B,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,EAAE;KACrC,CAAC;CACL,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eghl.d.ts","sourceRoot":"","sources":["../../src/cli/eghl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,QAAA,MAAM,IAAI,EAAE,OAGX,CAAA;eAEc,IAAI"}
|
package/dist/cli/eghl.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { startFakeEghl } from '../fakes/eghl.js';
|
|
2
|
+
const fake = {
|
|
3
|
+
defaults: { serviceId: 'SIT', password: 'fake-password' },
|
|
4
|
+
start: (o) => startFakeEghl({ serviceId: o.serviceId ?? '', password: o.password ?? '' }),
|
|
5
|
+
};
|
|
6
|
+
export default fake;
|
|
7
|
+
//# sourceMappingURL=eghl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eghl.js","sourceRoot":"","sources":["../../src/cli/eghl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGhD,MAAM,IAAI,GAAY;IACpB,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE;IACzD,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;CAC1F,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fiuu.d.ts","sourceRoot":"","sources":["../../src/cli/fiuu.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,QAAA,MAAM,IAAI,EAAE,OAcX,CAAA;eAEc,IAAI"}
|
package/dist/cli/fiuu.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { startFakeFiuu } from '../fakes/fiuu.js';
|
|
2
|
+
const fake = {
|
|
3
|
+
defaults: {
|
|
4
|
+
merchantId: 'SB_fakemerchant',
|
|
5
|
+
verifyKey: 'fake-verify-key',
|
|
6
|
+
secretKey: 'fake-secret-key',
|
|
7
|
+
extendedVcode: 'false',
|
|
8
|
+
},
|
|
9
|
+
start: (o) => startFakeFiuu({
|
|
10
|
+
merchantId: o.merchantId ?? '',
|
|
11
|
+
verifyKey: o.verifyKey ?? '',
|
|
12
|
+
secretKey: o.secretKey ?? '',
|
|
13
|
+
extendedVcode: o.extendedVcode === 'true',
|
|
14
|
+
}),
|
|
15
|
+
};
|
|
16
|
+
export default fake;
|
|
17
|
+
//# sourceMappingURL=fiuu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fiuu.js","sourceRoot":"","sources":["../../src/cli/fiuu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGhD,MAAM,IAAI,GAAY;IACpB,QAAQ,EAAE;QACR,UAAU,EAAE,iBAAiB;QAC7B,SAAS,EAAE,iBAAiB;QAC5B,SAAS,EAAE,iBAAiB;QAC5B,aAAa,EAAE,OAAO;KACvB;IACD,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CACX,aAAa,CAAC;QACZ,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE;QAC9B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;QAC5B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;QAC5B,aAAa,EAAE,CAAC,CAAC,aAAa,KAAK,MAAM;KAC1C,CAAC;CACL,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gkash.d.ts","sourceRoot":"","sources":["../../src/cli/gkash.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,QAAA,MAAM,IAAI,EAAE,OAGX,CAAA;eAEc,IAAI"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { startFakeGkash } from '../fakes/gkash.js';
|
|
2
|
+
const fake = {
|
|
3
|
+
defaults: { cid: 'M161-U-999', signatureKey: 'fake-signature-key' },
|
|
4
|
+
start: (o) => startFakeGkash({ cid: o.cid ?? '', signatureKey: o.signatureKey ?? '' }),
|
|
5
|
+
};
|
|
6
|
+
export default fake;
|
|
7
|
+
//# sourceMappingURL=gkash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gkash.js","sourceRoot":"","sources":["../../src/cli/gkash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGlD,MAAM,IAAI,GAAY;IACpB,QAAQ,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE;IACnE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;CACvF,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hitpay.d.ts","sourceRoot":"","sources":["../../src/cli/hitpay.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,QAAA,MAAM,IAAI,EAAE,OAIX,CAAA;eAEc,IAAI"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { startFakeHitPay } from '../fakes/hitpay.js';
|
|
2
|
+
const fake = {
|
|
3
|
+
defaults: { apiKey: 'fake-api-key', apiSalt: 'fake-api-salt', webhookSalt: 'fake-webhook-salt' },
|
|
4
|
+
start: (o) => startFakeHitPay({ apiKey: o.apiKey ?? '', apiSalt: o.apiSalt ?? '', webhookSalt: o.webhookSalt ?? '' }),
|
|
5
|
+
};
|
|
6
|
+
export default fake;
|
|
7
|
+
//# sourceMappingURL=hitpay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hitpay.js","sourceRoot":"","sources":["../../src/cli/hitpay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,IAAI,GAAY;IACpB,QAAQ,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,mBAAmB,EAAE;IAChG,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CACX,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;CAC1G,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipay88.d.ts","sourceRoot":"","sources":["../../src/cli/ipay88.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,QAAA,MAAM,IAAI,EAAE,OAGX,CAAA;eAEc,IAAI"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { startFakeIPay88 } from '../fakes/ipay88.js';
|
|
2
|
+
const fake = {
|
|
3
|
+
defaults: { merchantCode: 'M00003', merchantKey: 'fake-merchant-key' },
|
|
4
|
+
start: (o) => startFakeIPay88({ merchantCode: o.merchantCode ?? '', merchantKey: o.merchantKey ?? '' }),
|
|
5
|
+
};
|
|
6
|
+
export default fake;
|
|
7
|
+
//# sourceMappingURL=ipay88.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipay88.js","sourceRoot":"","sources":["../../src/cli/ipay88.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,IAAI,GAAY;IACpB,QAAQ,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;IACtE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;CACxG,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"senangpay.d.ts","sourceRoot":"","sources":["../../src/cli/senangpay.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,QAAA,MAAM,IAAI,EAAE,OAcX,CAAA;eAEc,IAAI"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { startFakeSenangPay } from '../fakes/senangpay.js';
|
|
2
|
+
const fake = {
|
|
3
|
+
defaults: {
|
|
4
|
+
clientId: 'BRN-fake-0001',
|
|
5
|
+
secretKey: 'fake-secret',
|
|
6
|
+
apiKey: 'fake-api-key',
|
|
7
|
+
notificationPath: '/notifications/doku',
|
|
8
|
+
},
|
|
9
|
+
start: (o) => startFakeSenangPay({
|
|
10
|
+
clientId: o.clientId ?? '',
|
|
11
|
+
secretKey: o.secretKey ?? '',
|
|
12
|
+
apiKey: o.apiKey ?? '',
|
|
13
|
+
notificationPath: o.notificationPath ?? '',
|
|
14
|
+
}),
|
|
15
|
+
};
|
|
16
|
+
export default fake;
|
|
17
|
+
//# sourceMappingURL=senangpay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"senangpay.js","sourceRoot":"","sources":["../../src/cli/senangpay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAG1D,MAAM,IAAI,GAAY;IACpB,QAAQ,EAAE;QACR,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE,cAAc;QACtB,gBAAgB,EAAE,qBAAqB;KACxC;IACD,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CACX,kBAAkB,CAAC;QACjB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE;QAC1B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;QAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;QACtB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,IAAI,EAAE;KAC3C,CAAC;CACL,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stripe.d.ts","sourceRoot":"","sources":["../../src/cli/stripe.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,QAAA,MAAM,IAAI,EAAE,OAGX,CAAA;eAEc,IAAI"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { startFakeStripe } from '../fakes/stripe.js';
|
|
2
|
+
const fake = {
|
|
3
|
+
defaults: { secretKey: 'sk_test_fake', webhookSecret: 'whsec_fake' },
|
|
4
|
+
start: (o) => startFakeStripe({ secretKey: o.secretKey ?? '', webhookSecret: o.webhookSecret ?? '' }),
|
|
5
|
+
};
|
|
6
|
+
export default fake;
|
|
7
|
+
//# sourceMappingURL=stripe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../src/cli/stripe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,IAAI,GAAY;IACpB,QAAQ,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE;IACpE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;CACtG,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toyyibpay.d.ts","sourceRoot":"","sources":["../../src/cli/toyyibpay.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,QAAA,MAAM,IAAI,EAAE,OAGX,CAAA;eAEc,IAAI"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { startFakeToyyibPay } from '../fakes/toyyibpay.js';
|
|
2
|
+
const fake = {
|
|
3
|
+
defaults: { secretKey: 'fake-secret', categoryCode: 'fakecat' },
|
|
4
|
+
start: (o) => startFakeToyyibPay({ secretKey: o.secretKey ?? '', categoryCode: o.categoryCode ?? '' }),
|
|
5
|
+
};
|
|
6
|
+
export default fake;
|
|
7
|
+
//# sourceMappingURL=toyyibpay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toyyibpay.js","sourceRoot":"","sources":["../../src/cli/toyyibpay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAG1D,MAAM,IAAI,GAAY;IACpB,QAAQ,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE;IAC/D,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;CACvG,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { FakeGateway } from '../fakes/types.js';
|
|
2
|
+
/** One `bayarkit-fake` gateway: test defaults, and how to start the fake. One file per gateway in this folder. */
|
|
3
|
+
export interface CliFake {
|
|
4
|
+
defaults: Record<string, string>;
|
|
5
|
+
start(options: Record<string, string>): Promise<FakeGateway>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD,kHAAkH;AAClH,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;CAC7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xendit.d.ts","sourceRoot":"","sources":["../../src/cli/xendit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,QAAA,MAAM,IAAI,EAAE,OAGX,CAAA;eAEc,IAAI"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { startFakeXendit } from '../fakes/xendit.js';
|
|
2
|
+
const fake = {
|
|
3
|
+
defaults: { secretKey: 'xnd_development_fake', callbackToken: 'fake-callback-token' },
|
|
4
|
+
start: (o) => startFakeXendit({ secretKey: o.secretKey ?? '', callbackToken: o.callbackToken ?? '' }),
|
|
5
|
+
};
|
|
6
|
+
export default fake;
|
|
7
|
+
//# sourceMappingURL=xendit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xendit.js","sourceRoot":"","sources":["../../src/cli/xendit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,IAAI,GAAY;IACpB,QAAQ,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,aAAa,EAAE,qBAAqB,EAAE;IACrF,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;CACtG,CAAA;AAED,eAAe,IAAI,CAAA"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* bayarkit-fake — run one fake gateway as a standalone server, for tests in any language.
|
|
4
|
+
*
|
|
5
|
+
* npx bayarkit-fake <gateway> [--control-port N] [--<option> <value> ...]
|
|
6
|
+
*
|
|
7
|
+
* Prints ONE JSON line ({ gateway, url, control, options }) and serves until SIGINT/SIGTERM. Options are the fake's
|
|
8
|
+
* own (e.g. --secretKey, --webhookSecret); test defaults are used for the rest and echoed in `options`.
|
|
9
|
+
* Each gateway is one file in ./cli/ (loaded on demand), so adding a gateway never edits this file, and vitest is not
|
|
10
|
+
* needed (the package index, which pulls in the conformance suite, is not imported).
|
|
11
|
+
*/
|
|
12
|
+
import { readdirSync } from 'node:fs';
|
|
13
|
+
import { startControlServer } from './control.js';
|
|
14
|
+
const dir = new URL('./cli/', import.meta.url);
|
|
15
|
+
const available = readdirSync(dir)
|
|
16
|
+
.filter((f) => f.endsWith('.js') && f !== 'types.js')
|
|
17
|
+
.map((f) => f.slice(0, -3))
|
|
18
|
+
.sort();
|
|
19
|
+
const [gateway, ...rest] = process.argv.slice(2);
|
|
20
|
+
// Only names that exist in ./cli/ are imported, so the argument can never reach another path.
|
|
21
|
+
if (!gateway || !available.includes(gateway)) {
|
|
22
|
+
console.error(`usage: bayarkit-fake <${available.join('|')}> [--control-port N] [--<option> <value> ...]`);
|
|
23
|
+
process.exit(64);
|
|
24
|
+
}
|
|
25
|
+
const entry = (await import(new URL(`${gateway}.js`, dir).href)).default;
|
|
26
|
+
const options = { ...entry.defaults };
|
|
27
|
+
let controlPort = 0;
|
|
28
|
+
for (let i = 0; i < rest.length; i += 2) {
|
|
29
|
+
const key = rest[i]?.replace(/^--/, '') ?? '';
|
|
30
|
+
const value = rest[i + 1] ?? '';
|
|
31
|
+
if (key === 'control-port')
|
|
32
|
+
controlPort = Number(value);
|
|
33
|
+
else
|
|
34
|
+
options[key] = value;
|
|
35
|
+
}
|
|
36
|
+
const fake = await entry.start(options);
|
|
37
|
+
const control = await startControlServer(gateway, fake, controlPort);
|
|
38
|
+
console.log(JSON.stringify({ gateway, url: fake.url, control: control.url, options }));
|
|
39
|
+
const stop = async () => {
|
|
40
|
+
await control.close();
|
|
41
|
+
await fake.close();
|
|
42
|
+
process.exit(0);
|
|
43
|
+
};
|
|
44
|
+
process.on('SIGINT', stop);
|
|
45
|
+
process.on('SIGTERM', stop);
|
|
46
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;GASG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEjD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;AAC9C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC;KAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC;KACpD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAC1B,IAAI,EAAE,CAAA;AAET,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAChD,8FAA8F;AAC9F,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,OAAO,CAAC,KAAK,CAAC,yBAAyB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAA;IAC1G,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAClB,CAAC;AACD,MAAM,KAAK,GAAI,CAAC,MAAM,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,OAAO,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAA0B,CAAC,OAAO,CAAA;AAClG,MAAM,OAAO,GAA2B,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;AAC7D,IAAI,WAAW,GAAG,CAAC,CAAA;AACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAC/B,IAAI,GAAG,KAAK,cAAc;QAAE,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;;QAClD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAC3B,CAAC;AACD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AACvC,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;AACpE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;AACtF,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;IACrB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;IAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAA;AACD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;AAC1B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The conformance suite. Every adapter runs it against its fake (always) and against the real sandbox (when keys are
|
|
3
|
+
* present, which is what turns `evidence.kind` into "measured"). Adding a gateway = an adapter + a fake that pass this.
|
|
4
|
+
*/
|
|
5
|
+
import { type CreatePaymentInput, type Gateway } from '@bayarkit/core';
|
|
6
|
+
import type { FakeGateway } from './fakes/types.js';
|
|
7
|
+
export interface ConformanceSetup {
|
|
8
|
+
gateway: Gateway;
|
|
9
|
+
fake: FakeGateway;
|
|
10
|
+
}
|
|
11
|
+
export declare function sampleInput(overrides?: Partial<CreatePaymentInput>): CreatePaymentInput;
|
|
12
|
+
export declare function gatewayConformance(name: string, setup: () => Promise<ConformanceSetup>): void;
|
|
13
|
+
//# sourceMappingURL=conformance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conformance.d.ts","sourceRoot":"","sources":["../src/conformance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAEL,KAAK,kBAAkB,EAEvB,KAAK,OAAO,EAEb,MAAM,gBAAgB,CAAA;AAEvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,WAAW,CAAA;CAClB;AAGD,wBAAgB,WAAW,CAAC,SAAS,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAAG,kBAAkB,CAW3F;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CA4J7F"}
|