From c8db9f5223125b7e3f0c8a843b079fa056328c85 Mon Sep 17 00:00:00 2001 From: Artsiom Koltun Date: Wed, 28 Jun 2023 16:23:08 +0200 Subject: [PATCH] Test middleend Update with non-AIP complaint names. Signed-off-by: Artsiom Koltun --- pkg/middleend/encryption_test.go | 10 ++++++++++ pkg/middleend/qos.go | 10 +++++----- pkg/middleend/qos_test.go | 11 +++++++++++ 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/pkg/middleend/encryption_test.go b/pkg/middleend/encryption_test.go index 3a62c990..4de87265 100644 --- a/pkg/middleend/encryption_test.go +++ b/pkg/middleend/encryption_test.go @@ -613,6 +613,16 @@ func TestMiddleEnd_UpdateEncryptedVolume(t *testing.T) { false, false, }, + "malformed name": { + nil, + &pb.EncryptedVolume{Name: "-ABC-DEF"}, + nil, + []string{""}, + codes.Unknown, + fmt.Sprintf("segment '%s': not a valid DNS name", "-ABC-DEF"), + false, + false, + }, } // run tests diff --git a/pkg/middleend/qos.go b/pkg/middleend/qos.go index 5e97c554..7e01dd45 100644 --- a/pkg/middleend/qos.go +++ b/pkg/middleend/qos.go @@ -109,11 +109,7 @@ func (s *Server) UpdateQosVolume(_ context.Context, in *pb.UpdateQosVolumeReques log.Printf("error: %v", err) return nil, err } - // Validate that a resource name conforms to the restrictions outlined in AIP-122. - // if err := resourcename.Validate(in.QosVolume.Name); err != nil { - // log.Printf("error: %v", err) - // return nil, err - // } + // fetch object from the database if err := s.verifyQosVolume(in.QosVolume); err != nil { log.Println("error:", err) @@ -253,6 +249,10 @@ func (s *Server) verifyQosVolume(volume *pb.QosVolume) error { if volume.Name == "" { return fmt.Errorf("QoS volume name cannot be empty") } + // Validate that a resource name conforms to the restrictions outlined in AIP-122. + if err := resourcename.Validate(volume.Name); err != nil { + return err + } if volume.VolumeId == nil || volume.VolumeId.Value == "" { return fmt.Errorf("volume_id cannot be empty") } diff --git a/pkg/middleend/qos_test.go b/pkg/middleend/qos_test.go index 0483cf9f..c99808a7 100644 --- a/pkg/middleend/qos_test.go +++ b/pkg/middleend/qos_test.go @@ -735,6 +735,17 @@ func TestMiddleEnd_UpdateQosVolume(t *testing.T) { existBefore: true, missing: false, }, + "malformed name": { + mask: nil, + in: &pb.QosVolume{Name: "-ABC-DEF"}, + out: nil, + spdk: []string{""}, + errCode: codes.InvalidArgument, + errMsg: fmt.Sprintf("segment '%s': not a valid DNS name", "-ABC-DEF"), + start: false, + existBefore: false, + missing: false, + }, } for name, tt := range tests {