livekit-protocol 0.7.5

Livekit protocol and utilities for the Rust SDK
Documentation
package xtwirp_test

import (
	"testing"

	"github.com/stretchr/testify/require"
	"github.com/twitchtv/twirp"
	"google.golang.org/genproto/googleapis/rpc/errdetails"
	"google.golang.org/grpc/codes"
	"google.golang.org/grpc/status"

	"github.com/livekit/protocol/utils/xtwirp"
)

func TestStatus(t *testing.T) {
	st := status.New(codes.FailedPrecondition, "test")
	st, err := st.WithDetails(&errdetails.ErrorInfo{Reason: "reason"})
	require.NoError(t, err)

	e := twirp.NewError(twirp.InvalidArgument, "twirp")
	e = xtwirp.WithDetailsFromStatus(e, st)

	got, ok := xtwirp.StatusFromError(e)
	require.True(t, ok)
	require.Equal(t, st, got)
	require.Equal(t, st.Details(), got.Details())
}