diff --git a/id/json_test.go b/id/json_test.go index b81650cff3b28a33b6474c665a580d5e92fcefc2..5c04331425e690cb515ea01b71326fa69b3a8ffa 100644 --- a/id/json_test.go +++ b/id/json_test.go @@ -10,74 +10,74 @@ import ( func TestID_MarshalJSON(t *testing.T) { tests := []struct { - name string - Value ID - want string + name string + ID ID + want string }{ { - name: Organization, - Value: ID{Descriptor: &OrganizationID{OrganizationID: "1"}}, - want: `"/orgs/1"`, + name: Organization, + ID: ID{Descriptor: &OrganizationID{OrganizationID: "1"}}, + want: `"/orgs/1"`, }, { - name: User, - Value: ID{Descriptor: &UserID{UserID: "1"}}, - want: `"/users/1"`, + name: User, + ID: ID{Descriptor: &UserID{UserID: "1"}}, + want: `"/users/1"`, }, { - name: Service, - Value: ID{Descriptor: &ServiceID{ServiceID: "1"}}, - want: `"/services/1"`, + name: Service, + ID: ID{Descriptor: &ServiceID{ServiceID: "1"}}, + want: `"/services/1"`, }, { - name: Space, - Value: ID{Descriptor: &SpaceID{SpaceID: "1"}}, - want: `"/spaces/1"`, + name: Space, + ID: ID{Descriptor: &SpaceID{SpaceID: "1"}}, + want: `"/spaces/1"`, }, { - name: Environment, - Value: ID{Descriptor: &EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}, - want: `"/spaces/1/envs/1"`, + name: Environment, + ID: ID{Descriptor: &EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}, + want: `"/spaces/1/envs/1"`, }, { - name: Client, - Value: ID{Descriptor: &ClientID{ClientID: "1", SpaceID: SpaceID{SpaceID: "1"}}}, - want: `"/spaces/1/clients/1"`, + name: Client, + ID: ID{Descriptor: &ClientID{ClientID: "1", SpaceID: SpaceID{SpaceID: "1"}}}, + want: `"/spaces/1/clients/1"`, }, { - name: Role, - Value: ID{Descriptor: &RoleID{RoleID: "1", SpaceID: SpaceID{SpaceID: "1"}}}, - want: `"/spaces/1/roles/1"`, + name: Role, + ID: ID{Descriptor: &RoleID{RoleID: "1", SpaceID: SpaceID{SpaceID: "1"}}}, + want: `"/spaces/1/roles/1"`, }, { - name: Collection, - Value: ID{Descriptor: &CollectionID{CollectionID: "1", EnvironmentID: EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}}, - want: `"/spaces/1/envs/1/cols/1"`, + name: Collection, + ID: ID{Descriptor: &CollectionID{CollectionID: "1", EnvironmentID: EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}}, + want: `"/spaces/1/envs/1/cols/1"`, }, { - name: Schema, - Value: ID{Descriptor: &SchemaID{SchemaID: "1", EnvironmentID: EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}}, - want: `"/spaces/1/envs/1/schema/1"`, + name: Schema, + ID: ID{Descriptor: &SchemaID{SchemaID: "1", EnvironmentID: EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}}, + want: `"/spaces/1/envs/1/schema/1"`, }, { - name: Item, - Value: 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: Item, + 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: Revision, - Value: 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"`, + name: Revision, + 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"`, }, { - name: Field, - Value: ID{Descriptor: &FieldID{FieldName: "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/fields/1"`, + name: Field, + ID: ID{Descriptor: &FieldID{FieldName: "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/fields/1"`, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - got, err := jsoniter.Marshal(&tt.Value) + got, err := jsoniter.Marshal(&tt.ID) require.NoError(t, err) assert.Equal(t, tt.want, string(got)) }) @@ -86,76 +86,76 @@ func TestID_MarshalJSON(t *testing.T) { func TestID_UnmarshalJSON(t *testing.T) { tests := []struct { - name string - Value ID - b []byte + id string + want ID + b []byte }{ { - name: Organization, - Value: ID{Descriptor: &OrganizationID{OrganizationID: "1"}}, - b: []byte(`"/orgs/1"`), + id: Organization, + want: ID{Descriptor: &OrganizationID{OrganizationID: "1"}}, + b: []byte(`"/orgs/1"`), }, { - name: User, - Value: ID{Descriptor: &UserID{UserID: "1"}}, - b: []byte(`"/users/1"`), + id: User, + want: ID{Descriptor: &UserID{UserID: "1"}}, + b: []byte(`"/users/1"`), }, { - name: Service, - Value: ID{Descriptor: &ServiceID{ServiceID: "1"}}, - b: []byte(`"/services/1"`), + id: Service, + want: ID{Descriptor: &ServiceID{ServiceID: "1"}}, + b: []byte(`"/services/1"`), }, { - name: Space, - Value: ID{Descriptor: &SpaceID{SpaceID: "1"}}, - b: []byte(`"/spaces/1"`), + id: Space, + want: ID{Descriptor: &SpaceID{SpaceID: "1"}}, + b: []byte(`"/spaces/1"`), }, { - name: Environment, - Value: ID{Descriptor: &EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}, - b: []byte(`"/spaces/1/envs/1"`), + id: Environment, + want: ID{Descriptor: &EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}, + b: []byte(`"/spaces/1/envs/1"`), }, { - name: Client, - Value: ID{Descriptor: &ClientID{ClientID: "1", SpaceID: SpaceID{SpaceID: "1"}}}, - b: []byte(`"/spaces/1/clients/1"`), + id: Client, + want: ID{Descriptor: &ClientID{ClientID: "1", SpaceID: SpaceID{SpaceID: "1"}}}, + b: []byte(`"/spaces/1/clients/1"`), }, { - name: Role, - Value: ID{Descriptor: &RoleID{RoleID: "1", SpaceID: SpaceID{SpaceID: "1"}}}, - b: []byte(`"/spaces/1/roles/1"`), + id: Role, + want: ID{Descriptor: &RoleID{RoleID: "1", SpaceID: SpaceID{SpaceID: "1"}}}, + b: []byte(`"/spaces/1/roles/1"`), }, { - name: Collection, - Value: ID{Descriptor: &CollectionID{CollectionID: "1", EnvironmentID: EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}}, - b: []byte(`"/spaces/1/envs/1/cols/1"`), + id: Collection, + want: ID{Descriptor: &CollectionID{CollectionID: "1", EnvironmentID: EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}}, + b: []byte(`"/spaces/1/envs/1/cols/1"`), }, { - name: Schema, - Value: ID{Descriptor: &SchemaID{SchemaID: "1", EnvironmentID: EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}}, - b: []byte(`"/spaces/1/envs/1/schema/1"`), + id: Schema, + want: ID{Descriptor: &SchemaID{SchemaID: "1", EnvironmentID: EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}}, + b: []byte(`"/spaces/1/envs/1/schema/1"`), }, { - name: Item, - Value: ID{Descriptor: &ItemID{ItemID: "1", CollectionID: CollectionID{CollectionID: "1", EnvironmentID: EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}}}, - b: []byte(`"/spaces/1/envs/1/cols/1/items/1"`), + id: Item, + want: ID{Descriptor: &ItemID{ItemID: "1", CollectionID: CollectionID{CollectionID: "1", EnvironmentID: EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}}}, + b: []byte(`"/spaces/1/envs/1/cols/1/items/1"`), }, { - name: Revision, - Value: ID{Descriptor: &RevisionID{RevisionID: "1", ItemID: ItemID{ItemID: "1", CollectionID: CollectionID{CollectionID: "1", EnvironmentID: EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}}}}, - b: []byte(`"/spaces/1/envs/1/cols/1/items/1/revs/1"`), + id: Revision, + want: ID{Descriptor: &RevisionID{RevisionID: "1", ItemID: ItemID{ItemID: "1", CollectionID: CollectionID{CollectionID: "1", EnvironmentID: EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}}}}, + b: []byte(`"/spaces/1/envs/1/cols/1/items/1/revs/1"`), }, { - name: Field, - Value: ID{Descriptor: &FieldID{FieldName: "1", ItemID: ItemID{ItemID: "1", CollectionID: CollectionID{CollectionID: "1", EnvironmentID: EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}}}}, - b: []byte(`"/spaces/1/envs/1/cols/1/items/1/fields/1"`), + id: Field, + want: ID{Descriptor: &FieldID{FieldName: "1", ItemID: ItemID{ItemID: "1", CollectionID: CollectionID{CollectionID: "1", EnvironmentID: EnvironmentID{EnvironmentID: "1", SpaceID: SpaceID{SpaceID: "1"}}}}}}, + b: []byte(`"/spaces/1/envs/1/cols/1/items/1/fields/1"`), }, } for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { + t.Run(tt.id, func(t *testing.T) { var i ID require.NoError(t, i.UnmarshalJSON(tt.b)) - assert.Equal(t, i, tt.Value) + assert.Equal(t, i, tt.want) }) } }