@@ -24,10 +24,8 @@ func TestList(t *testing.T) {
2424 t .Run ("tools" , func (t * testing.T ) {
2525 var wantTools []* mcp.Tool
2626 for _ , name := range []string {"apple" , "banana" , "cherry" } {
27- wantTools = append (wantTools , & mcp.Tool {Name : name , Description : name + " tool" })
28- }
29-
30- for _ , t := range wantTools {
27+ t := & mcp.Tool {Name : name , Description : name + " tool" }
28+ wantTools = append (wantTools , t )
3129 mcp .AddTool (server , t , SayHi )
3230 }
3331 t .Run ("list" , func (t * testing.T ) {
@@ -45,12 +43,13 @@ func TestList(t *testing.T) {
4543 })
4644
4745 t .Run ("resources" , func (t * testing.T ) {
48- resourceA := & mcp.ServerResource {Resource : & mcp.Resource {URI : "http://apple" }}
49- resourceB := & mcp.ServerResource {Resource : & mcp.Resource {URI : "http://banana" }}
50- resourceC := & mcp.ServerResource {Resource : & mcp.Resource {URI : "http://cherry" }}
51- wantResources := []* mcp.Resource {resourceA .Resource , resourceB .Resource , resourceC .Resource }
52- resources := []* mcp.ServerResource {resourceA , resourceB , resourceC }
53- server .AddResources (resources ... )
46+ var wantResources []* mcp.Resource
47+ for _ , name := range []string {"apple" , "banana" , "cherry" } {
48+ r := & mcp.Resource {URI : "http://" + name }
49+ wantResources = append (wantResources , r )
50+ server .AddResource (r , nil )
51+ }
52+
5453 t .Run ("list" , func (t * testing.T ) {
5554 res , err := clientSession .ListResources (ctx , nil )
5655 if err != nil {
@@ -66,15 +65,12 @@ func TestList(t *testing.T) {
6665 })
6766
6867 t .Run ("templates" , func (t * testing.T ) {
69- resourceTmplA := & mcp.ServerResourceTemplate {ResourceTemplate : & mcp.ResourceTemplate {URITemplate : "http://apple/{x}" }}
70- resourceTmplB := & mcp.ServerResourceTemplate {ResourceTemplate : & mcp.ResourceTemplate {URITemplate : "http://banana/{x}" }}
71- resourceTmplC := & mcp.ServerResourceTemplate {ResourceTemplate : & mcp.ResourceTemplate {URITemplate : "http://cherry/{x}" }}
72- wantResourceTemplates := []* mcp.ResourceTemplate {
73- resourceTmplA .ResourceTemplate , resourceTmplB .ResourceTemplate ,
74- resourceTmplC .ResourceTemplate ,
68+ var wantResourceTemplates []* mcp.ResourceTemplate
69+ for _ , name := range []string {"apple" , "banana" , "cherry" } {
70+ rt := & mcp.ResourceTemplate {URITemplate : "http://" + name + "/{x}" }
71+ wantResourceTemplates = append (wantResourceTemplates , rt )
72+ server .AddResourceTemplate (rt , nil )
7573 }
76- resourceTemplates := []* mcp.ServerResourceTemplate {resourceTmplA , resourceTmplB , resourceTmplC }
77- server .AddResourceTemplates (resourceTemplates ... )
7874 t .Run ("list" , func (t * testing.T ) {
7975 res , err := clientSession .ListResourceTemplates (ctx , nil )
8076 if err != nil {
@@ -90,12 +86,12 @@ func TestList(t *testing.T) {
9086 })
9187
9288 t .Run ("prompts" , func (t * testing.T ) {
93- promptA := newServerPrompt ( "apple" , "apple prompt" )
94- promptB := newServerPrompt ( "banana " , "banana prompt" )
95- promptC := newServerPrompt ( "cherry" , "cherry prompt")
96- wantPrompts := [] * mcp. Prompt { promptA . Prompt , promptB . Prompt , promptC . Prompt }
97- prompts := [] * mcp. ServerPrompt { promptA , promptB , promptC }
98- server . AddPrompts ( prompts ... )
89+ var wantPrompts [] * mcp. Prompt
90+ for _ , name := range [] string { "apple " , "banana" , "cherry" } {
91+ p := & mcp. Prompt { Name : name , Description : name + " prompt"}
92+ wantPrompts = append ( wantPrompts , p )
93+ server . AddPrompt ( p , testPromptHandler )
94+ }
9995 t .Run ("list" , func (t * testing.T ) {
10096 res , err := clientSession .ListPrompts (ctx , nil )
10197 if err != nil {
@@ -125,14 +121,6 @@ func testIterator[T any](ctx context.Context, t *testing.T, seq iter.Seq2[*T, er
125121 }
126122}
127123
128- // testPromptHandler is used for type inference newServerPrompt.
129124func testPromptHandler (context.Context , * mcp.ServerSession , * mcp.GetPromptParams ) (* mcp.GetPromptResult , error ) {
130125 panic ("not implemented" )
131126}
132-
133- func newServerPrompt (name , desc string ) * mcp.ServerPrompt {
134- return & mcp.ServerPrompt {
135- Prompt : & mcp.Prompt {Name : name , Description : desc },
136- Handler : testPromptHandler ,
137- }
138- }
0 commit comments