@geekmidas/constructs 10.0.0-alpha.123 → 10.0.0-alpha.124
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/dist/ObjectSubscriberBuilder-B4j3zgCZ.d.cts +129 -0
- package/dist/ObjectSubscriberBuilder-B4j3zgCZ.d.cts.map +1 -0
- package/dist/ObjectSubscriberBuilder-C0WUU-ov.d.mts +129 -0
- package/dist/ObjectSubscriberBuilder-C0WUU-ov.d.mts.map +1 -0
- package/dist/{Subscriber-CEt7kHkc.d.cts → Subscriber-Bfw5cqzz.d.cts} +13 -1
- package/dist/{Subscriber-CEt7kHkc.d.cts.map → Subscriber-Bfw5cqzz.d.cts.map} +1 -1
- package/dist/{Subscriber-dsxc5LKa.d.mts → Subscriber-Czs77h-H.d.mts} +13 -1
- package/dist/{Subscriber-dsxc5LKa.d.mts.map → Subscriber-Czs77h-H.d.mts.map} +1 -1
- package/dist/{SubscriberBuilder-M2EAgQhC.cjs → SubscriberBuilder-CYluzubx.cjs} +109 -1
- package/dist/SubscriberBuilder-CYluzubx.cjs.map +1 -0
- package/dist/{SubscriberBuilder-DRXfxWn_.mjs → SubscriberBuilder-DUMXzjbR.mjs} +98 -2
- package/dist/SubscriberBuilder-DUMXzjbR.mjs.map +1 -0
- package/dist/adaptors/aws.cjs +2 -2
- package/dist/adaptors/aws.cjs.map +1 -1
- package/dist/adaptors/aws.d.cts +1 -1
- package/dist/adaptors/aws.d.mts +1 -1
- package/dist/adaptors/aws.mjs +2 -2
- package/dist/adaptors/aws.mjs.map +1 -1
- package/dist/adaptors/testing.cjs +109 -2
- package/dist/adaptors/testing.cjs.map +1 -1
- package/dist/adaptors/testing.d.cts +22 -1
- package/dist/adaptors/testing.d.cts.map +1 -1
- package/dist/adaptors/testing.d.mts +22 -1
- package/dist/adaptors/testing.d.mts.map +1 -1
- package/dist/adaptors/testing.mjs +109 -2
- package/dist/adaptors/testing.mjs.map +1 -1
- package/dist/{runSubscriber-D8nLXIv1.cjs → runSubscriber-B1Yg4dID.cjs} +5 -3
- package/dist/runSubscriber-B1Yg4dID.cjs.map +1 -0
- package/dist/{runSubscriber-BHvJ8POr.mjs → runSubscriber-JCgkeYbE.mjs} +5 -3
- package/dist/runSubscriber-JCgkeYbE.mjs.map +1 -0
- package/dist/subscribers/index.cjs +31 -13
- package/dist/subscribers/index.cjs.map +1 -1
- package/dist/subscribers/index.d.cts +27 -4
- package/dist/subscribers/index.d.cts.map +1 -1
- package/dist/subscribers/index.d.mts +27 -4
- package/dist/subscribers/index.d.mts.map +1 -1
- package/dist/subscribers/index.mjs +30 -14
- package/dist/subscribers/index.mjs.map +1 -1
- package/dist/worker.cjs +22 -1
- package/dist/worker.cjs.map +1 -1
- package/dist/worker.d.cts +20 -1
- package/dist/worker.d.cts.map +1 -1
- package/dist/worker.d.mts +20 -1
- package/dist/worker.d.mts.map +1 -1
- package/dist/worker.mjs +22 -1
- package/dist/worker.mjs.map +1 -1
- package/package.json +31 -31
- package/dist/SubscriberBuilder-BRa_nrmH.d.cts +0 -67
- package/dist/SubscriberBuilder-BRa_nrmH.d.cts.map +0 -1
- package/dist/SubscriberBuilder-D9bkrYzH.d.mts +0 -67
- package/dist/SubscriberBuilder-D9bkrYzH.d.mts.map +0 -1
- package/dist/SubscriberBuilder-DRXfxWn_.mjs.map +0 -1
- package/dist/SubscriberBuilder-M2EAgQhC.cjs.map +0 -1
- package/dist/runSubscriber-BHvJ8POr.mjs.map +0 -1
- package/dist/runSubscriber-D8nLXIv1.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.d.cts","names":["TestBrowser"],"sources":["../../src/endpoints/MswEndpointAdaptor.ts","../../src/endpoints/TestEndpointAdaptor.ts","../../src/functions/TestFunctionAdaptor.ts","../../src/queue/TestQueueAdaptor.ts","../../src/subscribers/TestSubscriberAdaptor.ts","../../src/testing/manifest.ts","../../src/testing/featureTest.ts","../../src/testing/peer.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"testing.d.cts","names":["TestBrowser"],"sources":["../../src/endpoints/MswEndpointAdaptor.ts","../../src/endpoints/TestEndpointAdaptor.ts","../../src/functions/TestFunctionAdaptor.ts","../../src/queue/TestQueueAdaptor.ts","../../src/subscribers/TestSubscriberAdaptor.ts","../../src/testing/manifest.ts","../../src/testing/featureTest.ts","../../src/testing/peer.ts"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { n as Function } from "../Function-B_9R7Zy1.mjs";
|
|
|
3
3
|
import { t as HttpMethod } from "../types-DMuSQeLL.mjs";
|
|
4
4
|
import { c as EndpointSchemas, i as Endpoint } from "../Endpoint-CeFkSwh5.mjs";
|
|
5
5
|
import { t as Queue } from "../Queue-B-dDXyjF.mjs";
|
|
6
|
-
import { t as Subscriber } from "../Subscriber-
|
|
6
|
+
import { t as Subscriber } from "../Subscriber-Czs77h-H.mjs";
|
|
7
7
|
import { t as KyselyDatabase } from "../kysely-CAW3QSqp.mjs";
|
|
8
8
|
import { t as Fake } from "../fake-JXbkdao8.mjs";
|
|
9
9
|
import { o as TestStage } from "../stages-BSCF19o2.mjs";
|
|
@@ -362,6 +362,27 @@ interface FeatureContext<TBrowser extends Browser, TDatabases extends DatabaseSc
|
|
|
362
362
|
services: TestServices<TServices>;
|
|
363
363
|
/** A queue's worker, run on its own with this test's services. */
|
|
364
364
|
queue: <Q extends Queue<any, any, any, any, any, any>>(queue: Q) => QueueAdaptorOf<Q>;
|
|
365
|
+
/**
|
|
366
|
+
* A bucket's objects, as its subscribers see them change.
|
|
367
|
+
*
|
|
368
|
+
* An upload or delete through the bucket's client — `services.uploads`,
|
|
369
|
+
* in a handler or in the test — is reported to the bucket's subscribers
|
|
370
|
+
* already; `emit` reports what the storage would see and the app's code
|
|
371
|
+
* never does, such as a browser uploading to a presigned URL.
|
|
372
|
+
*/
|
|
373
|
+
objects: (bucket: {
|
|
374
|
+
id: string;
|
|
375
|
+
}) => {
|
|
376
|
+
emit: (...events: EmittedObjectEvent[]) => Promise<void>;
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
/** An object changing, as a test reports it: the bucket is the one emitted on. */
|
|
380
|
+
interface EmittedObjectEvent {
|
|
381
|
+
type: 'object.created' | 'object.deleted';
|
|
382
|
+
key: string;
|
|
383
|
+
size?: number;
|
|
384
|
+
etag?: string;
|
|
385
|
+
versionId?: string;
|
|
365
386
|
}
|
|
366
387
|
type SubscriberAdaptorOf<S> = S extends Subscriber<infer TServices, infer TLogger, infer OutSchema, infer TEventPublisher, infer TSubscribedEvents, infer TDatabase, infer TDatabaseServiceName> ? TestSubscriberAdaptor<TServices, TLogger, OutSchema, TEventPublisher, TSubscribedEvents, TDatabase, TDatabaseServiceName> : never;
|
|
367
388
|
type QueueAdaptorOf<Q> = Q extends Queue<infer TName, infer TMessage, infer TServices, infer TLogger, infer TDatabase, infer TDatabaseServiceName> ? TestQueueAdaptor<TName, TMessage, TServices, TLogger, TDatabase, TDatabaseServiceName> : never;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.d.mts","names":["TestBrowser"],"sources":["../../src/endpoints/MswEndpointAdaptor.ts","../../src/endpoints/TestEndpointAdaptor.ts","../../src/functions/TestFunctionAdaptor.ts","../../src/queue/TestQueueAdaptor.ts","../../src/subscribers/TestSubscriberAdaptor.ts","../../src/testing/manifest.ts","../../src/testing/featureTest.ts","../../src/testing/peer.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"testing.d.mts","names":["TestBrowser"],"sources":["../../src/endpoints/MswEndpointAdaptor.ts","../../src/endpoints/TestEndpointAdaptor.ts","../../src/functions/TestFunctionAdaptor.ts","../../src/queue/TestQueueAdaptor.ts","../../src/subscribers/TestSubscriberAdaptor.ts","../../src/testing/manifest.ts","../../src/testing/featureTest.ts","../../src/testing/peer.ts"],"mappings":"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"}
|
|
@@ -616,6 +616,7 @@ function featureTest(options = {}) {
|
|
|
616
616
|
};
|
|
617
617
|
contexts.set(id, state);
|
|
618
618
|
await state.discovery.register(recorders(app.channels, state));
|
|
619
|
+
await state.discovery.register(watchers(app, state));
|
|
619
620
|
try {
|
|
620
621
|
await runInTestContext(id, async () => {
|
|
621
622
|
const browser = new BrowserClass();
|
|
@@ -649,7 +650,23 @@ function featureTest(options = {}) {
|
|
|
649
650
|
published: (channel) => [...state.published.get(channel.id) ?? []],
|
|
650
651
|
services: { get: (name) => resolveService(app, state, name) },
|
|
651
652
|
subscriber: (subscriber) => thenDeliver(new TestSubscriberAdaptor(subscriber, state.discovery), () => deliver(app, state, id)),
|
|
652
|
-
queue: (queue) => thenDeliver(new TestQueueAdaptor(queue, state.discovery), () => deliver(app, state, id))
|
|
653
|
+
queue: (queue) => thenDeliver(new TestQueueAdaptor(queue, state.discovery), () => deliver(app, state, id)),
|
|
654
|
+
objects: (bucket) => ({ emit: async (...events) => {
|
|
655
|
+
const watched = app.watched.find((candidate) => candidate.id === bucket.id);
|
|
656
|
+
if (!watched) throw new BucketNotWatched(bucket.id);
|
|
657
|
+
const name = bucketName(watched, app.envParser);
|
|
658
|
+
state.pending.push({
|
|
659
|
+
channel: watched,
|
|
660
|
+
messages: events.map(({ type, ...object }) => ({
|
|
661
|
+
type,
|
|
662
|
+
payload: {
|
|
663
|
+
bucket: name,
|
|
664
|
+
...object
|
|
665
|
+
}
|
|
666
|
+
}))
|
|
667
|
+
});
|
|
668
|
+
await deliver(app, state, id);
|
|
669
|
+
} })
|
|
653
670
|
});
|
|
654
671
|
} finally {
|
|
655
672
|
restore();
|
|
@@ -695,6 +712,7 @@ async function load(manifest, modules) {
|
|
|
695
712
|
const emails = unique(constructs.filter((value) => value instanceof Email));
|
|
696
713
|
const consumables = unique(constructs.filter(isConsumable));
|
|
697
714
|
const channels = unique(constructs.filter((value) => value instanceof Topic || value instanceof Queue));
|
|
715
|
+
const watched = unique(constructs.filter((value) => isBucket(value) && subscribers.some(({ subscriber }) => subscriber.bucketName === value.id)));
|
|
698
716
|
const inbox = emails.map((email) => manifest.env[provideKey(email.id, "inboxUrl")]).find(Boolean);
|
|
699
717
|
return {
|
|
700
718
|
envParser,
|
|
@@ -703,6 +721,7 @@ async function load(manifest, modules) {
|
|
|
703
721
|
auths,
|
|
704
722
|
emails,
|
|
705
723
|
channels,
|
|
724
|
+
watched,
|
|
706
725
|
consumables,
|
|
707
726
|
subscribers,
|
|
708
727
|
...inbox ? { readMail: createMailbox({ inbox }) } : {}
|
|
@@ -783,7 +802,8 @@ async function deliver(app, state, id) {
|
|
|
783
802
|
for (let round = 0; state.pending.length > 0; round++) {
|
|
784
803
|
if (round === MAX_DELIVERY_ROUNDS) throw new DeliveryDidNotSettle(MAX_DELIVERY_ROUNDS, [...new Set(state.pending.map(({ channel }) => channel.id))]);
|
|
785
804
|
for (const { channel, messages } of state.pending.splice(0)) if (channel instanceof Queue) await toQueue(channel, messages, state, id);
|
|
786
|
-
else await toSubscribers(channel, messages, app, state, id);
|
|
805
|
+
else if (channel instanceof Topic) await toSubscribers(channel, messages, app, state, id);
|
|
806
|
+
else await toObjectSubscribers(channel, messages, app, state, id);
|
|
787
807
|
}
|
|
788
808
|
} finally {
|
|
789
809
|
state.delivering = false;
|
|
@@ -815,6 +835,93 @@ async function toSubscribers(topic, messages, app, state, id) {
|
|
|
815
835
|
});
|
|
816
836
|
}
|
|
817
837
|
}
|
|
838
|
+
/**
|
|
839
|
+
* A bucket's changes to each subscriber bound to it that named their type —
|
|
840
|
+
* the subscriber keeps the keys it watches, as it does deployed.
|
|
841
|
+
*/
|
|
842
|
+
async function toObjectSubscribers(bucket, messages, app, state, id) {
|
|
843
|
+
for (const { name, subscriber } of app.subscribers) {
|
|
844
|
+
if (subscriber.bucketName !== bucket.id) continue;
|
|
845
|
+
const named = messages.filter(({ type }) => (subscriber.subscribedEvents ?? []).includes(type));
|
|
846
|
+
if (named.length === 0) continue;
|
|
847
|
+
const consumer = `subscriber '${name}'`;
|
|
848
|
+
await runAsServer(id, () => new TestSubscriberAdaptor(subscriber, state.discovery).invoke({ events: named })).catch((error) => {
|
|
849
|
+
throw new DeliveryFailed(consumer, named, error);
|
|
850
|
+
});
|
|
851
|
+
}
|
|
852
|
+
}
|
|
853
|
+
/**
|
|
854
|
+
* A client for each watched bucket that reports what it writes: the real
|
|
855
|
+
* client — the test's MinIO — under the name the bucket is injected by, so
|
|
856
|
+
* an upload a handler makes reaches the bucket's subscribers as the storage
|
|
857
|
+
* would report it.
|
|
858
|
+
*/
|
|
859
|
+
function watchers(app, state) {
|
|
860
|
+
return app.watched.map((bucket) => ({
|
|
861
|
+
serviceName: bucket.service.serviceName,
|
|
862
|
+
register: async (options) => {
|
|
863
|
+
const client = await bucket.service.register(options);
|
|
864
|
+
const name = bucketName(bucket, app.envParser);
|
|
865
|
+
const report = async (message) => {
|
|
866
|
+
state.pending.push({
|
|
867
|
+
channel: bucket,
|
|
868
|
+
messages: [message]
|
|
869
|
+
});
|
|
870
|
+
const context = currentTestContext();
|
|
871
|
+
if (context?.side === "client") await deliver(app, state, context.id);
|
|
872
|
+
};
|
|
873
|
+
const watching = Object.create(client);
|
|
874
|
+
watching.upload = async (key, data, contentType) => {
|
|
875
|
+
await client.upload(key, data, contentType);
|
|
876
|
+
await report({
|
|
877
|
+
type: "object.created",
|
|
878
|
+
payload: {
|
|
879
|
+
bucket: name,
|
|
880
|
+
key,
|
|
881
|
+
size: byteLength(data)
|
|
882
|
+
}
|
|
883
|
+
});
|
|
884
|
+
};
|
|
885
|
+
watching.delete = async (key) => {
|
|
886
|
+
await client.delete(key);
|
|
887
|
+
await report({
|
|
888
|
+
type: "object.deleted",
|
|
889
|
+
payload: {
|
|
890
|
+
bucket: name,
|
|
891
|
+
key
|
|
892
|
+
}
|
|
893
|
+
});
|
|
894
|
+
};
|
|
895
|
+
return watching;
|
|
896
|
+
}
|
|
897
|
+
}));
|
|
898
|
+
}
|
|
899
|
+
/** The bucket's name as the storage knows it — the host of its URL. */
|
|
900
|
+
function bucketName(bucket, envParser) {
|
|
901
|
+
const { url } = envParser.create((get) => ({ url: get(provideKey(bucket.id, "url")).string() })).parse();
|
|
902
|
+
try {
|
|
903
|
+
return new URL(url).hostname || bucket.id;
|
|
904
|
+
} catch {
|
|
905
|
+
return bucket.id;
|
|
906
|
+
}
|
|
907
|
+
}
|
|
908
|
+
function byteLength(data) {
|
|
909
|
+
return typeof data === "string" ? Buffer.byteLength(data) : data.length;
|
|
910
|
+
}
|
|
911
|
+
/** An `ObjectStorage`, recognised by what it declares — never by importing it. */
|
|
912
|
+
function isBucket(value) {
|
|
913
|
+
const declare = value?.declare;
|
|
914
|
+
return typeof declare === "function" && declare.call(value)[0]?.kind === "objects";
|
|
915
|
+
}
|
|
916
|
+
/** `objects(bucket)` named a bucket no subscriber in the app is bound to. */
|
|
917
|
+
var BucketNotWatched = class extends Error {
|
|
918
|
+
bucket;
|
|
919
|
+
constructor(bucket) {
|
|
920
|
+
super(`No subscriber is bound to '${bucket}', so nothing receives what is emitted on it. Bind one — worker.objects(${bucket.charAt(0).toLowerCase()}${bucket.slice(1)}) — or check the test manifest lists it.`);
|
|
921
|
+
this.bucket = bucket;
|
|
922
|
+
this.name = "BucketNotWatched";
|
|
923
|
+
}
|
|
924
|
+
};
|
|
818
925
|
/** The payload, if the consumer's schema takes it — what the handler is handed. */
|
|
819
926
|
async function accepted(schema, message, consumer) {
|
|
820
927
|
const standard = schema?.["~standard"];
|