mirror of
https://github.com/SecurityBrewery/catalyst.git
synced 2025-12-06 23:32:47 +01:00
41 lines
865 B
Go
41 lines
865 B
Go
package service
|
|
|
|
import (
|
|
"encoding/json"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func Test_marshal(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
data := map[string]any{"a": 1}
|
|
|
|
out := marshal(data)
|
|
|
|
var res map[string]any
|
|
|
|
err := json.Unmarshal([]byte(out), &res)
|
|
require.NoError(t, err, "invalid json")
|
|
|
|
v, ok := res["a"].(float64)
|
|
assert.True(t, ok, "key 'a' not found or not float64")
|
|
assert.InEpsilon(t, float64(1), v, 0, "unexpected marshal result")
|
|
}
|
|
|
|
func Test_unmarshal(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
jsonStr := json.RawMessage(`{"c":3}`)
|
|
|
|
m := unmarshal(jsonStr)
|
|
|
|
v, ok := m["c"].(float64)
|
|
assert.True(t, ok, "key 'c' not found or not float64")
|
|
assert.InEpsilon(t, float64(3), v, 0, "unexpected unmarshal result")
|
|
|
|
assert.Nil(t, unmarshal(json.RawMessage("invalid")), "expected nil for invalid json")
|
|
}
|