1+ //go:build integration
2+ // +build integration
3+
4+ package test
5+
6+ import (
7+ "context"
8+ "testing"
9+
10+ "github.com/stretchr/testify/require"
11+ "github.com/typesense/typesense-go/v3/typesense/api/pointer"
12+ )
13+
14+ func nlSearchModelsCleanUp () {
15+ result , _ := typesenseClient .NLSearchModels ().Retrieve (context .Background ())
16+ for _ , model := range result {
17+ typesenseClient .NLSearchModel (model .Id ).Delete (context .Background ())
18+ }
19+ }
20+
21+ func TestNLSearchModel (t * testing.T ) {
22+ shouldSkipNLSearchModelTests (t )
23+ t .Cleanup (nlSearchModelsCleanUp )
24+
25+ t .Run ("Retrieve" , func (t * testing.T ) {
26+ modelID , expectedResult := createNewNLSearchModel (t )
27+
28+ result , err := typesenseClient .NLSearchModel (modelID ).Retrieve (context .Background ())
29+
30+ require .NoError (t , err )
31+ require .Equal (t , expectedResult , result )
32+ })
33+
34+ t .Run ("Update" , func (t * testing.T ) {
35+ modelID , originalModel := createNewNLSearchModel (t )
36+
37+ updateSchema := newNLSearchModelUpdateSchema ()
38+ updateSchema .Temperature = pointer .Float32 (0.8 )
39+
40+ result , err := typesenseClient .NLSearchModel (modelID ).Update (context .Background (), updateSchema )
41+
42+ require .NoError (t , err )
43+ require .Equal (t , "openai/gpt-4" , * result .ModelName )
44+ require .Equal (t , float32 (0.8 ), * result .Temperature )
45+ require .Equal (t , originalModel .Id , result .Id )
46+ })
47+
48+ t .Run ("Delete" , func (t * testing.T ) {
49+ modelID , expectedResult := createNewNLSearchModel (t )
50+
51+ result , err := typesenseClient .NLSearchModel (modelID ).Delete (context .Background ())
52+
53+ require .NoError (t , err )
54+ require .Equal (t , expectedResult .Id , result .Id )
55+
56+ _ , err = typesenseClient .NLSearchModel (modelID ).Retrieve (context .Background ())
57+ require .Error (t , err )
58+ })
59+ }
0 commit comments