Skip to content

Commit 9a56e42

Browse files
committed
add test for sendRequest by messageCid and fix Read tests for browser
1 parent 28b8012 commit 9a56e42

2 files changed

Lines changed: 32 additions & 10 deletions

File tree

packages/agent/src/sync-engine-level.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -361,10 +361,7 @@ export class SyncEngineLevel implements SyncEngine {
361361
if (reply.status.code !== 200 || !reply.entry) {
362362
return undefined;
363363
}
364-
const messageEntry = reply.entry;
365-
if (!messageEntry) {
366-
return undefined;
367-
}
364+
const messageEntry = reply.entry!;
368365

369366
let dwnMessageWithBlob: { message: GenericMessage, data?: Blob } = { message: messageEntry.message };
370367

packages/agent/tests/dwn-api.spec.ts

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -848,6 +848,37 @@ describe('AgentDwnApi', () => {
848848
await testHarness.closeStorage();
849849
});
850850

851+
it('handles sending existing message using `messageCid` request property', async () => {
852+
// Create test data to write.
853+
const dataBytes = Convert.string('Hello, world!').toUint8Array();
854+
855+
// Write a record to the local DWN to use for the test.
856+
let writeResponse = await testHarness.agent.dwn.processRequest({
857+
author : alice.did.uri,
858+
target : alice.did.uri,
859+
messageType : DwnInterface.RecordsWrite,
860+
messageParams : {
861+
dataFormat : 'text/plain',
862+
schema : 'https://schemas.xyz/example'
863+
},
864+
dataStream: new Blob([dataBytes])
865+
});
866+
expect(writeResponse.reply.status.code).to.equal(202);
867+
868+
// sendRequest using the message's `messageCid`
869+
const sendResponse = await testHarness.agent.dwn.sendRequest({
870+
author : alice.did.uri,
871+
target : alice.did.uri,
872+
messageType : DwnInterface.RecordsWrite,
873+
messageCid : writeResponse.messageCid
874+
});
875+
876+
// Verify the response.
877+
expect(sendResponse.message).to.deep.equal(writeResponse.message);
878+
expect(sendResponse.messageCid).to.equal(writeResponse.messageCid);
879+
expect(sendResponse.reply.status.code).to.equal(202);
880+
});
881+
851882
it('handles MessagesQuery', async () => {
852883
const testCursor = {
853884
messageCid : 'foo',
@@ -1029,9 +1060,6 @@ describe('AgentDwnApi', () => {
10291060
expect(messagesReadReply.status.code).to.equal(200);
10301061
const retrievedRecordsWrite = messagesReadReply.entry!;
10311062
expect(retrievedRecordsWrite.message).to.have.property('recordId', writeMessage.recordId);
1032-
1033-
const readDataBytes = await NodeStream.consumeToBytes({ readable: retrievedRecordsWrite.data! });
1034-
expect(readDataBytes).to.deep.equal(dataBytes);
10351063
});
10361064

10371065
it('handles ProtocolsConfigure', async () => {
@@ -1232,9 +1260,6 @@ describe('AgentDwnApi', () => {
12321260
expect(readReply.record).to.have.property('data');
12331261
expect(readReply.record).to.have.property('descriptor');
12341262
expect(readReply.record).to.have.property('recordId', writeMessage.recordId);
1235-
1236-
const readDataBytes = await NodeStream.consumeToBytes({ readable: readReply.record!.data });
1237-
expect(readDataBytes).to.deep.equal(dataBytes);
12381263
});
12391264

12401265
it('handles RecordsSubscribe message', async () => {

0 commit comments

Comments
 (0)