dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts@v1.0.2/models/alarm_test.go (about) 1 package models_test 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 8 "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/models" 9 ) 10 11 func TestToAlarmSeverity(t *testing.T) { 12 tests := []struct { 13 name string 14 input string 15 expected models.AlarmSeverity 16 }{ 17 {"Critical", "Critical", models.AlarmCritical}, 18 {"Major", "Major", models.AlarmMajor}, 19 {"Minor", "Minor", models.AlarmMinor}, 20 {"Warning", "Warning", models.AlarmWarning}, 21 {"Offline", "Offline", models.AlarmOffline}, 22 {"None", "None", models.AlarmNone}, 23 {"Unknown", "Unknown", ""}, // Add a test case for unknown severity 24 } 25 26 for _, tt := range tests { 27 t.Run(tt.name, func(t *testing.T) { 28 result := models.ToAlarmSeverity(tt.input) 29 assert.Equal(t, tt.expected, result) 30 }) 31 } 32 } 33 34 func TestNewDeviceAlarm(t *testing.T) { 35 deviceName := "TestDevice" 36 msg := "TestMessage" 37 severity := models.AlarmCritical 38 job := "TestJob" 39 40 alarm := models.NewDeviceAlarm(deviceName, msg, severity, job) 41 42 assert.NotEmpty(t, alarm.Id) 43 assert.Equal(t, deviceName, alarm.DeviceName) 44 assert.NotZero(t, alarm.Origin) 45 assert.Equal(t, msg, alarm.Alarm.Message) 46 assert.Equal(t, severity, alarm.Alarm.Severity) 47 assert.Equal(t, job, alarm.Alarm.Job) 48 }