Skip to content

Commit

Permalink
chore: update error conditions
Browse files Browse the repository at this point in the history
  • Loading branch information
achingbrain committed Sep 24, 2024
1 parent 65ca215 commit 46504c6
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -106,8 +106,8 @@ export default (common: TestSetup<TransportTestFixtures>): void => {
expect(upgradeSpy.callCount).to.equal(2)
})

it('should not handle connection if upgradeInbound throws', async () => {
sinon.stub(upgrader, 'upgradeInbound').throws()
it('should not handle connection if upgradeInbound rejects', async () => {
sinon.stub(upgrader, 'upgradeInbound').rejects()

const listen = listener.createListener({
upgrader
Expand Down
16 changes: 10 additions & 6 deletions packages/transport-tcp/test/listen-dial.spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import os from 'os'
import path from 'path'
import { TypedEventEmitter } from '@libp2p/interface'
import { AbortError, TypedEventEmitter } from '@libp2p/interface'
import { mockRegistrar, mockUpgrader } from '@libp2p/interface-compliance-tests/mocks'
import { defaultLogger } from '@libp2p/logger'
import { multiaddr } from '@multiformats/multiaddr'
Expand Down Expand Up @@ -343,12 +343,14 @@ describe('dial', () => {
const maConnPromise = pDefer<MultiaddrConnection>()

// @ts-expect-error missing return value
upgrader.upgradeOutbound = async (maConn) => {
upgrader.upgradeOutbound = async (maConn, opts) => {
maConnPromise.resolve(maConn)

// take a long time to give us time to abort the dial
await new Promise<void>((resolve) => {
setTimeout(() => { resolve() }, 100)
// abort the upgrade if the signal aborts
await new Promise<void>((resolve, reject) => {
opts?.signal?.addEventListener('abort', () => {
reject(new AbortError())
})
})
}

Expand All @@ -360,7 +362,9 @@ describe('dial', () => {
const abortController = new AbortController()

// abort once the upgrade process has started
void maConnPromise.promise.then(() => { abortController.abort() })
void maConnPromise.promise.then(() => {
abortController.abort()
})

await expect(transport.dial(ma, {
upgrader,
Expand Down

0 comments on commit 46504c6

Please sign in to comment.