anchor.diff:                   {{token, "ro_admin_token"}, BucketsAll, 0},
                    {{token, "ldap_admin_token"}, BucketsAll, 0},
                    {{token, "ldap_ro_token"}, BucketsAll, 0},
  -                 {{token, "wrong_token"}, [], 0},
  +                 {{token, "wrong_token"}, require_auth, 0},
                    %% this contradicts function description:
                    {[], ["b_empty_pass","b_noauth"], 0},
                    {{"b_auth", "pwd5"}, ["b_auth"], 0},
                    {{"b_noauth", ""}, ["b_noauth"], 0},
                    {{"b_empty_pass", ""}, ["b_empty_pass"], 0},
  -                 {{"b_noauth", "pwd"}, [], 1},
  -                 {{"b_empty_pass", "pwd"}, [], 1},
  -                 {{"b_auth", "wrong"}, [], 1},
  -                 {{"wrong", "wrong"}, [], 1}
  +                 {{"b_noauth", "pwd"}, require_auth, 1},
  +                 {{"b_empty_pass", "pwd"}, require_auth, 1},
  +                 {{"b_auth", "wrong"}, require_auth, 1},
  +                 {{"wrong", "wrong"}, require_auth, 1}
                   ]].
   
   
  
positive.code: t_assert_ldap(Count) ->
      ?assertEqual([{ldap_count, Count}], ets:lookup(state, ldap_count)).
  
  t_assert_buckets(Expected, Actual) ->
      t_print_ldap_count(),
      ActualNames = [Name || {Name, _} <- Actual],
  
negative.code:     Test =
          fun ({Auth, Expected, _LdapCount}) ->
                  t_start("Filter accessible buckets. Auth = ~p", [Auth]),
                  Buckets = apply_auth_any_bucket(
                              t_new_request(Auth),
                              fun (_, NewReq) ->
                                      filter_accessible_buckets(t_sample_buckets(), NewReq)
                              end, [none]),
                  t_assert_buckets(Expected, Buckets)
                  %%t_assert_ldap(LdapCount)
          end,
  