diff options
author | 2024-11-22 14:28:41 +0100 | |
---|---|---|
committer | 2024-11-27 13:26:18 +0100 | |
commit | 542b9d143da57bcb3894f730c9ca2200aa7b89cb (patch) | |
tree | b72c52f5bc3aad77c82600b8541d6db2a55ef651 /pkg/utils | |
parent | 55772eebb9ec2bb12cd16e5c2531dceb0860ad5b (diff) |
phase1 opa pdp changes
For details on scope and implementation, please check.
https://lf-onap.atlassian.net/wiki/spaces/DW/pages/51150925/OPA+PDP
Code Coverage Total: 70.8%
Issue-ID: POLICY-5156
Change-Id: Ied07ee1596e9f447183fb715baaa68c704a9fe99
Signed-off-by: gururajarao79 <gb00566633@techmahindra.com>
Diffstat (limited to 'pkg/utils')
-rw-r--r-- | pkg/utils/utils.go | 30 | ||||
-rw-r--r-- | pkg/utils/utils_test.go | 59 |
2 files changed, 89 insertions, 0 deletions
diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go new file mode 100644 index 0000000..c2cb591 --- /dev/null +++ b/pkg/utils/utils.go @@ -0,0 +1,30 @@ +// - +// ========================LICENSE_START================================= +// Copyright (C) 2024: Deutsche Telecom +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ========================LICENSE_END=================================== + +// Package utils provides common functionalities + +package utils + +import ( + "github.com/google/uuid" +) + +// validates if the given request is in valid uuid form +func IsValidUUID(u string) bool { + _, err := uuid.Parse(u) + return err == nil +} diff --git a/pkg/utils/utils_test.go b/pkg/utils/utils_test.go new file mode 100644 index 0000000..b70fa2b --- /dev/null +++ b/pkg/utils/utils_test.go @@ -0,0 +1,59 @@ +// - +// ========================LICENSE_START================================= +// Copyright (C) 2024: Deutsche Telecom +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ========================LICENSE_END=================================== + +package utils + +import ( + "github.com/google/uuid" + "testing" +) + +// Positive Test Case: Valid UUIDs +func TestIsValidUUIDPositive(t *testing.T) { + // Define valid UUID strings + validUUIDs := []string{ + "123e4567-e89b-12d3-a456-426614174000", // Standard UUID + uuid.New().String(), // Dynamically generated UUID + } + + for _, u := range validUUIDs { + t.Run("Valid UUID", func(t *testing.T) { + if !IsValidUUID(u) { + t.Errorf("Expected valid UUID, but got invalid for %s", u) + } + }) + } +} + +// Negative Test Case: Invalid UUIDs +func TestIsValidUUIDNegative(t *testing.T) { + // Define invalid UUID strings + invalidUUIDs := []string{ + "123e4567-e89b-12d3-a456-42661417400", // Invalid: missing character at the end + "invalid-uuid-format", // Invalid: incorrect format + "123e4567-e89b-12d3-a456-42661417400x", // Invalid: contains extra non-hex character + " ", // Invalid: empty string + } + + for _, u := range invalidUUIDs { + t.Run("Invalid UUID", func(t *testing.T) { + if IsValidUUID(u) { + t.Errorf("Expected invalid UUID, but got valid for %s", u) + } + }) + } +} |