diff options
Diffstat (limited to 'pkg/model/pdpstate_test.go')
-rw-r--r-- | pkg/model/pdpstate_test.go | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/pkg/model/pdpstate_test.go b/pkg/model/pdpstate_test.go new file mode 100644 index 0000000..35ff6af --- /dev/null +++ b/pkg/model/pdpstate_test.go @@ -0,0 +1,128 @@ +// - +// ========================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 model + +import ( + "encoding/json" + "testing" +) + +// Positive test cases for PdpState.String +func TestPdpState_String_Success(t *testing.T) { + tests := []struct { + state PdpState + expected string + }{ + {Passive, "PASSIVE"}, + {Safe, "SAFE"}, + {Test, "TEST"}, + {Active, "ACTIVE"}, + {Terminated, "TERMINATED"}, + } + + for _, test := range tests { + got := test.state.String() + if got != test.expected { + t.Errorf("PdpState.String() = %v, want %v", got, test.expected) + } + } +} + +// Negative test case for PdpState.String +func TestPdpState_String_Failure(t *testing.T) { + state := PdpState(100) // Unknown state + expected := "Unknown PdpState: 100" + got := state.String() + if got != expected { + t.Errorf("PdpState.String() = %v, want %v", got, expected) + } +} + +// Positive test cases for PdpState.MarshalJSON +func TestPdpState_MarshalJSON_Success(t *testing.T) { + tests := []struct { + state PdpState + expected string + }{ + {Passive, `"PASSIVE"`}, + {Safe, `"SAFE"`}, + {Test, `"TEST"`}, + {Active, `"ACTIVE"`}, + {Terminated, `"TERMINATED"`}, + } + + for _, test := range tests { + got, err := json.Marshal(test.state) + if err != nil { + t.Errorf("json.Marshal() error = %v", err) + continue + } + + if string(got) != test.expected { + t.Errorf("json.Marshal() = %v, want %v", string(got), test.expected) + } + } +} + +// Negative test case for PdpState.MarshalJSON +func TestPdpState_MarshalJSON_Failure(t *testing.T) { + state := PdpState(100) // Unknown state + expected := `"Unknown PdpState: 100"` + + got, err := json.Marshal(state) + if err != nil { + t.Errorf("json.Marshal() error = %v", err) + } else if string(got) != expected { + t.Errorf("json.Marshal() = %v, want %v", string(got), expected) + } +} + +// Positive test cases for ConvertStringToEnumState +func TestConvertStringToEnumState_Success(t *testing.T) { + tests := []struct { + input string + expected PdpState + }{ + {"PASSIVE", Passive}, + {"SAFE", Safe}, + {"TEST", Test}, + {"ACTIVE", Active}, + {"TERMINATED", Terminated}, + } + + for _, test := range tests { + got, err := ConvertStringToEnumState(test.input) + if err != nil { + t.Errorf("ConvertStringToEnumState(%v) unexpected error = %v", test.input, err) + continue + } + if got != test.expected { + t.Errorf("ConvertStringToEnumState(%v) = %v, want %v", test.input, got, test.expected) + } + } +} + +// Negative test case for ConvertStringToEnumState +func TestConvertStringToEnumState_Failure(t *testing.T) { + input := "UNKNOWN" // Invalid state + _, err := ConvertStringToEnumState(input) + if err == nil { + t.Errorf("ConvertStringToEnumState(%v) expected error, got nil", input) + } +} |