Skip to content

Commit 8d4fedd

Browse files
DifferentialOrangeoleg-jukovec
authored andcommitted
test: check crud vshard_router option encoding
1 parent 92b6ff5 commit 8d4fedd

File tree

1 file changed

+276
-0
lines changed

1 file changed

+276
-0
lines changed

crud/request_test.go

+276
Original file line numberDiff line numberDiff line change
@@ -621,3 +621,279 @@ func TestRequestsSetters(t *testing.T) {
621621
})
622622
}
623623
}
624+
625+
func TestRequestsVshardRouter(t *testing.T) {
626+
testCases := []struct {
627+
name string
628+
ref tarantool.Request
629+
target tarantool.Request
630+
}{
631+
{
632+
name: "InsertRequest",
633+
ref: tarantool.NewCall17Request("crud.insert").Args([]interface{}{
634+
validSpace,
635+
[]interface{}{},
636+
map[string]interface{}{"vshard_router": "custom_router"},
637+
}),
638+
target: crud.MakeInsertRequest(validSpace).Opts(crud.InsertOpts{
639+
VshardRouter: crud.MakeOptString("custom_router"),
640+
}),
641+
},
642+
{
643+
name: "InsertObjectRequest",
644+
ref: tarantool.NewCall17Request("crud.insert_object").Args([]interface{}{
645+
validSpace,
646+
map[string]interface{}{},
647+
map[string]interface{}{"vshard_router": "custom_router"},
648+
}),
649+
target: crud.MakeInsertObjectRequest(validSpace).Opts(crud.InsertObjectOpts{
650+
VshardRouter: crud.MakeOptString("custom_router"),
651+
}),
652+
},
653+
{
654+
name: "InsertManyRequest",
655+
ref: tarantool.NewCall17Request("crud.insert_many").Args([]interface{}{
656+
validSpace,
657+
[]interface{}{},
658+
map[string]interface{}{"vshard_router": "custom_router"},
659+
}),
660+
target: crud.MakeInsertManyRequest(validSpace).Opts(crud.InsertManyOpts{
661+
VshardRouter: crud.MakeOptString("custom_router"),
662+
}),
663+
},
664+
{
665+
name: "InsertObjectManyRequest",
666+
ref: tarantool.NewCall17Request("crud.insert_object_many").Args([]interface{}{
667+
validSpace,
668+
[]map[string]interface{}{},
669+
map[string]interface{}{"vshard_router": "custom_router"},
670+
}),
671+
target: crud.MakeInsertObjectManyRequest(validSpace).Opts(crud.InsertObjectManyOpts{
672+
VshardRouter: crud.MakeOptString("custom_router"),
673+
}),
674+
},
675+
{
676+
name: "GetRequest",
677+
ref: tarantool.NewCall17Request("crud.get").Args([]interface{}{
678+
validSpace,
679+
[]interface{}{},
680+
map[string]interface{}{"vshard_router": "custom_router"},
681+
}),
682+
target: crud.MakeGetRequest(validSpace).Opts(crud.GetOpts{
683+
VshardRouter: crud.MakeOptString("custom_router"),
684+
}),
685+
},
686+
{
687+
name: "UpdateRequest",
688+
ref: tarantool.NewCall17Request("crud.update").Args([]interface{}{
689+
validSpace,
690+
[]interface{}{},
691+
[]interface{}{},
692+
map[string]interface{}{"vshard_router": "custom_router"},
693+
}),
694+
target: crud.MakeUpdateRequest(validSpace).Opts(crud.UpdateOpts{
695+
VshardRouter: crud.MakeOptString("custom_router"),
696+
}),
697+
},
698+
{
699+
name: "DeleteRequest",
700+
ref: tarantool.NewCall17Request("crud.delete").Args([]interface{}{
701+
validSpace,
702+
[]interface{}{},
703+
map[string]interface{}{"vshard_router": "custom_router"},
704+
}),
705+
target: crud.MakeDeleteRequest(validSpace).Opts(crud.DeleteOpts{
706+
VshardRouter: crud.MakeOptString("custom_router"),
707+
}),
708+
},
709+
{
710+
name: "ReplaceRequest",
711+
ref: tarantool.NewCall17Request("crud.replace").Args([]interface{}{
712+
validSpace,
713+
[]interface{}{},
714+
map[string]interface{}{"vshard_router": "custom_router"},
715+
}),
716+
target: crud.MakeReplaceRequest(validSpace).Opts(crud.ReplaceOpts{
717+
VshardRouter: crud.MakeOptString("custom_router"),
718+
}),
719+
},
720+
{
721+
name: "ReplaceObjectRequest",
722+
ref: tarantool.NewCall17Request("crud.replace_object").Args([]interface{}{
723+
validSpace,
724+
map[string]interface{}{},
725+
map[string]interface{}{"vshard_router": "custom_router"},
726+
}),
727+
target: crud.MakeReplaceObjectRequest(validSpace).Opts(crud.ReplaceObjectOpts{
728+
VshardRouter: crud.MakeOptString("custom_router"),
729+
}),
730+
},
731+
{
732+
name: "ReplaceManyRequest",
733+
ref: tarantool.NewCall17Request("crud.replace_many").Args([]interface{}{
734+
validSpace,
735+
[]interface{}{},
736+
map[string]interface{}{"vshard_router": "custom_router"},
737+
}),
738+
target: crud.MakeReplaceManyRequest(validSpace).Opts(crud.ReplaceManyOpts{
739+
VshardRouter: crud.MakeOptString("custom_router"),
740+
}),
741+
},
742+
{
743+
name: "ReplaceObjectManyRequest",
744+
ref: tarantool.NewCall17Request("crud.replace_object_many").Args([]interface{}{
745+
validSpace,
746+
[]map[string]interface{}{},
747+
map[string]interface{}{"vshard_router": "custom_router"},
748+
}),
749+
target: crud.MakeReplaceObjectManyRequest(validSpace).Opts(crud.ReplaceObjectManyOpts{
750+
VshardRouter: crud.MakeOptString("custom_router"),
751+
}),
752+
},
753+
{
754+
name: "UpsertRequest",
755+
ref: tarantool.NewCall17Request("crud.upsert").Args([]interface{}{
756+
validSpace,
757+
[]interface{}{},
758+
[]interface{}{},
759+
map[string]interface{}{"vshard_router": "custom_router"},
760+
}),
761+
target: crud.MakeUpsertRequest(validSpace).Opts(crud.UpsertOpts{
762+
VshardRouter: crud.MakeOptString("custom_router"),
763+
}),
764+
},
765+
{
766+
name: "UpsertObjectRequest",
767+
ref: tarantool.NewCall17Request("crud.upsert_object").Args([]interface{}{
768+
validSpace,
769+
map[string]interface{}{},
770+
[]interface{}{},
771+
map[string]interface{}{"vshard_router": "custom_router"},
772+
}),
773+
target: crud.MakeUpsertObjectRequest(validSpace).Opts(crud.UpsertObjectOpts{
774+
VshardRouter: crud.MakeOptString("custom_router"),
775+
}),
776+
},
777+
{
778+
name: "UpsertManyRequest",
779+
ref: tarantool.NewCall17Request("crud.upsert_many").Args([]interface{}{
780+
validSpace,
781+
[]interface{}{},
782+
map[string]interface{}{"vshard_router": "custom_router"},
783+
}),
784+
target: crud.MakeUpsertManyRequest(validSpace).Opts(crud.UpsertManyOpts{
785+
VshardRouter: crud.MakeOptString("custom_router"),
786+
}),
787+
},
788+
{
789+
name: "UpsertObjectManyRequest",
790+
ref: tarantool.NewCall17Request("crud.upsert_object_many").Args([]interface{}{
791+
validSpace,
792+
[]interface{}{},
793+
map[string]interface{}{"vshard_router": "custom_router"},
794+
}),
795+
target: crud.MakeUpsertObjectManyRequest(validSpace).Opts(crud.UpsertObjectManyOpts{
796+
VshardRouter: crud.MakeOptString("custom_router"),
797+
}),
798+
},
799+
{
800+
name: "SelectRequest",
801+
ref: tarantool.NewCall17Request("crud.select").Args([]interface{}{
802+
validSpace,
803+
nil,
804+
map[string]interface{}{"vshard_router": "custom_router"},
805+
}),
806+
target: crud.MakeSelectRequest(validSpace).Opts(crud.SelectOpts{
807+
VshardRouter: crud.MakeOptString("custom_router"),
808+
}),
809+
},
810+
{
811+
name: "MinRequest",
812+
ref: tarantool.NewCall17Request("crud.min").Args([]interface{}{
813+
validSpace,
814+
nil,
815+
map[string]interface{}{"vshard_router": "custom_router"},
816+
}),
817+
target: crud.MakeMinRequest(validSpace).Opts(crud.MinOpts{
818+
VshardRouter: crud.MakeOptString("custom_router"),
819+
}),
820+
},
821+
{
822+
name: "MaxRequest",
823+
ref: tarantool.NewCall17Request("crud.max").Args([]interface{}{
824+
validSpace,
825+
nil,
826+
map[string]interface{}{"vshard_router": "custom_router"},
827+
}),
828+
target: crud.MakeMaxRequest(validSpace).Opts(crud.MaxOpts{
829+
VshardRouter: crud.MakeOptString("custom_router"),
830+
}),
831+
},
832+
{
833+
name: "TruncateRequest",
834+
ref: tarantool.NewCall17Request("crud.truncate").Args([]interface{}{
835+
validSpace,
836+
map[string]interface{}{"vshard_router": "custom_router"},
837+
}),
838+
target: crud.MakeTruncateRequest(validSpace).Opts(crud.TruncateOpts{
839+
VshardRouter: crud.MakeOptString("custom_router"),
840+
}),
841+
},
842+
{
843+
name: "LenRequest",
844+
ref: tarantool.NewCall17Request("crud.len").Args([]interface{}{
845+
validSpace,
846+
map[string]interface{}{"vshard_router": "custom_router"},
847+
}),
848+
target: crud.MakeLenRequest(validSpace).Opts(crud.LenOpts{
849+
VshardRouter: crud.MakeOptString("custom_router"),
850+
}),
851+
},
852+
{
853+
name: "CountRequest",
854+
ref: tarantool.NewCall17Request("crud.count").Args([]interface{}{
855+
validSpace,
856+
nil,
857+
map[string]interface{}{"vshard_router": "custom_router"},
858+
}),
859+
target: crud.MakeCountRequest(validSpace).Opts(crud.CountOpts{
860+
VshardRouter: crud.MakeOptString("custom_router"),
861+
}),
862+
},
863+
{
864+
name: "StorageInfoRequest",
865+
ref: tarantool.NewCall17Request("crud.storage_info").Args([]interface{}{
866+
map[string]interface{}{"vshard_router": "custom_router"},
867+
}),
868+
target: crud.MakeStorageInfoRequest().Opts(crud.StorageInfoOpts{
869+
VshardRouter: crud.MakeOptString("custom_router"),
870+
}),
871+
},
872+
{
873+
name: "SchemaRequest",
874+
ref: tarantool.NewCall17Request("crud.schema").Args([]interface{}{
875+
nil,
876+
map[string]interface{}{"vshard_router": "custom_router"},
877+
}),
878+
target: crud.MakeSchemaRequest().Opts(crud.SchemaOpts{
879+
VshardRouter: crud.MakeOptString("custom_router"),
880+
}),
881+
},
882+
{
883+
name: "SchemaRequestWithSpace",
884+
ref: tarantool.NewCall17Request("crud.schema").Args([]interface{}{
885+
validSpace,
886+
map[string]interface{}{"vshard_router": "custom_router"},
887+
}),
888+
target: crud.MakeSchemaRequest().Space(validSpace).Opts(crud.SchemaOpts{
889+
VshardRouter: crud.MakeOptString("custom_router"),
890+
}),
891+
},
892+
}
893+
894+
for _, tc := range testCases {
895+
t.Run(tc.name, func(t *testing.T) {
896+
assertBodyEqual(t, tc.ref, tc.target)
897+
})
898+
}
899+
}

0 commit comments

Comments
 (0)