From b6341a5002c90da3d531a710f1038d716ef8c9bc Mon Sep 17 00:00:00 2001 From: Mohamed Abukar Date: Mon, 23 Mar 2020 08:55:05 +0200 Subject: [PATCH] API update Change-Id: I1ad0d7202227b01ff14d8433f27bead15d8c5a99 Signed-off-by: Mohamed Abukar --- api/xapp_rest_api.yaml | 23 ++++-- pkg/clientapi/common/common_client.go | 4 +- pkg/clientapi/policy/subscribe_policy_responses.go | 6 +- pkg/clientapi/report/subscribe_report_responses.go | 6 +- pkg/clientmodel/subscription_instance.go | 81 +++++++++++++++++++++ pkg/clientmodel/subscription_response.go | 72 ++++++++++++++++--- pkg/models/subscription_instance.go | 81 +++++++++++++++++++++ pkg/models/subscription_response.go | 72 ++++++++++++++++--- pkg/restapi/embedded_spec.go | 84 ++++++++++++++-------- .../policy/subscribe_policy_responses.go | 19 +++-- .../report/subscribe_report_responses.go | 19 +++-- pkg/xapp/subscription.go | 10 +-- pkg/xapp/subscription_test.go | 31 ++++---- 13 files changed, 408 insertions(+), 100 deletions(-) create mode 100644 pkg/clientmodel/subscription_instance.go create mode 100644 pkg/models/subscription_instance.go diff --git a/api/xapp_rest_api.yaml b/api/xapp_rest_api.yaml index 373fc7a..efd5b8c 100755 --- a/api/xapp_rest_api.yaml +++ b/api/xapp_rest_api.yaml @@ -82,6 +82,10 @@ paths: - "common" summary: Unsubscribe X2AP events from Subscription Manager operationId: Unsubscribe + consumes: + - application/json + produces: + - application/json parameters: - name: subscriptionId in: path @@ -242,23 +246,28 @@ definitions: type: integer PolicyParameterValue: type: integer - SubscriptionResponseItem: + SubscriptionInstance: type: object required: - - SubscriptionId - RequestorId - InstanceId properties: - SubscriptionId: - type: string RequestorId: type: integer InstanceId: type: integer SubscriptionResponse: - type: array - items: - $ref: '#/definitions/SubscriptionResponseItem' + type: object + required: + - SubscriptionId + - SubscriptionInstances + properties: + SubscriptionId: + type: string + SubscriptionInstances: + type: array + items: + $ref: '#/definitions/SubscriptionInstance' SubscriptionData: type: object properties: diff --git a/pkg/clientapi/common/common_client.go b/pkg/clientapi/common/common_client.go index b88df18..8db6f11 100644 --- a/pkg/clientapi/common/common_client.go +++ b/pkg/clientapi/common/common_client.go @@ -37,8 +37,8 @@ func (a *Client) Unsubscribe(params *UnsubscribeParams) (*UnsubscribeNoContent, ID: "Unsubscribe", Method: "DELETE", PathPattern: "/subscriptions/{subscriptionId}", - ProducesMediaTypes: []string{""}, - ConsumesMediaTypes: []string{""}, + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, Schemes: []string{"http"}, Params: params, Reader: &UnsubscribeReader{formats: a.formats}, diff --git a/pkg/clientapi/policy/subscribe_policy_responses.go b/pkg/clientapi/policy/subscribe_policy_responses.go index e9f52da..6241c82 100644 --- a/pkg/clientapi/policy/subscribe_policy_responses.go +++ b/pkg/clientapi/policy/subscribe_policy_responses.go @@ -61,7 +61,7 @@ func NewSubscribePolicyCreated() *SubscribePolicyCreated { Subscription successfully created */ type SubscribePolicyCreated struct { - Payload clientmodel.SubscriptionResponse + Payload *clientmodel.SubscriptionResponse } func (o *SubscribePolicyCreated) Error() string { @@ -70,8 +70,10 @@ func (o *SubscribePolicyCreated) Error() string { func (o *SubscribePolicyCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + o.Payload = new(clientmodel.SubscriptionResponse) + // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { return err } diff --git a/pkg/clientapi/report/subscribe_report_responses.go b/pkg/clientapi/report/subscribe_report_responses.go index f6dfefe..bace786 100644 --- a/pkg/clientapi/report/subscribe_report_responses.go +++ b/pkg/clientapi/report/subscribe_report_responses.go @@ -61,7 +61,7 @@ func NewSubscribeReportCreated() *SubscribeReportCreated { Subscription successfully created */ type SubscribeReportCreated struct { - Payload clientmodel.SubscriptionResponse + Payload *clientmodel.SubscriptionResponse } func (o *SubscribeReportCreated) Error() string { @@ -70,8 +70,10 @@ func (o *SubscribeReportCreated) Error() string { func (o *SubscribeReportCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + o.Payload = new(clientmodel.SubscriptionResponse) + // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { return err } diff --git a/pkg/clientmodel/subscription_instance.go b/pkg/clientmodel/subscription_instance.go new file mode 100644 index 0000000..4606479 --- /dev/null +++ b/pkg/clientmodel/subscription_instance.go @@ -0,0 +1,81 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package clientmodel + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SubscriptionInstance subscription instance +// swagger:model SubscriptionInstance +type SubscriptionInstance struct { + + // instance Id + // Required: true + InstanceID *int64 `json:"InstanceId"` + + // requestor Id + // Required: true + RequestorID *int64 `json:"RequestorId"` +} + +// Validate validates this subscription instance +func (m *SubscriptionInstance) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateInstanceID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRequestorID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SubscriptionInstance) validateInstanceID(formats strfmt.Registry) error { + + if err := validate.Required("InstanceId", "body", m.InstanceID); err != nil { + return err + } + + return nil +} + +func (m *SubscriptionInstance) validateRequestorID(formats strfmt.Registry) error { + + if err := validate.Required("RequestorId", "body", m.RequestorID); err != nil { + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SubscriptionInstance) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SubscriptionInstance) UnmarshalBinary(b []byte) error { + var res SubscriptionInstance + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/pkg/clientmodel/subscription_response.go b/pkg/clientmodel/subscription_response.go index 58592c0..2714b5b 100644 --- a/pkg/clientmodel/subscription_response.go +++ b/pkg/clientmodel/subscription_response.go @@ -12,25 +12,64 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/swag" + "github.com/go-openapi/validate" ) // SubscriptionResponse subscription response // swagger:model SubscriptionResponse -type SubscriptionResponse []*SubscriptionResponseItem +type SubscriptionResponse struct { + + // subscription Id + // Required: true + SubscriptionID *string `json:"SubscriptionId"` + + // subscription instances + // Required: true + SubscriptionInstances []*SubscriptionInstance `json:"SubscriptionInstances"` +} // Validate validates this subscription response -func (m SubscriptionResponse) Validate(formats strfmt.Registry) error { +func (m *SubscriptionResponse) Validate(formats strfmt.Registry) error { var res []error - for i := 0; i < len(m); i++ { - if swag.IsZero(m[i]) { // not required + if err := m.validateSubscriptionID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSubscriptionInstances(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SubscriptionResponse) validateSubscriptionID(formats strfmt.Registry) error { + + if err := validate.Required("SubscriptionId", "body", m.SubscriptionID); err != nil { + return err + } + + return nil +} + +func (m *SubscriptionResponse) validateSubscriptionInstances(formats strfmt.Registry) error { + + if err := validate.Required("SubscriptionInstances", "body", m.SubscriptionInstances); err != nil { + return err + } + + for i := 0; i < len(m.SubscriptionInstances); i++ { + if swag.IsZero(m.SubscriptionInstances[i]) { // not required continue } - if m[i] != nil { - if err := m[i].Validate(formats); err != nil { + if m.SubscriptionInstances[i] != nil { + if err := m.SubscriptionInstances[i].Validate(formats); err != nil { if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName(strconv.Itoa(i)) + return ve.ValidateName("SubscriptionInstances" + "." + strconv.Itoa(i)) } return err } @@ -38,8 +77,23 @@ func (m SubscriptionResponse) Validate(formats strfmt.Registry) error { } - if len(res) > 0 { - return errors.CompositeValidationError(res...) + return nil +} + +// MarshalBinary interface implementation +func (m *SubscriptionResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SubscriptionResponse) UnmarshalBinary(b []byte) error { + var res SubscriptionResponse + if err := swag.ReadJSON(b, &res); err != nil { + return err } + *m = res return nil } diff --git a/pkg/models/subscription_instance.go b/pkg/models/subscription_instance.go new file mode 100644 index 0000000..d619166 --- /dev/null +++ b/pkg/models/subscription_instance.go @@ -0,0 +1,81 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + strfmt "github.com/go-openapi/strfmt" + + "github.com/go-openapi/errors" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// SubscriptionInstance subscription instance +// swagger:model SubscriptionInstance +type SubscriptionInstance struct { + + // instance Id + // Required: true + InstanceID *int64 `json:"InstanceId"` + + // requestor Id + // Required: true + RequestorID *int64 `json:"RequestorId"` +} + +// Validate validates this subscription instance +func (m *SubscriptionInstance) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateInstanceID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateRequestorID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SubscriptionInstance) validateInstanceID(formats strfmt.Registry) error { + + if err := validate.Required("InstanceId", "body", m.InstanceID); err != nil { + return err + } + + return nil +} + +func (m *SubscriptionInstance) validateRequestorID(formats strfmt.Registry) error { + + if err := validate.Required("RequestorId", "body", m.RequestorID); err != nil { + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *SubscriptionInstance) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SubscriptionInstance) UnmarshalBinary(b []byte) error { + var res SubscriptionInstance + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/pkg/models/subscription_response.go b/pkg/models/subscription_response.go index 8657177..c62b4f1 100644 --- a/pkg/models/subscription_response.go +++ b/pkg/models/subscription_response.go @@ -12,25 +12,64 @@ import ( "github.com/go-openapi/errors" "github.com/go-openapi/swag" + "github.com/go-openapi/validate" ) // SubscriptionResponse subscription response // swagger:model SubscriptionResponse -type SubscriptionResponse []*SubscriptionResponseItem +type SubscriptionResponse struct { + + // subscription Id + // Required: true + SubscriptionID *string `json:"SubscriptionId"` + + // subscription instances + // Required: true + SubscriptionInstances []*SubscriptionInstance `json:"SubscriptionInstances"` +} // Validate validates this subscription response -func (m SubscriptionResponse) Validate(formats strfmt.Registry) error { +func (m *SubscriptionResponse) Validate(formats strfmt.Registry) error { var res []error - for i := 0; i < len(m); i++ { - if swag.IsZero(m[i]) { // not required + if err := m.validateSubscriptionID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSubscriptionInstances(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *SubscriptionResponse) validateSubscriptionID(formats strfmt.Registry) error { + + if err := validate.Required("SubscriptionId", "body", m.SubscriptionID); err != nil { + return err + } + + return nil +} + +func (m *SubscriptionResponse) validateSubscriptionInstances(formats strfmt.Registry) error { + + if err := validate.Required("SubscriptionInstances", "body", m.SubscriptionInstances); err != nil { + return err + } + + for i := 0; i < len(m.SubscriptionInstances); i++ { + if swag.IsZero(m.SubscriptionInstances[i]) { // not required continue } - if m[i] != nil { - if err := m[i].Validate(formats); err != nil { + if m.SubscriptionInstances[i] != nil { + if err := m.SubscriptionInstances[i].Validate(formats); err != nil { if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName(strconv.Itoa(i)) + return ve.ValidateName("SubscriptionInstances" + "." + strconv.Itoa(i)) } return err } @@ -38,8 +77,23 @@ func (m SubscriptionResponse) Validate(formats strfmt.Registry) error { } - if len(res) > 0 { - return errors.CompositeValidationError(res...) + return nil +} + +// MarshalBinary interface implementation +func (m *SubscriptionResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *SubscriptionResponse) UnmarshalBinary(b []byte) error { + var res SubscriptionResponse + if err := swag.ReadJSON(b, &res); err != nil { + return err } + *m = res return nil } diff --git a/pkg/restapi/embedded_spec.go b/pkg/restapi/embedded_spec.go index 79f7869..8cb57e1 100644 --- a/pkg/restapi/embedded_spec.go +++ b/pkg/restapi/embedded_spec.go @@ -137,6 +137,12 @@ func init() { }, "/subscriptions/{subscriptionId}": { "delete": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], "tags": [ "common" ], @@ -390,6 +396,21 @@ func init() { } } }, + "SubscriptionInstance": { + "type": "object", + "required": [ + "RequestorId", + "InstanceId" + ], + "properties": { + "InstanceId": { + "type": "integer" + }, + "RequestorId": { + "type": "integer" + } + } + }, "SubscriptionList": { "description": "A list of subscriptions", "type": "array", @@ -398,27 +419,20 @@ func init() { } }, "SubscriptionResponse": { - "type": "array", - "items": { - "$ref": "#/definitions/SubscriptionResponseItem" - } - }, - "SubscriptionResponseItem": { "type": "object", "required": [ "SubscriptionId", - "RequestorId", - "InstanceId" + "SubscriptionInstances" ], "properties": { - "InstanceId": { - "type": "integer" - }, - "RequestorId": { - "type": "integer" - }, "SubscriptionId": { "type": "string" + }, + "SubscriptionInstances": { + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionInstance" + } } } }, @@ -552,6 +566,12 @@ func init() { }, "/subscriptions/{subscriptionId}": { "delete": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], "tags": [ "common" ], @@ -805,6 +825,21 @@ func init() { } } }, + "SubscriptionInstance": { + "type": "object", + "required": [ + "RequestorId", + "InstanceId" + ], + "properties": { + "InstanceId": { + "type": "integer" + }, + "RequestorId": { + "type": "integer" + } + } + }, "SubscriptionList": { "description": "A list of subscriptions", "type": "array", @@ -813,27 +848,20 @@ func init() { } }, "SubscriptionResponse": { - "type": "array", - "items": { - "$ref": "#/definitions/SubscriptionResponseItem" - } - }, - "SubscriptionResponseItem": { "type": "object", "required": [ "SubscriptionId", - "RequestorId", - "InstanceId" + "SubscriptionInstances" ], "properties": { - "InstanceId": { - "type": "integer" - }, - "RequestorId": { - "type": "integer" - }, "SubscriptionId": { "type": "string" + }, + "SubscriptionInstances": { + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionInstance" + } } } }, diff --git a/pkg/restapi/operations/policy/subscribe_policy_responses.go b/pkg/restapi/operations/policy/subscribe_policy_responses.go index 8092556..4a56d34 100644 --- a/pkg/restapi/operations/policy/subscribe_policy_responses.go +++ b/pkg/restapi/operations/policy/subscribe_policy_responses.go @@ -25,7 +25,7 @@ type SubscribePolicyCreated struct { /* In: Body */ - Payload models.SubscriptionResponse `json:"body,omitempty"` + Payload *models.SubscriptionResponse `json:"body,omitempty"` } // NewSubscribePolicyCreated creates SubscribePolicyCreated with default headers values @@ -35,13 +35,13 @@ func NewSubscribePolicyCreated() *SubscribePolicyCreated { } // WithPayload adds the payload to the subscribe policy created response -func (o *SubscribePolicyCreated) WithPayload(payload models.SubscriptionResponse) *SubscribePolicyCreated { +func (o *SubscribePolicyCreated) WithPayload(payload *models.SubscriptionResponse) *SubscribePolicyCreated { o.Payload = payload return o } // SetPayload sets the payload to the subscribe policy created response -func (o *SubscribePolicyCreated) SetPayload(payload models.SubscriptionResponse) { +func (o *SubscribePolicyCreated) SetPayload(payload *models.SubscriptionResponse) { o.Payload = payload } @@ -49,14 +49,11 @@ func (o *SubscribePolicyCreated) SetPayload(payload models.SubscriptionResponse) func (o *SubscribePolicyCreated) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { rw.WriteHeader(201) - payload := o.Payload - if payload == nil { - // return empty array - payload = models.SubscriptionResponse{} - } - - if err := producer.Produce(rw, payload); err != nil { - panic(err) // let the recovery middleware deal with this + if o.Payload != nil { + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } } } diff --git a/pkg/restapi/operations/report/subscribe_report_responses.go b/pkg/restapi/operations/report/subscribe_report_responses.go index 9402089..9e9d18d 100644 --- a/pkg/restapi/operations/report/subscribe_report_responses.go +++ b/pkg/restapi/operations/report/subscribe_report_responses.go @@ -25,7 +25,7 @@ type SubscribeReportCreated struct { /* In: Body */ - Payload models.SubscriptionResponse `json:"body,omitempty"` + Payload *models.SubscriptionResponse `json:"body,omitempty"` } // NewSubscribeReportCreated creates SubscribeReportCreated with default headers values @@ -35,13 +35,13 @@ func NewSubscribeReportCreated() *SubscribeReportCreated { } // WithPayload adds the payload to the subscribe report created response -func (o *SubscribeReportCreated) WithPayload(payload models.SubscriptionResponse) *SubscribeReportCreated { +func (o *SubscribeReportCreated) WithPayload(payload *models.SubscriptionResponse) *SubscribeReportCreated { o.Payload = payload return o } // SetPayload sets the payload to the subscribe report created response -func (o *SubscribeReportCreated) SetPayload(payload models.SubscriptionResponse) { +func (o *SubscribeReportCreated) SetPayload(payload *models.SubscriptionResponse) { o.Payload = payload } @@ -49,14 +49,11 @@ func (o *SubscribeReportCreated) SetPayload(payload models.SubscriptionResponse) func (o *SubscribeReportCreated) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { rw.WriteHeader(201) - payload := o.Payload - if payload == nil { - // return empty array - payload = models.SubscriptionResponse{} - } - - if err := producer.Produce(rw, payload); err != nil { - panic(err) // let the recovery middleware deal with this + if o.Payload != nil { + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } } } diff --git a/pkg/xapp/subscription.go b/pkg/xapp/subscription.go index ffc34fb..6ceabf9 100755 --- a/pkg/xapp/subscription.go +++ b/pkg/xapp/subscription.go @@ -45,7 +45,7 @@ import ( "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/restapi/operations/report" ) -type SubscriptionHandler func(models.SubscriptionType, interface{}) (models.SubscriptionResponse, error) +type SubscriptionHandler func(models.SubscriptionType, interface{}) (*models.SubscriptionResponse, error) type SubscriptionQueryHandler func() (models.SubscriptionList, error) type SubscriptionDeleteHandler func(string) error @@ -135,22 +135,22 @@ func (r *Subscriber) Listen(add SubscriptionHandler, get SubscriptionQueryHandle } // Subscription interface for xApp: REPORT -func (r *Subscriber) SubscribeReport(p *apimodel.ReportParams) (apimodel.SubscriptionResponse, error) { +func (r *Subscriber) SubscribeReport(p *apimodel.ReportParams) (*apimodel.SubscriptionResponse, error) { params := apireport.NewSubscribeReportParamsWithTimeout(r.timeout).WithReportParams(p) result, err := r.CreateTransport().Report.SubscribeReport(params) if err != nil { - return apimodel.SubscriptionResponse{}, err + return &apimodel.SubscriptionResponse{}, err } return result.Payload, err } // Subscription interface for xApp: POLICY -func (r *Subscriber) SubscribePolicy(p *apimodel.PolicyParams) (apimodel.SubscriptionResponse, error) { +func (r *Subscriber) SubscribePolicy(p *apimodel.PolicyParams) (*apimodel.SubscriptionResponse, error) { params := apipolicy.NewSubscribePolicyParamsWithTimeout(r.timeout).WithPolicyParams(p) result, err := r.CreateTransport().Policy.SubscribePolicy(params) if err != nil { - return apimodel.SubscriptionResponse{}, err + return &apimodel.SubscriptionResponse{}, err } return result.Payload, err diff --git a/pkg/xapp/subscription_test.go b/pkg/xapp/subscription_test.go index 2913246..b9713af 100755 --- a/pkg/xapp/subscription_test.go +++ b/pkg/xapp/subscription_test.go @@ -50,7 +50,7 @@ var policyParams = apimodel.PolicyParams{ PolicyActionDefinitions: &apimodel.PolicyActionDefinition{}, } -func subscriptionHandler(stype models.SubscriptionType, params interface{}) (models.SubscriptionResponse, error) { +func subscriptionHandler(stype models.SubscriptionType, params interface{}) (*models.SubscriptionResponse, error) { switch stype { case models.SubscriptionTypeReport: p := params.(*models.ReportParams) @@ -68,9 +68,12 @@ func subscriptionHandler(stype models.SubscriptionType, params interface{}) (mod subId := "xapp-11" reqId := int64(11) instanceId := int64(22) - return models.SubscriptionResponse{ - &models.SubscriptionResponseItem{SubscriptionID: &subId, RequestorID: &reqId, InstanceID: &instanceId}, - &models.SubscriptionResponseItem{SubscriptionID: &subId, RequestorID: &reqId, InstanceID: &instanceId}, + return &models.SubscriptionResponse{ + SubscriptionID: &subId, + SubscriptionInstances: []*models.SubscriptionInstance{ + &models.SubscriptionInstance{RequestorID: &reqId, InstanceID: &instanceId}, + &models.SubscriptionInstance{RequestorID: &reqId, InstanceID: &instanceId}, + }, }, nil } @@ -110,23 +113,23 @@ func TestSubscriptionQueryHandling(t *testing.T) { } func TestSubscriptionReportHandling(t *testing.T) { - result, err := Subscription.SubscribeReport(&reportParams) + resp, err := Subscription.SubscribeReport(&reportParams) assert.Equal(t, err, nil) - assert.Equal(t, len(result), 2) - assert.Equal(t, *result[0].RequestorID, int64(11)) - assert.Equal(t, *result[0].InstanceID, int64(22)) - assert.Equal(t, *result[1].RequestorID, int64(11)) - assert.Equal(t, *result[1].InstanceID, int64(22)) + assert.Equal(t, len(resp.SubscriptionInstances), 2) + assert.Equal(t, *resp.SubscriptionInstances[0].RequestorID, int64(11)) + assert.Equal(t, *resp.SubscriptionInstances[0].InstanceID, int64(22)) + assert.Equal(t, *resp.SubscriptionInstances[1].RequestorID, int64(11)) + assert.Equal(t, *resp.SubscriptionInstances[1].InstanceID, int64(22)) } func TestSubscriptionPolicytHandling(t *testing.T) { - result, err := Subscription.SubscribePolicy(&policyParams) + resp, err := Subscription.SubscribePolicy(&policyParams) assert.Equal(t, err, nil) - assert.Equal(t, len(result), 2) - assert.Equal(t, *result[0].RequestorID, int64(11)) - assert.Equal(t, *result[0].InstanceID, int64(22)) + assert.Equal(t, len(resp.SubscriptionInstances), 2) + assert.Equal(t, *resp.SubscriptionInstances[0].RequestorID, int64(11)) + assert.Equal(t, *resp.SubscriptionInstances[0].InstanceID, int64(22)) } func TestSubscriptionDeleteHandling(t *testing.T) { -- 2.16.6