Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

…lines 1–217 unchanged (217 lines)
218 WithError(wrappedErr).
219 Build()
220
221 assert.Nil(t, result2.Error(), "Error wrapping ResourceOwnershipConflictError should be stored as warning, not error")
222 assert.NotNil(t, result2.Warning(), "Error wrapping ResourceOwnershipConflictError should be stored as warning")
223}
224
225func TestNewJobResourceResult_WithErrorAsRegularError(t *testing.T) {
226 name := "test-resource"
227 group := "test-group"
228 kind := "test-kind"
229 path := "/test/path"
230 action := repository.FileActionCreated
…lines 231–288 unchanged (58 lines)
289 })
290
291 t.Run("regular error returns empty reason", func(t *testing.T) {
292 result := NewResourceResult().WithError(errors.New("not a warning")).Build()
293 assert.Empty(t, result.WarningReason())
294 })
295
296 t.Run("explicit WithWarning with QuotaExceededError returns reason", func(t *testing.T) {
297 quotaErr := quotas.NewQuotaExceededError(errors.New("over quota"))
298 result := NewResourceResult().WithWarning(quotaErr).Build()
299
300 assert.Equal(t, provisioning.ReasonQuotaExceeded, result.WarningReason())
301 })
302}
303

After

…lines 1–218 unchanged (218 lines)
219 Build()
220
221 assert.Nil(t, result2.Error(), "Error wrapping ResourceOwnershipConflictError should be stored as warning, not error")
222 assert.NotNil(t, result2.Warning(), "Error wrapping ResourceOwnershipConflictError should be stored as warning")
223}
224
225func TestNewJobResourceResult_WithUnmanagedConflictAsWarning(t *testing.T) {
226 name := "test-resource"
227 group := "test-group"
228 kind := "test-kind"
229 path := "/test/path"
230 action := repository.FileActionCreated
231
232 requestingManager := utils.ManagerProperties{
233 Kind: utils.ManagerKindRepo,
234 Identity: "repo-1",
235 }
236 unmanagedErr := resources.NewResourceUnmanagedConflictError("test-resource", requestingManager)
237
238 result := NewResourceResult().
239 WithName(name).
240 WithGroup(group).
241 WithKind(kind).
242 WithPath(path).
243 WithAction(action).
244 WithError(unmanagedErr).
245 Build()
246
247 assert.Nil(t, result.Error(), "ResourceUnmanagedConflictError should be stored as warning, not error")
248 assert.NotNil(t, result.Warning(), "ResourceUnmanagedConflictError should be stored as warning")
249 assert.Equal(t, unmanagedErr, result.Warning())
250
251 wrappedErr := fmt.Errorf("writing resource from file: %w", unmanagedErr)
252
253 result2 := NewResourceResult().
254 WithName(name).
255 WithGroup(group).
256 WithKind(kind).
257 WithPath(path).
258 WithAction(action).
259 WithError(wrappedErr).
260 Build()
261
262 assert.Nil(t, result2.Error(), "Error wrapping ResourceUnmanagedConflictError should be stored as warning, not error")
263 assert.NotNil(t, result2.Warning(), "Error wrapping ResourceUnmanagedConflictError should be stored as warning")
264}
265
266func TestNewJobResourceResult_WithErrorAsRegularError(t *testing.T) {
267 name := "test-resource"
268 group := "test-group"
269 kind := "test-kind"
270 path := "/test/path"
…lines 271–330 unchanged (60 lines)
331
332 t.Run("regular error returns empty reason", func(t *testing.T) {
333 result := NewResourceResult().WithError(errors.New("not a warning")).Build()
334 assert.Empty(t, result.WarningReason())
335 })
336
337 t.Run("ResourceUnmanagedConflictError returns ReasonResourceInvalid", func(t *testing.T) {
338 unmanagedErr := resources.NewResourceUnmanagedConflictError("res",
339 utils.ManagerProperties{Kind: utils.ManagerKindRepo, Identity: "a"},
340 )
341 result := NewResourceResult().WithError(unmanagedErr).Build()
342
343 assert.Equal(t, provisioning.ReasonResourceInvalid, result.WarningReason())
344 })
345
346 t.Run("wrapped ResourceUnmanagedConflictError returns ReasonResourceInvalid", func(t *testing.T) {
347 unmanagedErr := resources.NewResourceUnmanagedConflictError("res",
348 utils.ManagerProperties{Kind: utils.ManagerKindRepo, Identity: "a"},
349 )
350 wrapped := fmt.Errorf("writing resource: %w", unmanagedErr)
351 result := NewResourceResult().WithError(wrapped).Build()
352
353 assert.Equal(t, provisioning.ReasonResourceInvalid, result.WarningReason())
354 })
355
356 t.Run("explicit WithWarning with QuotaExceededError returns reason", func(t *testing.T) {
357 quotaErr := quotas.NewQuotaExceededError(errors.New("over quota"))
358 result := NewResourceResult().WithWarning(quotaErr).Build()
359
360 assert.Equal(t, provisioning.ReasonQuotaExceeded, result.WarningReason())
361 })
362}
363

