@@ -69,6 +69,52 @@ test('getRetrieval', async () => {
69
69
] )
70
70
} )
71
71
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
+
72
118
test ( 'fetchCAR - http' , async ( ) => {
73
119
const requests = [ ]
74
120
const spark = new Spark ( {
0 commit comments