@@ -73,50 +73,60 @@ func (suite *UnitTestSuite) TestVersioning() {
7373 expectedFilterWithTypeBracketing := makeExpectedFilterWithTypeBracketing (partition .Key .Lower , partition .Upper )
7474 // No version given, default to no bracketing
7575 findOptions := partition .GetFindOptions (nil , nil )
76- filter := findOptions . Map ()[ "filter" ]
76+ filter := getFilterFromFindOptions ( findOptions )
7777 suite .Require ().Equal (expectedFilter , filter )
7878
7979 // 6.0 (int64)
8080 findOptions = partition .GetFindOptions (& bson.M {"versionArray" : bson.A {int64 (6 ), int64 (0 ), int64 (0 ), int64 (0 )}}, nil )
81- filter = findOptions . Map ()[ "filter" ]
81+ filter = getFilterFromFindOptions ( findOptions )
8282 suite .Require ().Equal (expectedFilter , filter )
8383
8484 // 6.0
8585 findOptions = partition .GetFindOptions (& bson.M {"versionArray" : bson.A {int32 (6 ), int32 (0 ), int32 (0 ), int32 (0 )}}, nil )
86- filter = findOptions . Map ()[ "filter" ]
86+ filter = getFilterFromFindOptions ( findOptions )
8787 suite .Require ().Equal (expectedFilter , filter )
8888
8989 // 5.3.0.9
9090 findOptions = partition .GetFindOptions (& bson.M {"versionArray" : bson.A {int32 (5 ), int32 (3 ), int32 (0 ), int32 (9 )}}, nil )
91- filter = findOptions . Map ()[ "filter" ]
91+ filter = getFilterFromFindOptions ( findOptions )
9292 suite .Require ().Equal (expectedFilter , filter )
9393
9494 // 7.1.3.5
9595 findOptions = partition .GetFindOptions (& bson.M {"versionArray" : bson.A {int32 (7 ), int32 (1 ), int32 (3 ), int32 (5 )}}, nil )
96- filter = findOptions . Map ()[ "filter" ]
96+ filter = getFilterFromFindOptions ( findOptions )
9797 suite .Require ().Equal (expectedFilter , filter )
9898
9999 // 4.4 (int64)
100100 findOptions = partition .GetFindOptions (& bson.M {"versionArray" : bson.A {int64 (4 ), int64 (4 ), int64 (0 ), int64 (0 )}}, nil )
101- filter = findOptions . Map ()[ "filter" ]
101+ filter = getFilterFromFindOptions ( findOptions )
102102 suite .Require ().Equal (expectedFilterWithTypeBracketing , filter )
103103
104104 // 4.4
105105 findOptions = partition .GetFindOptions (& bson.M {"versionArray" : bson.A {int32 (4 ), int32 (4 ), int32 (0 ), int32 (0 )}}, nil )
106- filter = findOptions . Map ()[ "filter" ]
106+ filter = getFilterFromFindOptions ( findOptions )
107107 suite .Require ().Equal (expectedFilterWithTypeBracketing , filter )
108108
109109 // 4.2
110110 findOptions = partition .GetFindOptions (& bson.M {"versionArray" : bson.A {int32 (4 ), int32 (2 ), int32 (0 ), int32 (0 )}}, nil )
111- filter = findOptions . Map ()[ "filter" ]
111+ filter = getFilterFromFindOptions ( findOptions )
112112 suite .Require ().Equal (expectedFilterWithTypeBracketing , filter )
113113
114114 // No version array -- assume old, require type bracketing.
115115 findOptions = partition .GetFindOptions (& bson.M {"notVersionArray" : bson.A {6 , int32 (0 ), int32 (0 ), int32 (0 )}}, nil )
116- filter = findOptions . Map ()[ "filter" ]
116+ filter = getFilterFromFindOptions ( findOptions )
117117 suite .Require ().Equal (expectedFilterWithTypeBracketing , filter )
118118}
119119
120+ func getFilterFromFindOptions (opts bson.D ) any {
121+ for _ , el := range opts {
122+ if el .Key == "filter" {
123+ return el .Value
124+ }
125+ }
126+
127+ return nil
128+ }
129+
120130func makeTestPartition () (Partition , bson.D ) {
121131 partition := Partition {
122132 Key : PartitionKey {
0 commit comments