Skip to content

Commit

Permalink
Merge branch 'hyperledger:main' into test/credentials-flaky-tests
Browse files Browse the repository at this point in the history
  • Loading branch information
2byrds authored Jul 26, 2022
2 parents 898e683 + 0f690a0 commit b86b43d
Show file tree
Hide file tree
Showing 11 changed files with 34 additions and 172 deletions.
4 changes: 2 additions & 2 deletions packages/core/src/agent/MessageSender.ts
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ export class MessageSender {
// If the other party shared a queue service endpoint in their did doc we queue the message
if (queueService) {
this.logger.debug(`Queue packed message for connection ${connection.id} (${connection.theirLabel})`)
this.messageRepository.add(connection.id, encryptedMessage)
await this.messageRepository.add(connection.id, encryptedMessage)
return
}

Expand Down Expand Up @@ -267,7 +267,7 @@ export class MessageSender {
}

const encryptedMessage = await this.envelopeService.packMessage(payload, keys)
this.messageRepository.add(connection.id, encryptedMessage)
await this.messageRepository.add(connection.id, encryptedMessage)
return
}

Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export { Dispatcher } from './agent/Dispatcher'
export { MessageSender } from './agent/MessageSender'
export type { AgentDependencies } from './agent/AgentDependencies'
export type { InitConfig, OutboundPackage, EncryptedMessage, WalletConfig } from './types'
export { DidCommMimeType } from './types'
export { KeyDerivationMethod, DidCommMimeType } from './types'
export type { FileSystem } from './storage/FileSystem'
export * from './storage/BaseRecord'
export { InMemoryMessageRepository } from './storage/InMemoryMessageRepository'
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,12 @@ export class GenericRecordsModule {
this.logger = agentConfig.logger
}