Before

source_file
package_clause
package "package"
package_identifier "jobs"
import_declaration (+51 nodes collapsed)
function_declaration (+283 nodes collapsed)
function_declaration (+290 nodes collapsed)
function_declaration (+320 nodes collapsed)
function_declaration (+244 nodes collapsed)
function_declaration (+158 nodes collapsed)
function_declaration (+461 nodes collapsed)
function_declaration (+502 nodes collapsed)
function_declaration (+320 nodes collapsed)
function_declaration
func "func"
identifier "TestJobResourceResult_WarningReason"
parameter_list
( "("
parameter_declaration
identifier "t"
pointer_type
* "*"
qualified_type
package_identifier "testing"
. "."
type_identifier "T"
) ")"
block
{ "{"
statement_list
expression_statement (+105 nodes collapsed)
expression_statement (+124 nodes collapsed)
expression_statement (+105 nodes collapsed)
expression_statement (+154 nodes collapsed)
expression_statement (+67 nodes collapsed)
expression_statement (+86 nodes collapsed)
expression_statement (+105 nodes collapsed)
} "}"

After

source_file
package_clause
package "package"
package_identifier "jobs"
import_declaration (+51 nodes collapsed)
function_declaration (+283 nodes collapsed)
function_declaration (+290 nodes collapsed)
function_declaration (+320 nodes collapsed)
function_declaration (+244 nodes collapsed)
function_declaration (+158 nodes collapsed)
function_declaration (+461 nodes collapsed)
function_declaration (+502 nodes collapsed)
function_declaration
func "func"
identifier "TestNewJobResourceResult_WithUnmanagedConflictAsWarning"
parameter_list
( "("
parameter_declaration
identifier "t"
pointer_type
* "*"
qualified_type
package_identifier "testing"
. "."
type_identifier "T"
) ")"
block
{ "{"
statement_list
short_var_declaration
expression_list
identifier "name"
:= ":="
expression_list
interpreted_string_literal
" "\""
interpreted_string_literal_content "test-resource"
" "\""
short_var_declaration
expression_list
identifier "group"
:= ":="
expression_list
interpreted_string_literal
" "\""
interpreted_string_literal_content "test-group"
" "\""
short_var_declaration
expression_list
identifier "kind"
:= ":="
expression_list
interpreted_string_literal
" "\""
interpreted_string_literal_content "test-kind"
" "\""
short_var_declaration
expression_list
identifier "path"
:= ":="
expression_list
interpreted_string_literal
" "\""
interpreted_string_literal_content "/test/path"
" "\""
short_var_declaration
expression_list
identifier "action"
:= ":="
expression_list
selector_expression
identifier "repository"
. "."
field_identifier "FileActionCreated"
short_var_declaration
expression_list
identifier "requestingManager"
:= ":="
expression_list
composite_literal
qualified_type
package_identifier "utils"
. "."
type_identifier "ManagerProperties"
literal_value
{ "{"
keyed_element
literal_element
identifier "Kind"
: ":"
literal_element
selector_expression
identifier "utils"
. "."
field_identifier "ManagerKindRepo"
, ","
keyed_element
literal_element
identifier "Identity"
: ":"
literal_element
interpreted_string_literal
" "\""
interpreted_string_literal_content "repo-1"
" "\""
, ","
} "}"
short_var_declaration
expression_list
identifier "unmanagedErr"
:= ":="
expression_list
call_expression
selector_expression
identifier "resources"
. "."
field_identifier "NewResourceUnmanagedConflictError"
argument_list
( "("
interpreted_string_literal
" "\""
interpreted_string_literal_content "test-resource"
" "\""
, ","
identifier "requestingManager"
) ")"
short_var_declaration
expression_list
identifier "result"
:= ":="
expression_list
call_expression
selector_expression
call_expression
selector_expression
call_expression
selector_expression
call_expression
selector_expression
call_expression
selector_expression
call_expression
selector_expression
call_expression
selector_expression
call_expression
identifier "NewResourceResult"
argument_list
( "("
) ")"
. "."
field_identifier "WithName"
argument_list
( "("
identifier "name"
) ")"
. "."
field_identifier "WithGroup"
argument_list
( "("
identifier "group"
) ")"
. "."
field_identifier "WithKind"
argument_list
( "("
identifier "kind"
) ")"
. "."
field_identifier "WithPath"
argument_list
( "("
identifier "path"
) ")"
. "."
field_identifier "WithAction"
argument_list
( "("
identifier "action"
) ")"
. "."
field_identifier "WithError"
argument_list
( "("
identifier "unmanagedErr"
) ")"
. "."
field_identifier "Build"
argument_list
( "("
) ")"
expression_statement
call_expression
selector_expression
identifier "assert"
. "."
field_identifier "Nil"
argument_list
( "("
identifier "t"
, ","
call_expression
selector_expression
identifier "result"
. "."
field_identifier "Error"
argument_list
( "("
) ")"
, ","
interpreted_string_literal
" "\""
interpreted_string_literal_content "ResourceUnmanagedConflictError should be stored as warning, "...
" "\""
) ")"
expression_statement
call_expression
selector_expression
identifier "assert"
. "."
field_identifier "NotNil"
argument_list
( "("
identifier "t"
, ","
call_expression
selector_expression
identifier "result"
. "."
field_identifier "Warning"
argument_list
( "("
) ")"
, ","
interpreted_string_literal
" "\""
interpreted_string_literal_content "ResourceUnmanagedConflictError should be stored as warning"
" "\""
) ")"
expression_statement
call_expression
selector_expression
identifier "assert"
. "."
field_identifier "Equal"
argument_list
( "("
identifier "t"
, ","
identifier "unmanagedErr"
, ","
call_expression
selector_expression
identifier "result"
. "."
field_identifier "Warning"
argument_list
( "("
) ")"
) ")"
short_var_declaration
expression_list
identifier "wrappedErr"
:= ":="
expression_list
call_expression
selector_expression
identifier "fmt"
. "."
field_identifier "Errorf"
argument_list
( "("
interpreted_string_literal
" "\""
interpreted_string_literal_content "writing resource from file: %w"
" "\""
, ","
identifier "unmanagedErr"
) ")"
short_var_declaration
expression_list
identifier "result2"
:= ":="
expression_list
call_expression
selector_expression
call_expression
selector_expression
call_expression
selector_expression
call_expression
selector_expression
call_expression
selector_expression
call_expression
selector_expression
call_expression
selector_expression
call_expression
identifier "NewResourceResult"
argument_list
( "("
) ")"
. "."
field_identifier "WithName"
argument_list
( "("
identifier "name"
) ")"
. "."
field_identifier "WithGroup"
argument_list
( "("
identifier "group"
) ")"
. "."
field_identifier "WithKind"
argument_list
( "("
identifier "kind"
) ")"
. "."
field_identifier "WithPath"
argument_list
( "("
identifier "path"
) ")"
. "."
field_identifier "WithAction"
argument_list
( "("
identifier "action"
) ")"
. "."
field_identifier "WithError"
argument_list
( "("
identifier "wrappedErr"
) ")"
. "."
field_identifier "Build"
argument_list
( "("
) ")"
expression_statement
call_expression
selector_expression
identifier "assert"
. "."
field_identifier "Nil"
argument_list
( "("
identifier "t"
, ","
call_expression
selector_expression
identifier "result2"
. "."
field_identifier "Error"
argument_list
( "("
) ")"
, ","
interpreted_string_literal
" "\""
interpreted_string_literal_content "Error wrapping ResourceUnmanagedConflictError should be stor"...
" "\""
) ")"
expression_statement
call_expression
selector_expression
identifier "assert"
. "."
field_identifier "NotNil"
argument_list
( "("
identifier "t"
, ","
call_expression
selector_expression
identifier "result2"
. "."
field_identifier "Warning"
argument_list
( "("
) ")"
, ","
interpreted_string_literal
" "\""
interpreted_string_literal_content "Error wrapping ResourceUnmanagedConflictError should be stor"...
" "\""
) ")"
} "}"
function_declaration (+320 nodes collapsed)
function_declaration
func "func"
identifier "TestJobResourceResult_WarningReason"
parameter_list
( "("
parameter_declaration
identifier "t"
pointer_type
* "*"
qualified_type
package_identifier "testing"
. "."
type_identifier "T"
) ")"
block
{ "{"
statement_list
expression_statement (+105 nodes collapsed)
expression_statement (+124 nodes collapsed)
expression_statement (+105 nodes collapsed)
expression_statement (+154 nodes collapsed)
expression_statement (+67 nodes collapsed)
expression_statement (+86 nodes collapsed)
expression_statement
call_expression
selector_expression
identifier "t"
. "."
field_identifier "Run"
argument_list
( "("
interpreted_string_literal
" "\""
interpreted_string_literal_content "ResourceUnmanagedConflictError returns ReasonResourceInvalid"
" "\""
, ","
func_literal
func "func"
parameter_list
( "("
parameter_declaration
identifier "t"
pointer_type
* "*"
qualified_type
package_identifier "testing"
. "."
type_identifier "T"
) ")"
block
{ "{"
statement_list
short_var_declaration
expression_list
identifier "unmanagedErr"
:= ":="
expression_list
call_expression
selector_expression
identifier "resources"
. "."
field_identifier "NewResourceUnmanagedConflictError"
argument_list
( "("
interpreted_string_literal
" "\""
interpreted_string_literal_content "res"
" "\""
, ","
composite_literal
qualified_type
package_identifier "utils"
. "."
type_identifier "ManagerProperties"
literal_value
{ "{"
keyed_element
literal_element
identifier "Kind"
: ":"
literal_element
selector_expression
identifier "utils"
. "."
field_identifier "ManagerKindRepo"
, ","
keyed_element
literal_element
identifier "Identity"
: ":"
literal_element
interpreted_string_literal
" "\""
interpreted_string_literal_content "a"
" "\""
} "}"
, ","
) ")"
short_var_declaration
expression_list
identifier "result"
:= ":="
expression_list
call_expression
selector_expression
call_expression
selector_expression
call_expression
identifier "NewResourceResult"
argument_list
( "("
) ")"
. "."
field_identifier "WithError"
argument_list
( "("
identifier "unmanagedErr"
) ")"
. "."
field_identifier "Build"
argument_list
( "("
) ")"
expression_statement
call_expression
selector_expression
identifier "assert"
. "."
field_identifier "Equal"
argument_list
( "("
identifier "t"
, ","
selector_expression
identifier "provisioning"
. "."
field_identifier "ReasonResourceInvalid"
, ","
call_expression
selector_expression
identifier "result"
. "."
field_identifier "WarningReason"
argument_list
( "("
) ")"
) ")"
} "}"
) ")"
expression_statement
call_expression
selector_expression
identifier "t"
. "."
field_identifier "Run"
argument_list
( "("
interpreted_string_literal
" "\""
interpreted_string_literal_content "wrapped ResourceUnmanagedConflictError returns ReasonResourc"...
" "\""
, ","
func_literal
func "func"
parameter_list
( "("
parameter_declaration
identifier "t"
pointer_type
* "*"
qualified_type
package_identifier "testing"
. "."
type_identifier "T"
) ")"
block
{ "{"
statement_list
short_var_declaration
expression_list
identifier "unmanagedErr"
:= ":="
expression_list
call_expression
selector_expression
identifier "resources"
. "."
field_identifier "NewResourceUnmanagedConflictError"
argument_list
( "("
interpreted_string_literal
" "\""
interpreted_string_literal_content "res"
" "\""
, ","
composite_literal
qualified_type
package_identifier "utils"
. "."
type_identifier "ManagerProperties"
literal_value
{ "{"
keyed_element
literal_element
identifier "Kind"
: ":"
literal_element
selector_expression
identifier "utils"
. "."
field_identifier "ManagerKindRepo"
, ","
keyed_element
literal_element
identifier "Identity"
: ":"
literal_element
interpreted_string_literal
" "\""
interpreted_string_literal_content "a"
" "\""
} "}"
, ","
) ")"
short_var_declaration
expression_list
identifier "wrapped"
:= ":="
expression_list
call_expression
selector_expression
identifier "fmt"
. "."
field_identifier "Errorf"
argument_list
( "("
interpreted_string_literal
" "\""
interpreted_string_literal_content "writing resource: %w"
" "\""
, ","
identifier "unmanagedErr"
) ")"
short_var_declaration
expression_list
identifier "result"
:= ":="
expression_list
call_expression
selector_expression
call_expression
selector_expression
call_expression
identifier "NewResourceResult"
argument_list
( "("
) ")"
. "."
field_identifier "WithError"
argument_list
( "("
identifier "wrapped"
) ")"
. "."
field_identifier "Build"
argument_list
( "("
) ")"
expression_statement
call_expression
selector_expression
identifier "assert"
. "."
field_identifier "Equal"
argument_list
( "("
identifier "t"
, ","
selector_expression
identifier "provisioning"
. "."
field_identifier "ReasonResourceInvalid"
, ","
call_expression
selector_expression
identifier "result"
. "."
field_identifier "WarningReason"
argument_list
( "("
) ")"
) ")"
} "}"
) ")"
expression_statement (+105 nodes collapsed)
} "}"