Skip to content

Commit 4d5b0bb

Browse files
committed
Fix integration tests
1 parent 22ef007 commit 4d5b0bb

3 files changed

Lines changed: 21 additions & 28 deletions

File tree

internal/api/handlers/v0/servers.go

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ type ServerDetailInput struct {
3838

3939
// ServerDetailOutput represents the server detail response
4040
type ServerDetailOutput struct {
41-
Body model.Server
41+
Body model.ServerDetail
4242
}
4343

4444
// RegisterServersEndpoints registers all server-related endpoints
@@ -99,14 +99,7 @@ func RegisterServersEndpoints(api huma.API, registry service.RegistryService) {
9999
}
100100

101101
resp := &ServerDetailOutput{}
102-
resp.Body = model.Server{
103-
ID: serverDetail.ID,
104-
Name: serverDetail.Name,
105-
Description: serverDetail.Description,
106-
Status: serverDetail.Status,
107-
Repository: serverDetail.Repository,
108-
VersionDetail: serverDetail.VersionDetail,
109-
}
102+
resp.Body = *serverDetail
110103
return resp, nil
111104
})
112105
}

internal/database/memory.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,10 +234,13 @@ func (db *MemoryDB) Publish(ctx context.Context, serverDetail *model.ServerDetai
234234
return ErrInvalidInput
235235
}
236236

237-
// Generate a new ID for the server detail
237+
// Always generate a new UUID for the ID
238238
serverDetail.ID = uuid.New().String()
239239
serverDetail.VersionDetail.IsLatest = true // Assume the new version is the latest
240-
serverDetail.VersionDetail.ReleaseDate = time.Now().Format(time.RFC3339)
240+
// Only set ReleaseDate if it's not already provided
241+
if serverDetail.VersionDetail.ReleaseDate == "" {
242+
serverDetail.VersionDetail.ReleaseDate = time.Now().Format(time.RFC3339)
243+
}
241244
// Store a copy of the entire ServerDetail
242245
serverDetailCopy := *serverDetail
243246
db.entries[serverDetail.ID] = &serverDetailCopy

internal/model/model.go

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -57,17 +57,14 @@ const (
5757
FormatFilePath Format = "file_path"
5858
)
5959

60-
// UserInput represents a user input as defined in the spec
6160
type Input struct {
62-
Description string `json:"description,omitempty" bson:"description,omitempty"`
63-
IsRequired bool `json:"is_required,omitempty" bson:"is_required,omitempty"`
64-
Format Format `json:"format,omitempty" bson:"format,omitempty"`
65-
Value string `json:"value,omitempty" bson:"value,omitempty"`
66-
IsSecret bool `json:"is_secret,omitempty" bson:"is_secret,omitempty"`
67-
Default string `json:"default,omitempty" bson:"default,omitempty"`
68-
Choices []string `json:"choices,omitempty" bson:"choices,omitempty"`
69-
Template string `json:"template,omitempty" bson:"template,omitempty"`
70-
Properties map[string]Input `json:"properties,omitempty" bson:"properties,omitempty"`
61+
Description string `json:"description,omitempty" bson:"description,omitempty"`
62+
IsRequired bool `json:"is_required,omitempty" bson:"is_required,omitempty"`
63+
Format Format `json:"format,omitempty" bson:"format,omitempty"`
64+
Value string `json:"value,omitempty" bson:"value,omitempty"`
65+
IsSecret bool `json:"is_secret,omitempty" bson:"is_secret,omitempty"`
66+
Default string `json:"default,omitempty" bson:"default,omitempty"`
67+
Choices []string `json:"choices,omitempty" bson:"choices,omitempty"`
7168
}
7269

7370
type InputWithVariables struct {
@@ -107,25 +104,25 @@ type Package struct {
107104

108105
// Remote represents a remote connection endpoint
109106
type Remote struct {
110-
TransportType string `json:"transport_type" bson:"transport_type"`
111-
URL string `json:"url" bson:"url"`
112-
Headers []Input `json:"headers,omitempty" bson:"headers,omitempty"`
107+
TransportType string `json:"transport_type" bson:"transport_type"`
108+
URL string `json:"url" bson:"url"`
109+
Headers []KeyValueInput `json:"headers,omitempty" bson:"headers,omitempty"`
113110
}
114111

115112
// VersionDetail represents the version details of a server
116113
type VersionDetail struct {
117114
Version string `json:"version" bson:"version"`
118-
ReleaseDate string `json:"release_date" bson:"release_date"`
119-
IsLatest bool `json:"is_latest" bson:"is_latest"`
115+
ReleaseDate string `json:"release_date,omitempty" bson:"release_date"`
116+
IsLatest bool `json:"is_latest,omitempty" bson:"is_latest"`
120117
}
121118

122119
// Server represents a basic server information as defined in the spec
123120
type Server struct {
124-
ID string `json:"id" bson:"id"`
121+
ID string `json:"id,omitempty" bson:"id"`
125122
Name string `json:"name" bson:"name"`
126123
Description string `json:"description" bson:"description"`
127124
Status ServerStatus `json:"status,omitempty" bson:"status,omitempty"`
128-
Repository Repository `json:"repository" bson:"repository"`
125+
Repository Repository `json:"repository,omitempty" bson:"repository"`
129126
VersionDetail VersionDetail `json:"version_detail" bson:"version_detail"`
130127
}
131128

0 commit comments

Comments
 (0)