1- package v0
1+ package v0_test
22
33import (
44 "encoding/json"
55 "net/http"
66 "net/http/httptest"
77 "testing"
88
9+ v0 "github.com/modelcontextprotocol/registry/internal/api/handlers/v0"
910 "github.com/modelcontextprotocol/registry/internal/model"
1011 "github.com/stretchr/testify/assert"
11- "github.com/stretchr/testify/mock"
1212)
1313
14- // MockRegistryService is a mock implementation of RegistryService for testing
15- type MockRegistryService struct {
16- mock.Mock
17- }
18-
19- func (m * MockRegistryService ) List (cursor string , limit int ) ([]model.Server , string , error ) {
20- args := m .Called (cursor , limit )
21- return args .Get (0 ).([]model.Server ), args .String (1 ), args .Error (2 )
22- }
23-
24- func (m * MockRegistryService ) GetByID (id string ) (* model.ServerDetail , error ) {
25- args := m .Called (id )
26- if args .Get (0 ) == nil {
27- return nil , args .Error (1 )
28- }
29- return args .Get (0 ).(* model.ServerDetail ), args .Error (1 )
30- }
31-
32- func (m * MockRegistryService ) Publish (serverDetail * model.ServerDetail ) error {
33- args := m .Called (serverDetail )
34- return args .Error (0 )
35- }
36-
3714func TestSeedHandler (t * testing.T ) {
3815 t .Run ("successful seed export" , func (t * testing.T ) {
3916 mockRegistry := new (MockRegistryService )
@@ -68,10 +45,10 @@ func TestSeedHandler(t *testing.T) {
6845 },
6946 }
7047
71- mockRegistry .On ("List" , "" , 10000 ).Return (servers , "" , nil )
72- mockRegistry .On ("GetByID" , "test-id-1" ).Return (serverDetail , nil )
48+ mockRegistry .Mock . On ("List" , "" , 10000 ).Return (servers , "" , nil )
49+ mockRegistry .Mock . On ("GetByID" , "test-id-1" ).Return (serverDetail , nil )
7350
74- handler := SeedHandler (mockRegistry )
51+ handler := v0 . SeedHandler (mockRegistry )
7552
7653 req , err := http .NewRequest ("GET" , "/v0/seed.json" , nil )
7754 assert .NoError (t , err )
@@ -89,12 +66,12 @@ func TestSeedHandler(t *testing.T) {
8966 assert .Equal (t , "test-server-1" , response [0 ].Name )
9067 assert .Len (t , response [0 ].Packages , 1 )
9168
92- mockRegistry .AssertExpectations (t )
69+ mockRegistry .Mock . AssertExpectations (t )
9370 })
9471
9572 t .Run ("method not allowed" , func (t * testing.T ) {
9673 mockRegistry := new (MockRegistryService )
97- handler := SeedHandler (mockRegistry )
74+ handler := v0 . SeedHandler (mockRegistry )
9875
9976 req , err := http .NewRequest ("POST" , "/v0/seed.json" , nil )
10077 assert .NoError (t , err )
@@ -108,9 +85,9 @@ func TestSeedHandler(t *testing.T) {
10885
10986 t .Run ("registry service error" , func (t * testing.T ) {
11087 mockRegistry := new (MockRegistryService )
111- mockRegistry .On ("List" , "" , 10000 ).Return ([]model.Server {}, "" , assert .AnError )
88+ mockRegistry .Mock . On ("List" , "" , 10000 ).Return ([]model.Server {}, "" , assert .AnError )
11289
113- handler := SeedHandler (mockRegistry )
90+ handler := v0 . SeedHandler (mockRegistry )
11491
11592 req , err := http .NewRequest ("GET" , "/v0/seed.json" , nil )
11693 assert .NoError (t , err )
@@ -119,6 +96,6 @@ func TestSeedHandler(t *testing.T) {
11996 handler (rr , req )
12097
12198 assert .Equal (t , http .StatusInternalServerError , rr .Code )
122- mockRegistry .AssertExpectations (t )
99+ mockRegistry .Mock . AssertExpectations (t )
123100 })
124101}
0 commit comments