From 120a0ce62714374f1087eae547eeb1b242d206a8 Mon Sep 17 00:00:00 2001 From: Ksawery Zietara Date: Wed, 9 Oct 2024 11:07:51 +0200 Subject: [PATCH] Fix tests --- domain/apiresponses/responses.go | 14 +++++++------- domain/service_broker.go | 4 ++++ handlers/bind.go | 9 +++++++-- handlers/get_binding.go | 7 ++++++- 4 files changed, 24 insertions(+), 10 deletions(-) diff --git a/domain/apiresponses/responses.go b/domain/apiresponses/responses.go index 11da62cf..177ca5bb 100644 --- a/domain/apiresponses/responses.go +++ b/domain/apiresponses/responses.go @@ -62,13 +62,13 @@ type AsyncBindResponse struct { } type BindingResponse struct { - Credentials any `json:"credentials,omitempty"` - SyslogDrainURL string `json:"syslog_drain_url,omitempty"` - RouteServiceURL string `json:"route_service_url,omitempty"` - VolumeMounts []domain.VolumeMount `json:"volume_mounts,omitempty"` - BackupAgentURL string `json:"backup_agent_url,omitempty"` - Endpoints []domain.Endpoint `json:"endpoints,omitempty"` - Metadata domain.BindingMetadata `json:"metadata,omitempty"` + Credentials any `json:"credentials,omitempty"` + SyslogDrainURL string `json:"syslog_drain_url,omitempty"` + RouteServiceURL string `json:"route_service_url,omitempty"` + VolumeMounts []domain.VolumeMount `json:"volume_mounts,omitempty"` + BackupAgentURL string `json:"backup_agent_url,omitempty"` + Endpoints []domain.Endpoint `json:"endpoints,omitempty"` + Metadata any `json:"metadata,omitempty"` } type GetBindingResponse struct { diff --git a/domain/service_broker.go b/domain/service_broker.go index 16617060..00786ff7 100644 --- a/domain/service_broker.go +++ b/domain/service_broker.go @@ -243,6 +243,10 @@ func (m InstanceMetadata) IsEmpty() bool { return len(m.Attributes) == 0 && len(m.Labels) == 0 } +func (m BindingMetadata) IsEmpty() bool { + return len(m.ExpiresAt) == 0 && len(m.RenewBefore) == 0 +} + func (d UpdateDetails) GetRawContext() json.RawMessage { return d.RawContext } diff --git a/handlers/bind.go b/handlers/bind.go index 67eee52b..5d51b6e4 100644 --- a/handlers/bind.go +++ b/handlers/bind.go @@ -81,6 +81,11 @@ func (h APIHandler) Bind(w http.ResponseWriter, req *http.Request) { return } + var metadata any + if !binding.Metadata.IsEmpty() { + metadata = binding.Metadata + } + if binding.AlreadyExists { h.respond(w, http.StatusOK, requestId, apiresponses.BindingResponse{ Credentials: binding.Credentials, @@ -89,7 +94,7 @@ func (h APIHandler) Bind(w http.ResponseWriter, req *http.Request) { VolumeMounts: binding.VolumeMounts, BackupAgentURL: binding.BackupAgentURL, Endpoints: binding.Endpoints, - Metadata: binding.Metadata, + Metadata: metadata, }) return } @@ -141,6 +146,6 @@ func (h APIHandler) Bind(w http.ResponseWriter, req *http.Request) { VolumeMounts: binding.VolumeMounts, BackupAgentURL: binding.BackupAgentURL, Endpoints: binding.Endpoints, - Metadata: binding.Metadata, + Metadata: metadata, }) } diff --git a/handlers/get_binding.go b/handlers/get_binding.go index 857a487e..346600a3 100644 --- a/handlers/get_binding.go +++ b/handlers/get_binding.go @@ -53,6 +53,11 @@ func (h APIHandler) GetBinding(w http.ResponseWriter, req *http.Request) { return } + var metadata any + if !binding.Metadata.IsEmpty() { + metadata = binding.Metadata + } + h.respond(w, http.StatusOK, requestId, apiresponses.GetBindingResponse{ BindingResponse: apiresponses.BindingResponse{ Credentials: binding.Credentials, @@ -60,7 +65,7 @@ func (h APIHandler) GetBinding(w http.ResponseWriter, req *http.Request) { RouteServiceURL: binding.RouteServiceURL, VolumeMounts: binding.VolumeMounts, Endpoints: binding.Endpoints, - Metadata: binding.Metadata, + Metadata: metadata, }, Parameters: binding.Parameters, })