[#83] client: Implement status library

Define base `Status` interface. Provide the functionality to distinguish
success and failure returns. Provide functionality to transport statuses
over NeoFS API V2 protocol. Support success `OK` and failure `INTERNAL`
returns.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
Leonard Lyubich 2021-11-16 21:15:56 +03:00 committed by LeL
parent fc18ca2cb3
commit 9dcff95a29
20 changed files with 475 additions and 210 deletions

View file

@ -0,0 +1,26 @@
package apistatus_test
import (
"testing"
apistatus "github.com/nspcc-dev/neofs-sdk-go/client/status"
"github.com/stretchr/testify/require"
)
func TestServerInternal_Message(t *testing.T) {
const msg = "some message"
var st apistatus.ServerInternal
res := st.Message()
resv2 := apistatus.ToStatusV2(st).Message()
require.Empty(t, res)
require.Empty(t, resv2)
st.SetMessage(msg)
res = st.Message()
resv2 = apistatus.ToStatusV2(st).Message()
require.Equal(t, msg, res)
require.Equal(t, msg, resv2)
}