@@ -77,20 +77,19 @@ func TestOllamaClient_ChatRequest_Non200Response(t *testing.T) {
7777
7878 defer mockServer .Close ()
7979
80- // Create a new client with the mock server URL
81- client := & Client {
82- httpClient : http .DefaultClient ,
83- chatURL : mockServer .URL ,
84- config : DefaultConfig (),
85- telemetry : telemetry .NewTelemetryMock (),
86- }
80+ providerCfg := DefaultConfig ()
81+ clientCfg := clients .DefaultClientConfig ()
82+ providerCfg .BaseURL = mockServer .URL
83+
84+ client , err := NewClient (providerCfg , clientCfg , telemetry .NewTelemetryMock ())
85+ require .NoError (t , err )
8786
8887 chatParams := schemas.ChatParams {Messages : []schemas.ChatMessage {{
8988 Role : "user" ,
9089 Content : "What's the capital of the United Kingdom?" ,
9190 }}}
9291
93- _ , err : = client .Chat (context .Background (), & chatParams )
92+ _ , err = client .Chat (context .Background (), & chatParams )
9493
9594 require .Error (t , err )
9695 require .Contains (t , err .Error (), "provider is not available" )
@@ -99,19 +98,28 @@ func TestOllamaClient_ChatRequest_Non200Response(t *testing.T) {
9998func TestOllamaClient_ChatRequest_SuccessfulResponse (t * testing.T ) {
10099 // Create a mock HTTP server that returns an OK status code and a sample response
101100 mockServer := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , _ * http.Request ) {
101+ chatResponse , err := os .ReadFile (filepath .Clean ("./testdata/chat.success.json" ))
102+ if err != nil {
103+ t .Errorf ("error reading cohere chat mock response: %v" , err )
104+ }
105+
102106 w .WriteHeader (http .StatusOK )
103- _ , _ = w .Write ([]byte (`{"response": "OK"}` ))
107+ w .Header ().Set ("Content-Type" , "application/json" )
108+
109+ _ , err = w .Write (chatResponse )
110+ if err != nil {
111+ t .Errorf ("error on sending chat response: %v" , err )
112+ }
104113 }))
105114
106115 defer mockServer .Close ()
107116
108- // Create a new client with the mock server URL
109- client := & Client {
110- httpClient : http .DefaultClient ,
111- chatURL : mockServer .URL ,
112- config : DefaultConfig (),
113- telemetry : telemetry .NewTelemetryMock (),
114- }
117+ providerCfg := DefaultConfig ()
118+ clientCfg := clients .DefaultClientConfig ()
119+ providerCfg .BaseURL = mockServer .URL
120+
121+ client , err := NewClient (providerCfg , clientCfg , telemetry .NewTelemetryMock ())
122+ require .NoError (t , err )
115123
116124 chatParams := schemas.ChatParams {Messages : []schemas.ChatMessage {{
117125 Role : "user" ,
@@ -122,5 +130,6 @@ func TestOllamaClient_ChatRequest_SuccessfulResponse(t *testing.T) {
122130
123131 require .NoError (t , err )
124132 require .NotNil (t , response )
125- require .Equal (t , "" , response .ModelResponse .Message .Role )
133+ require .Equal (t , "assistant" , response .ModelResponse .Message .Role )
134+ require .Equal (t , "London" , response .ModelResponse .Message .Content )
126135}
0 commit comments