|
1 | 1 | package ilo |
2 | 2 |
|
3 | 3 | import ( |
| 4 | + "strings" |
4 | 5 | "testing" |
5 | 6 |
|
6 | 7 | "github.com/NETWAYS/check_hp_firmware/snmp" |
7 | 8 |
|
8 | 9 | "github.com/NETWAYS/go-check" |
9 | | - "github.com/stretchr/testify/assert" |
10 | 10 | ) |
11 | 11 |
|
12 | 12 | func TestIlo_GetNagiosStatus(t *testing.T) { |
@@ -56,49 +56,81 @@ func TestIlo_GetNagiosStatus(t *testing.T) { |
56 | 56 | for name, tc := range testcases { |
57 | 57 | t.Run(name, func(t *testing.T) { |
58 | 58 | state, output := tc.ilo.GetNagiosStatus(1) |
59 | | - assert.Equal(t, state, tc.expectedState) |
60 | | - assert.Contains(t, output, tc.expectedOutput) |
| 59 | + if state != tc.expectedState { |
| 60 | + t.Fatalf("expected %v, got %v", tc.expectedState, state) |
| 61 | + } |
| 62 | + |
| 63 | + if !strings.Contains(output, tc.expectedOutput) { |
| 64 | + t.Fatalf("expected %v, got %v", tc.expectedOutput, output) |
| 65 | + } |
61 | 66 | }) |
62 | 67 | } |
63 | 68 | } |
64 | 69 |
|
65 | 70 | func TestIsNewerVersion(t *testing.T) { |
66 | | - // Compare required Version with current Version |
67 | | - assert.True(t, isNewerVersion("1.0", "1.0")) |
68 | | - assert.True(t, isNewerVersion("1.0", "1.1")) |
69 | | - assert.True(t, isNewerVersion("1.0", "5")) |
70 | | - assert.True(t, isNewerVersion("1.0", "10.1.0")) |
71 | | - |
72 | | - assert.False(t, isNewerVersion("1.0", "0.9")) |
73 | | - assert.False(t, isNewerVersion("1.0", "0.9")) |
74 | | - assert.False(t, isNewerVersion("1.0", "0.0")) |
75 | | - assert.False(t, isNewerVersion("1.0", "0")) |
76 | | - |
77 | | - assert.False(t, isNewerVersion("1.0", "foobar")) |
78 | | - assert.False(t, isNewerVersion("foobar", "1.0")) |
79 | | - assert.False(t, isNewerVersion("xxx", "xxx")) |
| 71 | + tests := []struct { |
| 72 | + current string |
| 73 | + required string |
| 74 | + expected bool |
| 75 | + }{ |
| 76 | + {"1.0", "1.0", true}, |
| 77 | + {"1.0", "1.1", true}, |
| 78 | + {"1.0", "5", true}, |
| 79 | + {"1.0", "10.1.0", true}, |
| 80 | + {"1.0", "0.9", false}, |
| 81 | + {"1.0", "0.9", false}, // Duplicate test case (can be removed if not intentional) |
| 82 | + {"1.0", "0.0", false}, |
| 83 | + {"1.0", "0", false}, |
| 84 | + {"1.0", "foobar", false}, |
| 85 | + {"foobar", "1.0", false}, |
| 86 | + {"xxx", "xxx", false}, |
| 87 | + } |
| 88 | + |
| 89 | + for _, test := range tests { |
| 90 | + result := isNewerVersion(test.current, test.required) |
| 91 | + if result != test.expected { |
| 92 | + t.Errorf("isNewerVersion(%q, %q) = %v, want %v", |
| 93 | + test.current, test.required, result, test.expected) |
| 94 | + } |
| 95 | + } |
80 | 96 | } |
81 | 97 |
|
82 | 98 | func TestGetIloInformation_ilo5(t *testing.T) { |
83 | 99 | c, _ := snmp.NewFileHandlerFromFile("../../testdata/ilo5.txt") |
84 | 100 |
|
85 | 101 | i, err := GetIloInformation(c) |
86 | 102 |
|
87 | | - assert.NoError(t, err) |
| 103 | + if err != nil { |
| 104 | + t.Fatalf("expected no error, got %v", err) |
| 105 | + } |
88 | 106 |
|
89 | | - assert.Equal(t, 11, i.ModelID) |
90 | | - assert.Equal(t, "pciIntegratedLightsOutRemoteInsight5", i.Model) |
91 | | - assert.Equal(t, "3.00", i.RomRevision) |
| 107 | + if i.ModelID != 11 { |
| 108 | + t.Errorf("Expected ModelID to be %d, got %d", 11, i.ModelID) |
| 109 | + } |
| 110 | + if i.Model != "pciIntegratedLightsOutRemoteInsight5" { |
| 111 | + t.Errorf("Expected Model to be %q, got %q", "pciIntegratedLightsOutRemoteInsight5", i.Model) |
| 112 | + } |
| 113 | + if i.RomRevision != "3.00" { |
| 114 | + t.Errorf("Expected RomRevision to be %q, got %q", "3.00", i.RomRevision) |
| 115 | + } |
92 | 116 | } |
93 | 117 |
|
94 | 118 | func TestGetIloInformation_ilo6(t *testing.T) { |
95 | 119 | c, _ := snmp.NewFileHandlerFromFile("../../testdata/ilo6.txt") |
96 | 120 |
|
97 | 121 | i, err := GetIloInformation(c) |
98 | 122 |
|
99 | | - assert.NoError(t, err) |
| 123 | + if err != nil { |
| 124 | + t.Fatalf("expected no error, got %v", err) |
| 125 | + } |
100 | 126 |
|
101 | | - assert.Equal(t, 12, i.ModelID) |
102 | | - assert.Equal(t, "pciIntegratedLightsOutRemoteInsight6", i.Model) |
103 | | - assert.Equal(t, "1.55", i.RomRevision) |
| 127 | + if i.ModelID != 12 { |
| 128 | + t.Errorf("Expected ModelID to be %d, got %d", 12, i.ModelID) |
| 129 | + } |
| 130 | + if i.Model != "pciIntegratedLightsOutRemoteInsight6" { |
| 131 | + t.Errorf("Expected Model to be %q, got %q", "pciIntegratedLightsOutRemoteInsight6", i.Model) |
| 132 | + } |
| 133 | + if i.RomRevision != "1.55" { |
| 134 | + t.Errorf("Expected RomRevision to be %q, got %q", "1.55", i.RomRevision) |
| 135 | + } |
104 | 136 | } |
0 commit comments