@@ -39,7 +39,6 @@ import (
3939 "github.com/hashicorp/consul/agent/structs"
4040 tokenStore "github.com/hashicorp/consul/agent/token"
4141 "github.com/hashicorp/consul/api"
42- "github.com/hashicorp/consul/lib"
4342 "github.com/hashicorp/consul/proto/private/pbsubscribe"
4443 "github.com/hashicorp/consul/sdk/testutil"
4544 "github.com/hashicorp/consul/sdk/testutil/retry"
@@ -234,9 +233,17 @@ func (m *MockSink) Close() error {
234233// other blocking query tests reside in blockingquery_test.go in the blockingquery package.
235234func TestServer_blockingQuery (t * testing.T ) {
236235 t .Parallel ()
237- _ , s := testServerWithConfig (t )
236+ _ , s := testServerWithConfig (t , testServerACLConfig )
237+ delegate := ACLResolverTestDelegate {
238+ enabled : true ,
239+ datacenter : "dc1" ,
240+ }
241+ delegate .tokenReadFn = delegate .defaultTokenReadFn (errRPC )
242+ r := newTestACLResolver (t , & delegate , nil )
243+ s .ACLResolver = r
238244
239245 t .Run ("ResultsFilteredByACLs is reset for unauthenticated calls" , func (t * testing.T ) {
246+ // empty token
240247 opts := structs.QueryOptions {
241248 Token : "" ,
242249 }
@@ -249,24 +256,36 @@ func TestServer_blockingQuery(t *testing.T) {
249256 err := s .blockingQuery (& opts , & meta , fn )
250257 require .NoError (t , err )
251258 require .False (t , meta .ResultsFilteredByACLs , "ResultsFilteredByACLs should be reset for unauthenticated calls" )
252- })
253259
254- t .Run ("ResultsFilteredByACLs is honored for authenticated calls" , func (t * testing.T ) {
255- token , err := lib .GenerateUUID (nil )
260+ // anonymous token
261+ anonOpts := structs.QueryOptions {
262+ Token : "anonymous" , // secret id of anonymous token
263+ }
264+ var anonMeta structs.QueryMeta
265+ anonFn := func (_ memdb.WatchSet , _ * state.Store ) error {
266+ anonMeta .ResultsFilteredByACLs = true
267+ return nil
268+ }
269+
270+ err = s .blockingQuery (& anonOpts , & anonMeta , anonFn )
256271 require .NoError (t , err )
272+ require .False (t , anonMeta .ResultsFilteredByACLs , "ResultsFilteredByACLs should be reset for unauthenticated calls" )
273+ })
257274
258- opts := structs.QueryOptions {
259- Token : token ,
275+ t .Run ("ResultsFilteredByACLs is honored for authenticated calls" , func (t * testing.T ) {
276+ delegate .localTokens = true
277+ authOpts := structs.QueryOptions {
278+ Token : "authenticated" ,
260279 }
261- var meta structs.QueryMeta
262- fn := func (_ memdb.WatchSet , _ * state.Store ) error {
263- meta .ResultsFilteredByACLs = true
280+ var authMeta structs.QueryMeta
281+ authFn := func (_ memdb.WatchSet , _ * state.Store ) error {
282+ authMeta .ResultsFilteredByACLs = true
264283 return nil
265284 }
266285
267- err = s .blockingQuery (& opts , & meta , fn )
286+ err : = s .blockingQuery (& authOpts , & authMeta , authFn )
268287 require .NoError (t , err )
269- require .True (t , meta .ResultsFilteredByACLs , "ResultsFilteredByACLs should be honored for authenticated calls" )
288+ require .True (t , authMeta .ResultsFilteredByACLs , "ResultsFilteredByACLs should be honored for authenticated calls" )
270289 })
271290}
272291
0 commit comments