Skip to content

Commit beee444

Browse files
committed
add passing tests
1 parent 9f90832 commit beee444

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

test/spark.js

+46
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,52 @@ test('getRetrieval', async () => {
6969
])
7070
})
7171

72+
test('testHeadRequest', async () => {
73+
const requests = []
74+
const spark = new Spark({
75+
fetch: async (url, { method }) => {
76+
requests.push({ url: url.toString(), method })
77+
return {
78+
status: 200
79+
}
80+
}
81+
})
82+
const stats = {}
83+
await spark.testHeadRequest('/dns/frisbii.fly.dev/tcp/443/https', KNOWN_CID, stats)
84+
assertEquals(stats.headStatusCode, 200)
85+
assertEquals(requests, [{ url: `https://frisbii.fly.dev/ipfs/${KNOWN_CID}?dag-scope=block`, method: 'HEAD' }])
86+
})
87+
88+
test('testHeadRequest - with statusCode=500', async () => {
89+
const requests = []
90+
const spark = new Spark({
91+
fetch: async (url, { method }) => {
92+
requests.push({ url: url.toString(), method })
93+
return {
94+
status: 500
95+
}
96+
}
97+
})
98+
const stats = {}
99+
await spark.testHeadRequest('/dns/frisbii.fly.dev/tcp/443/https', KNOWN_CID, stats)
100+
assertEquals(stats.headStatusCode, 500)
101+
assertEquals(requests, [{ url: `https://frisbii.fly.dev/ipfs/${KNOWN_CID}?dag-scope=block`, method: 'HEAD' }])
102+
})
103+
104+
test('testHeadRequest - with network failure', async () => {
105+
const requests = []
106+
const spark = new Spark({
107+
fetch: async (url, { method }) => {
108+
requests.push({ url: url.toString(), method })
109+
throw new Error()
110+
}
111+
})
112+
const stats = {}
113+
await spark.testHeadRequest('/dns/frisbii.fly.dev/tcp/443/https', KNOWN_CID, stats)
114+
assertEquals(stats.headStatusCode, 600)
115+
assertEquals(requests, [{ url: `https://frisbii.fly.dev/ipfs/${KNOWN_CID}?dag-scope=block`, method: 'HEAD' }])
116+
})
117+
72118
test('fetchCAR - http', async () => {
73119
const requests = []
74120
const spark = new Spark({

0 commit comments

Comments
 (0)