(t *testing.T)
| 145 | } |
| 146 | |
| 147 | func TestLocalCmdDetailedExitCode(t *testing.T) { |
| 148 | manifest1 := `--- |
| 149 | apiVersion: v1 |
| 150 | kind: ConfigMap |
| 151 | metadata: |
| 152 | name: test-config |
| 153 | namespace: default |
| 154 | data: |
| 155 | key: value1 |
| 156 | ` |
| 157 | manifest2 := `--- |
| 158 | apiVersion: v1 |
| 159 | kind: ConfigMap |
| 160 | metadata: |
| 161 | name: test-config |
| 162 | namespace: default |
| 163 | data: |
| 164 | key: value2 |
| 165 | ` |
| 166 | setupFakeHelmDual(t, manifest1, manifest2) |
| 167 | |
| 168 | chart1 := t.TempDir() |
| 169 | chart2 := t.TempDir() |
| 170 | |
| 171 | cmd := localCmd() |
| 172 | cmd.SetArgs([]string{chart1, chart2, "--detailed-exitcode"}) |
| 173 | |
| 174 | err := cmd.Execute() |
| 175 | if err == nil { |
| 176 | t.Fatal("Expected error with exit code 2 but got nil") |
| 177 | } |
| 178 | |
| 179 | var diffErr Error |
| 180 | if !errors.As(err, &diffErr) { |
| 181 | t.Fatalf("Expected Error type but got %T: %v", err, err) |
| 182 | } |
| 183 | if diffErr.Code != 2 { |
| 184 | t.Errorf("Expected exit code 2 but got %d", diffErr.Code) |
| 185 | } |
| 186 | } |
| 187 | |
| 188 | func TestLocalCmdDetailedExitCodeNoChanges(t *testing.T) { |
| 189 | manifestYAML := `--- |
nothing calls this directly
no test coverage detected