@@ -2,6 +2,7 @@ package localai_test
22
33import (
44 "bytes"
5+ "encoding/json"
56 "io"
67 "net/http"
78 "net/http/httptest"
@@ -16,6 +17,14 @@ import (
1617 . "github.com/onsi/gomega"
1718)
1819
20+ // testRenderer is a simple renderer for tests that returns JSON
21+ type testRenderer struct {}
22+
23+ func (t * testRenderer ) Render (w io.Writer , name string , data interface {}, c echo.Context ) error {
24+ // For tests, just return the data as JSON
25+ return json .NewEncoder (w ).Encode (data )
26+ }
27+
1928var _ = Describe ("Edit Model test" , func () {
2029
2130 var tempDir string
@@ -41,9 +50,12 @@ var _ = Describe("Edit Model test", func() {
4150 //modelLoader := model.NewModelLoader(systemState, true)
4251 modelConfigLoader := config .NewModelConfigLoader (systemState .Model .ModelsPath )
4352
44- // Define Echo app.
53+ // Define Echo app and register all routes upfront
4554 app := echo .New ()
55+ // Set up a simple renderer for the test
56+ app .Renderer = & testRenderer {}
4657 app .POST ("/import-model" , ImportModelEndpoint (modelConfigLoader , applicationConfig ))
58+ app .GET ("/edit-model/:name" , GetEditModelPage (modelConfigLoader , applicationConfig ))
4759
4860 requestBody := bytes .NewBufferString (`{"name": "foo", "backend": "foo", "model": "foo"}` )
4961
@@ -57,16 +69,15 @@ var _ = Describe("Edit Model test", func() {
5769 Expect (string (body )).To (ContainSubstring ("Model configuration created successfully" ))
5870 Expect (rec .Code ).To (Equal (http .StatusOK ))
5971
60- app .GET ("/edit-model/:name" , GetEditModelPage (modelConfigLoader , applicationConfig ))
61- requestBody = bytes .NewBufferString (`{"name": "foo", "parameters": { "model": "foo"}}` )
62-
63- req = httptest .NewRequest ("GET" , "/edit-model/foo" , requestBody )
72+ req = httptest .NewRequest ("GET" , "/edit-model/foo" , nil )
6473 rec = httptest .NewRecorder ()
6574 app .ServeHTTP (rec , req )
6675
6776 body , err = io .ReadAll (rec .Body )
6877 Expect (err ).ToNot (HaveOccurred ())
69- Expect (string (body )).To (ContainSubstring (`"model":"foo"` ))
78+ // The response contains the model configuration with backend field
79+ Expect (string (body )).To (ContainSubstring (`"backend":"foo"` ))
80+ Expect (string (body )).To (ContainSubstring (`"name":"foo"` ))
7081 Expect (rec .Code ).To (Equal (http .StatusOK ))
7182 })
7283 })
0 commit comments