aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/utils
diff options
context:
space:
mode:
authorgururajarao79 <gb00566633@techmahindra.com>2024-11-22 14:28:41 +0100
committergururajarao79 <gb00566633@techmahindra.com>2024-11-27 13:26:18 +0100
commit542b9d143da57bcb3894f730c9ca2200aa7b89cb (patch)
treeb72c52f5bc3aad77c82600b8541d6db2a55ef651 /pkg/utils
parent55772eebb9ec2bb12cd16e5c2531dceb0860ad5b (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.go30
-rw-r--r--pkg/utils/utils_test.go59
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)
+ }
+ })
+ }
+}