public async save({ content, tags }: SaveGenericRecordOption) {
public async save({ content, tags, id }: SaveGenericRecordOption) {
try {
const record = await this.genericRecordsService.save({
content: content,
tags: tags,
id,
content,
tags,
})
return record
} catch (error) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,11 @@ export class GenericRecordService {
this.genericRecordsRepository = genericRecordsRepository
}

public async save({ content, tags }: SaveGenericRecordOption) {
public async save({ content, tags, id }: SaveGenericRecordOption) {
const genericRecord = new GenericRecord({
content: content,
tags: tags,
id,
content,
tags,
})

try {
Expand Down
4 changes: 2 additions & 2 deletions packages/core/src/modules/routing/RecipientModule.ts
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ export class RecipientModule {
delayWhen(() => timer(interval))
)
.subscribe(async () => {
this.logger.warn(
this.logger.debug(
`Websocket connection to mediator with connectionId '${mediator.connectionId}' is closed, attempting to reconnect...`
)
try {
Expand Down Expand Up @@ -359,7 +359,7 @@ export class RecipientModule {
await this.setDefaultMediator(mediation)
this.logger.debug('Default mediator set')
} else {
this.agentConfig.logger.warn(
this.agentConfig.logger.debug(
`Mediator invitation has already been ${mediation.isReady ? 'granted' : 'requested'}`
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ export class MessagePickupService {
const connection = messageContext.assertReadyConnection()

const { message } = messageContext
const messages = this.messageRepository.takeFromQueue(connection.id, message.batchSize)
const messages = await this.messageRepository.takeFromQueue(connection.id, message.batchSize)

// TODO: each message should be stored with an id. to be able to conform to the id property
// of batch message
Expand All @@ -39,7 +39,7 @@ export class MessagePickupService {
return createOutboundMessage(connection, batchMessage)
}

public queueMessage(connectionId: string, message: EncryptedMessage) {
this.messageRepository.add(connectionId, message)
public async queueMessage(connectionId: string, message: EncryptedMessage) {
await this.messageRepository.add(connectionId, message)
}
}
4 changes: 2 additions & 2 deletions packages/core/src/storage/MessageRepository.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { EncryptedMessage } from '../types'

export interface MessageRepository {
takeFromQueue(connectionId: string, limit?: number): EncryptedMessage[]
add(connectionId: string, payload: EncryptedMessage): void
takeFromQueue(connectionId: string, limit?: number): EncryptedMessage[] | Promise<EncryptedMessage[]>
add(connectionId: string, payload: EncryptedMessage): void | Promise<void>
}
2 changes: 1 addition & 1 deletion packages/core/src/transport/WsOutboundTransport.ts
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ export class WsOutboundTransport implements OutboundTransport {
// so 'this' is scoped to the 'WsOutboundTransport' class instance
// eslint-disable-next-line @typescript-eslint/no-explicit-any
private handleMessageEvent = (event: any) => {
this.logger.trace('WebSocket message event received.', { url: event.target.url, data: event.data })
this.logger.trace('WebSocket message event received.', { url: event.target.url })
const payload = JsonEncoder.fromBuffer(event.data)
if (!isValidJweStructure(payload)) {
throw new Error(
Expand Down
34 changes: 14 additions & 20 deletions packages/core/tests/generic-records.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ describe('genericRecords', () => {
aliceAgent = new Agent(aliceConfig.config, aliceConfig.agentDependencies)
await aliceAgent.initialize()

//Save genericRecord message (Minimal)
// Save genericRecord message (Minimal)

const savedRecord1: GenericRecord = await aliceAgent.genericRecords.save({ content: barString })

//Save genericRecord message with tag
// Save genericRecord message with tag
const tags1 = { myTag: 'foobar1' }
const tags2 = { myTag: 'foobar2' }

Expand All @@ -41,12 +41,15 @@ describe('genericRecords', () => {

const savedRecord3: GenericRecord = await aliceAgent.genericRecords.save({ content: barString, tags: tags2 })
expect(savedRecord3).toBeDefined()

const record = await aliceAgent.genericRecords.save({ content: barString, tags: tags2, id: 'foo' })
expect(record.id).toBe('foo')
})

test('get generic-record records', async () => {
//Create genericRecord message
const savedRecords = await aliceAgent.genericRecords.getAll()
expect(savedRecords.length).toBe(3)
expect(savedRecords.length).toBe(4)
})

test('get generic-record specific record', async () => {
Expand All @@ -56,7 +59,7 @@ describe('genericRecords', () => {
expect(savedRecords1[0].content).toEqual({ foo: 42 })

const savedRecords2 = await aliceAgent.genericRecords.findAllByQuery({ myTag: 'foobar2' })
expect(savedRecords2?.length == 1).toBe(true)
expect(savedRecords2.length == 2).toBe(true)
expect(savedRecords2[0].content).toEqual({ foo: 'Some data saved' })
})

Expand All @@ -65,32 +68,27 @@ describe('genericRecords', () => {
const savedRecord1: GenericRecord = await aliceAgent.genericRecords.save({ content: barString, id: myId })
expect(savedRecord1).toBeDefined()

const retrievedRecord: GenericRecord | null = await aliceAgent.genericRecords.findById(savedRecord1.id)

if (retrievedRecord) {
expect(retrievedRecord.content).toEqual({ foo: 'Some data saved' })
} else {
throw Error('retrieved record not found')
}
const retrievedRecord = await aliceAgent.genericRecords.findById(savedRecord1.id)
expect(retrievedRecord?.content).toEqual({ foo: 'Some data saved' })
})

test('delete generic record', async () => {
const myId = '100'
const myId = '101'
const savedRecord1: GenericRecord = await aliceAgent.genericRecords.save({ content: barString, id: myId })
expect(savedRecord1).toBeDefined()

await aliceAgent.genericRecords.delete(savedRecord1)

const retrievedRecord: GenericRecord | null = await aliceAgent.genericRecords.findById(savedRecord1.id)
const retrievedRecord = await aliceAgent.genericRecords.findById(savedRecord1.id)
expect(retrievedRecord).toBeNull()
})

test('update generic record', async () => {
const myId = '100'
const myId = '102'
const savedRecord1: GenericRecord = await aliceAgent.genericRecords.save({ content: barString, id: myId })
expect(savedRecord1).toBeDefined()

let retrievedRecord: GenericRecord | null = await aliceAgent.genericRecords.findById(savedRecord1.id)
let retrievedRecord = await aliceAgent.genericRecords.findById(savedRecord1.id)
expect(retrievedRecord).toBeDefined()

const amendedFooString = { foo: 'Some even more cool data saved' }
Expand All @@ -101,10 +99,6 @@ describe('genericRecords', () => {
await aliceAgent.genericRecords.update(savedRecord1)

retrievedRecord = await aliceAgent.genericRecords.findById(savedRecord1.id)
if (retrievedRecord) {
expect(retrievedRecord.content).toEqual({ foo: 'Some even more cool data saved' })
} else {
throw Error('retrieved record not found in update test')
}
expect(retrievedRecord?.content).toEqual({ foo: 'Some even more cool data saved' })
})
})
2 changes: 1 addition & 1 deletion packages/node/src/transport/WsInboundTransport.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ export class WsInboundTransport implements InboundTransport {
private listenOnWebSocketMessages(agent: Agent, socket: WebSocket, session: TransportSession) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
socket.addEventListener('message', async (event: any) => {
this.logger.debug('WebSocket message event received.', { url: event.target.url, data: event.data })
this.logger.debug('WebSocket message event received.', { url: event.target.url })
try {
await agent.receiveMessage(JSON.parse(event.data), session)
} catch (error) {
Expand Down

0 comments on commit b86b43d

Please sign in to comment.