Select Git revision
bson_test.go 5.81 KiB
package id
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.mongodb.org/mongo-driver/bson"
)
func TestID_MarshalBSON(t *testing.T) {
tests := []struct {
name string
id ID
want string
}{
{
name: "OrganizationID",
id: ID{Descriptor: &OrganizationID{OrganizationID: "1"}},
want: `"/orgs/1"`,
},
{
name: "UserID",
id: ID{Descriptor: &UserID{UserID: "1"}},
want: `"/users/1"`,
},
{
name: "ServiceID",
id: ID{Descriptor: &ServiceID{ServiceID: "1"}},
want: `"/services/1"`,
},
{
name: "SpaceID",
id: ID{Descriptor: &SpaceID{SpaceID: "1"}},
want: `"/spaces/1"`,
},
{
name: "EnvironmentID",
id: ID{Descriptor: &EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}},
want: `"/spaces/1/envs/1"`,
},
{
name: "ClientID",
id: ID{Descriptor: &ClientID{ClientID: "1", SpaceID: SpaceID{SpaceID: "1"}}},
want: `"/spaces/1/clients/1"`,
},
{
name: "RoleID",
id: ID{Descriptor: &RoleID{RoleID: "1", SpaceID: SpaceID{SpaceID: "1"}}},
want: `"/spaces/1/roles/1"`,
},
{
name: "CollectionID",
id: ID{Descriptor: &CollectionID{CollectionID: "1", EnvironmentID: EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}},
want: `"/spaces/1/envs/1/cols/1"`,
},
{
name: "SchemaID",
id: ID{Descriptor: &SchemaID{CollectionID: "1", EnvironmentID: EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}},
want: `"/spaces/1/envs/1/schema/1"`,
},
{
name: "ItemID",
id: ID{Descriptor: &ItemID{ItemID: "1", CollectionID: CollectionID{CollectionID: "1", EnvironmentID: EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}}},
want: `"/spaces/1/envs/1/cols/1/items/1"`,
},
{
name: "RevisionID",
id: ID{Descriptor: &RevisionID{RevisionID: "1", ItemID: ItemID{ItemID: "1", CollectionID: CollectionID{CollectionID: "1", EnvironmentID: EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}}}},
want: `"/spaces/1/envs/1/cols/1/items/1/revs/1"`,