mirror of
https://github.com/AdguardTeam/AdGuardHome.git
synced 2024-12-25 08:08:18 +03:00
d3cc2dc930
Merge in DNS/adguard-home from websvc-patch to master Squashed commit of the following: commit b2a10faf12b16f13f617b3ed3ef3e81cb0479ff8 Merge:38f749106
8f53f6505
Author: Ainar Garipov <A.Garipov@AdGuard.COM> Date: Wed Dec 11 17:33:15 2024 +0300 Merge branch 'master' into websvc-patch commit38f7491069
Author: Ainar Garipov <A.Garipov@AdGuard.COM> Date: Tue Dec 10 19:57:54 2024 +0300 next: add json merge patch utils
29 lines
580 B
Go
29 lines
580 B
Go
package jsonpatch_test
|
|
|
|
import (
|
|
"encoding/json"
|
|
"testing"
|
|
|
|
"github.com/AdguardTeam/AdGuardHome/internal/next/jsonpatch"
|
|
"github.com/AdguardTeam/golibs/testutil"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestNonRemovable(t *testing.T) {
|
|
type T struct {
|
|
Value jsonpatch.NonRemovable[int] `json:"value"`
|
|
}
|
|
|
|
var v T
|
|
|
|
err := json.Unmarshal([]byte(`{"value":null}`), &v)
|
|
testutil.AssertErrorMsg(t, "property cannot be removed", err)
|
|
|
|
err = json.Unmarshal([]byte(`{"value":42}`), &v)
|
|
assert.NoError(t, err)
|
|
|
|
var got int
|
|
v.Value.Set(&got)
|
|
|
|
assert.Equal(t, 42, got)
|
|
}
|