@@ -168,6 +168,58 @@ func TestName(t *testing.T) {
168168 }
169169}
170170
171+ func TestDefaultUserAgent (t * testing.T ) {
172+ var gotUA string
173+ server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
174+ gotUA = r .Header .Get ("User-Agent" )
175+ w .Header ().Set ("Content-Type" , "application/json" )
176+ _ , _ = w .Write ([]byte (`{"vulns": []}` ))
177+ }))
178+ defer server .Close ()
179+
180+ source := New (WithBaseURL (server .URL ))
181+ p := purl .MakePURL ("npm" , "test" , "1.0.0" )
182+ _ , _ = source .Query (context .Background (), p )
183+
184+ if gotUA != "vulns" {
185+ t .Errorf ("default User-Agent = %q, want %q" , gotUA , "vulns" )
186+ }
187+ }
188+
189+ func TestCustomUserAgent (t * testing.T ) {
190+ var gotUA string
191+ server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
192+ gotUA = r .Header .Get ("User-Agent" )
193+ w .Header ().Set ("Content-Type" , "application/json" )
194+ _ , _ = w .Write ([]byte (`{"vulns": []}` ))
195+ }))
196+ defer server .Close ()
197+
198+ source := New (WithBaseURL (server .URL ), WithUserAgent ("git-pkgs/1.0" ))
199+ p := purl .MakePURL ("npm" , "test" , "1.0.0" )
200+ _ , _ = source .Query (context .Background (), p )
201+
202+ if gotUA != "git-pkgs/1.0" {
203+ t .Errorf ("User-Agent = %q, want %q" , gotUA , "git-pkgs/1.0" )
204+ }
205+ }
206+
207+ func TestUserAgentOnGet (t * testing.T ) {
208+ var gotUA string
209+ server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
210+ gotUA = r .Header .Get ("User-Agent" )
211+ w .WriteHeader (http .StatusNotFound )
212+ }))
213+ defer server .Close ()
214+
215+ source := New (WithBaseURL (server .URL ), WithUserAgent ("test-agent" ))
216+ _ , _ = source .Get (context .Background (), "GHSA-test" )
217+
218+ if gotUA != "test-agent" {
219+ t .Errorf ("Get User-Agent = %q, want %q" , gotUA , "test-agent" )
220+ }
221+ }
222+
171223func loadFixture (t * testing.T , name string ) []byte {
172224 t .Helper ()
173225 path := filepath .Join ("testdata" , name )
0 commit comments