From 6a6172c53822318653e20722467874a3f1a52d79 Mon Sep 17 00:00:00 2001 From: Leif Battermann Date: Mon, 22 Jun 2026 08:12:03 +0000 Subject: [PATCH] reproduction integration test --- integration/test/Test/Search.hs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/integration/test/Test/Search.hs b/integration/test/Test/Search.hs index 65a899179e..a098682855 100644 --- a/integration/test/Test/Search.hs +++ b/integration/test/Test/Search.hs @@ -578,6 +578,29 @@ testUserSearchable = do docs <- resp.json %. "documents" >>= asList f docs +testStealthUsersWithFederation :: App () +testStealthUsersWithFederation = do + ownDomain <- asString OwnDomain + otherDomain <- asString OtherDomain + void $ BrigI.createFedConn OwnDomain (BrigI.FedConn otherDomain "full_search" Nothing) + void $ BrigI.createFedConn OtherDomain (BrigI.FedConn ownDomain "full_search" Nothing) + + (searcher, _, _) <- createTeam OwnDomain 1 + (owner, tid, searchee : _) <- createTeam OtherDomain 2 + searcheeId <- objId searchee + let searchTerm = "stealth-federation-user" + + assertSuccess =<< GalleyI.setTeamFeatureStatus OtherDomain tid "searchVisibilityInbound" "enabled" + BrigP.putSelf searchee (def {BrigP.name = Just searchTerm}) >>= assertSuccess + BrigI.refreshIndex OtherDomain + + assertCanFind searcher searchee searchTerm OtherDomain + + BrigP.setUserSearchable owner searcheeId False >>= assertSuccess + BrigI.refreshIndex OtherDomain + + assertCannotFind searcher searchee searchTerm OtherDomain + testSuspendedUserSearch :: (HasCallStack) => App () testSuspendedUserSearch = do [searcher, searchee] <- replicateM 2 $ randomUser OwnDomain def