fix_:failed test relate to old status community

This commit is contained in:
frank 2024-05-10 16:21:07 +08:00
parent 6eb40bf781
commit eb6ebade8e
5 changed files with 63 additions and 91 deletions

View File

@ -296,12 +296,11 @@ func (s *ManagerSuite) TestCreateCommunity() {
communities, err := s.manager.All()
s.Require().NoError(err)
// Consider status default community
s.Require().Len(communities, 2)
s.Require().Len(communities, 1)
actualCommunity := communities[0]
if bytes.Equal(community.ID(), communities[1].ID()) {
actualCommunity = communities[1]
if bytes.Equal(community.ID(), communities[0].ID()) {
actualCommunity = communities[0]
}
s.Require().Equal(community.ID(), actualCommunity.ID())
@ -341,8 +340,7 @@ func (s *ManagerSuite) TestCreateCommunity_WithBanner() {
communities, err := s.manager.All()
s.Require().NoError(err)
// Consider status default community
s.Require().Len(communities, 2)
s.Require().Len(communities, 1)
s.Require().Equal(len(community.config.CommunityDescription.Identity.Images), 1)
testIdentityImage, isMapContainsKey := community.config.CommunityDescription.Identity.Images[userimages.BannerIdentityName]
s.Require().True(isMapContainsKey)
@ -376,12 +374,11 @@ func (s *ManagerSuite) TestEditCommunity() {
//ensure updated community successfully stored
communities, err := s.manager.All()
s.Require().NoError(err)
// Consider status default community
s.Require().Len(communities, 2)
s.Require().Len(communities, 1)
storedCommunity := communities[0]
if bytes.Equal(community.ID(), communities[1].ID()) {
storedCommunity = communities[1]
if bytes.Equal(community.ID(), communities[0].ID()) {
storedCommunity = communities[0]
}
s.Require().Equal(storedCommunity.ID(), updatedCommunity.ID())

View File

@ -53,10 +53,9 @@ func (s *PersistenceSuite) SetupTest() {
}
func (s *PersistenceSuite) TestSaveCommunity() {
// there is one community inserted by default
communities, err := s.db.AllCommunities(&s.identity.PublicKey)
s.Require().NoError(err)
s.Require().Len(communities, 1)
s.Require().Len(communities, 0)
community := Community{
config: &Config{
@ -76,13 +75,13 @@ func (s *PersistenceSuite) TestSaveCommunity() {
communities, err = s.db.AllCommunities(&s.identity.PublicKey)
s.Require().NoError(err)
s.Require().Len(communities, 2)
s.Equal(types.HexBytes(crypto.CompressPubkey(&s.identity.PublicKey)), communities[1].ID())
s.Equal(true, communities[1].Joined())
s.Equal(true, communities[1].Spectated())
s.Equal(true, communities[1].Verified())
s.Equal(true, communities[1].Muted())
s.Equal(time.Time{}, communities[1].MuteTill())
s.Require().Len(communities, 1)
s.Equal(types.HexBytes(crypto.CompressPubkey(&s.identity.PublicKey)), communities[0].ID())
s.Equal(true, communities[0].Joined())
s.Equal(true, communities[0].Spectated())
s.Equal(true, communities[0].Verified())
s.Equal(true, communities[0].Muted())
s.Equal(time.Time{}, communities[0].MuteTill())
}
func (s *PersistenceSuite) TestShouldHandleSyncCommunity() {
@ -105,7 +104,7 @@ func (s *PersistenceSuite) TestShouldHandleSyncCommunity() {
rcrs, err := s.db.getAllCommunitiesRaw()
s.Require().NoError(err, "should have no error from getAllCommunitiesRaw")
s.Len(rcrs, 2, "length of all communities raw should be 2")
s.Len(rcrs, 1, "length of all communities raw should be 1")
// check again to see is the community should be synced
sc.Clock--

View File

@ -115,7 +115,7 @@ func setUpCommunityAndRoles(base CommunityEventsTestsInterface, role protobuf.Co
tcs2, err := base.GetControlNode().communitiesManager.All()
suite := base.GetSuite()
suite.Require().NoError(err, "eventSender.communitiesManager.All")
suite.Len(tcs2, 1, "Must have 1 community")
suite.Len(tcs2, 0, "Must have 0 community")
// ControlNode creates a community and chat
community := createTestCommunity(base, protobuf.CommunityPermissions_AUTO_ACCEPT)
@ -419,7 +419,7 @@ func setUpOnRequestCommunityAndRoles(base CommunityEventsTestsInterface, role pr
tcs2, err := base.GetControlNode().communitiesManager.All()
s := base.GetSuite()
s.Require().NoError(err, "eventSender.communitiesManager.All")
s.Len(tcs2, 1, "Must have 1 community")
s.Len(tcs2, 0, "Must have 0 community")
// control node creates a community and chat
community := createTestCommunity(base, protobuf.CommunityPermissions_MANUAL_ACCEPT)
@ -2140,7 +2140,7 @@ func testMemberReceiveRequestsToJoinAfterGettingNewRole(base CommunityEventsTest
tcs2, err := base.GetControlNode().communitiesManager.All()
s := base.GetSuite()
s.Require().NoError(err, "eventSender.communitiesManager.All")
s.Len(tcs2, 1, "Must have 1 community")
s.Len(tcs2, 0, "Must have 0 community")
// control node creates a community and chat
community := createTestCommunity(base, protobuf.CommunityPermissions_MANUAL_ACCEPT)

View File

@ -202,7 +202,7 @@ func (s *MessengerCommunitiesSuite) TestRetrieveCommunity() {
s.Require().NoError(err)
communities, err := s.alice.Communities()
s.Require().NoError(err)
s.Require().Len(communities, 2)
s.Require().Len(communities, 1)
s.Require().Len(response.Communities(), 1)
s.Require().Len(response.Messages(), 1)
s.Require().Equal(community.IDString(), response.Messages()[0].CommunityID)
@ -401,7 +401,7 @@ func (s *MessengerCommunitiesSuite) TestJoinCommunity() {
s.Require().NoError(err)
communities, err := s.alice.Communities()
s.Require().NoError(err)
s.Require().Len(communities, 2)
s.Require().Len(communities, 1)
s.Require().Len(response.Communities(), 1)
s.Require().Len(response.Messages(), 1)
s.Require().Equal(community.IDString(), response.Messages()[0].CommunityID)
@ -486,7 +486,7 @@ func (s *MessengerCommunitiesSuite) TestJoinCommunity() {
s.Require().NoError(err)
communities, err = s.alice.Communities()
s.Require().NoError(err)
s.Require().Len(communities, 2)
s.Require().Len(communities, 1)
s.Require().Len(response.Communities(), 1)
s.Require().NotNil(actualChat)
s.Require().Equal(community.IDString(), actualChat.CommunityID)
@ -895,13 +895,9 @@ func (s *MessengerCommunitiesSuite) TestRequestAccess() {
allCommunities, err := s.alice.Communities()
s.Require().NoError(err)
s.Require().Len(allCommunities, 2)
if bytes.Equal(allCommunities[0].ID(), community.ID()) {
s.Require().Equal(allCommunities[0].RequestedToJoinAt(), requestToJoin1.Clock)
} else {
s.Require().Equal(allCommunities[1].RequestedToJoinAt(), requestToJoin1.Clock)
}
s.Require().Len(allCommunities, 1)
s.Require().Equal(allCommunities[0].ID(), community.ID())
s.Require().Equal(allCommunities[0].RequestedToJoinAt(), requestToJoin1.Clock)
// pull to make sure it has been saved
requestsToJoin, err := s.alice.MyPendingRequestsToJoin()
@ -1537,13 +1533,9 @@ func (s *MessengerCommunitiesSuite) TestCancelRequestAccess() {
allCommunities, err := s.alice.Communities()
s.Require().NoError(err)
s.Require().Len(allCommunities, 2)
if bytes.Equal(allCommunities[0].ID(), community.ID()) {
s.Require().Equal(allCommunities[0].RequestedToJoinAt(), requestToJoin1.Clock)
} else {
s.Require().Equal(allCommunities[1].RequestedToJoinAt(), requestToJoin1.Clock)
}
s.Require().Len(allCommunities, 1)
s.Require().Equal(allCommunities[0].ID(), community.ID())
s.Require().Equal(allCommunities[0].RequestedToJoinAt(), requestToJoin1.Clock)
// pull to make sure it has been saved
requestsToJoin, err := s.alice.MyPendingRequestsToJoin()
@ -1699,13 +1691,9 @@ func (s *MessengerCommunitiesSuite) TestRequestAccessAgain() {
allCommunities, err := s.alice.Communities()
s.Require().NoError(err)
s.Require().Len(allCommunities, 2)
if bytes.Equal(allCommunities[0].ID(), community.ID()) {
s.Require().Equal(allCommunities[0].RequestedToJoinAt(), requestToJoin1.Clock)
} else {
s.Require().Equal(allCommunities[1].RequestedToJoinAt(), requestToJoin1.Clock)
}
s.Require().Len(allCommunities, 1)
s.Require().Equal(allCommunities[0].ID(), community.ID())
s.Require().Equal(allCommunities[0].RequestedToJoinAt(), requestToJoin1.Clock)
// pull to make sure it has been saved
requestsToJoin, err := s.alice.MyPendingRequestsToJoin()
@ -1995,13 +1983,9 @@ func (s *MessengerCommunitiesSuite) TestDeclineAccess() {
allCommunities, err := s.alice.Communities()
s.Require().NoError(err)
s.Require().Len(allCommunities, 2)
if bytes.Equal(allCommunities[0].ID(), community.ID()) {
s.Require().Equal(allCommunities[0].RequestedToJoinAt(), requestToJoin1.Clock)
} else {
s.Require().Equal(allCommunities[1].RequestedToJoinAt(), requestToJoin1.Clock)
}
s.Require().Len(allCommunities, 1)
s.Require().Equal(allCommunities[0].ID(), community.ID())
s.Require().Equal(allCommunities[0].RequestedToJoinAt(), requestToJoin1.Clock)
// Retrieve request to join
err = tt.RetryWithBackOff(func() error {
@ -2436,7 +2420,7 @@ func (s *MessengerCommunitiesSuite) createOtherDevice(m1 *Messenger) *Messenger
tcs, err := m2.communitiesManager.All()
s.Require().NoError(err, "m2.communitiesManager.All")
s.Len(tcs, 1, "Must have 1 communities")
s.Len(tcs, 0, "Must have 0 communities")
// Pair devices
metadata := &multidevice.InstallationMetadata{
@ -2616,10 +2600,10 @@ func (s *MessengerCommunitiesSuite) TestSyncCommunity() {
}
s.Require().NotNil(newCommunity)
// Check that Alice has 2 communities
// Check that Alice has 1 community
cs, err := s.alice.communitiesManager.All()
s.Require().NoError(err, "communitiesManager.All")
s.Len(cs, 2, "Must have 2 communities")
s.Len(cs, 1, "Must have 1 community")
// Wait for the message to reach its destination
err = tt.RetryWithBackOff(func() error {
@ -2641,7 +2625,7 @@ func (s *MessengerCommunitiesSuite) TestSyncCommunity() {
// Count the number of communities in their device
tcs, err := alicesOtherDevice.communitiesManager.All()
s.Require().NoError(err)
s.Len(tcs, 2, "There must be 2 communities")
s.Len(tcs, 1, "There must be 1 community")
s.logger.Debug("", zap.Any("tcs", tcs))
@ -2767,10 +2751,10 @@ func (s *MessengerCommunitiesSuite) TestSyncCommunity_RequestToJoin() {
PairDevices(&s.Suite, alicesOtherDevice, s.alice)
PairDevices(&s.Suite, s.alice, alicesOtherDevice)
// Check bob the admin has only one community
// Check bob the admin has 0 community
tcs2, err := s.bob.communitiesManager.All()
s.Require().NoError(err, "admin.communitiesManager.All")
s.Len(tcs2, 1, "Must have 1 communities")
s.Len(tcs2, 0, "Must have 0 communities")
// Bob the admin creates a community
createCommunityReq := &requests.CreateCommunity{
@ -2786,19 +2770,19 @@ func (s *MessengerCommunitiesSuite) TestSyncCommunity_RequestToJoin() {
community := mr.Communities()[0]
// Check that admin has 2 communities
// Check that admin has 1 community
acs, err := s.bob.communitiesManager.All()
s.Require().NoError(err, "communitiesManager.All")
s.Len(acs, 2, "Must have 2 communities")
s.Len(acs, 1, "Must have 1 communities")
// Check that Alice has only 1 community on either device
// Check that Alice has 0 communities on either device
cs, err := s.alice.communitiesManager.All()
s.Require().NoError(err, "communitiesManager.All")
s.Len(cs, 1, "Must have 1 communities")
s.Len(cs, 0, "Must have 0 communities")
tcs1, err := alicesOtherDevice.communitiesManager.All()
s.Require().NoError(err, "alicesOtherDevice.communitiesManager.All")
s.Len(tcs1, 1, "Must have 1 communities")
s.Len(tcs1, 0, "Must have 0 communities")
// Bob the admin opens up a 1-1 chat with alice
chat := CreateOneToOneChat(common.PubkeyToHex(&s.alice.identity.PublicKey), &s.alice.identity.PublicKey, s.alice.transport)
@ -2824,10 +2808,10 @@ func (s *MessengerCommunitiesSuite) TestSyncCommunity_RequestToJoin() {
})
s.Require().NoError(err)
// Check that alice now has 2 communities
// Check that alice now has 1 community
cs, err = s.alice.communitiesManager.All()
s.Require().NoError(err, "communitiesManager.All")
s.Len(cs, 2, "Must have 2 communities")
s.Len(cs, 1, "Must have 1 community")
for _, c := range cs {
s.False(c.Joined(), "Must not have joined the community")
}
@ -2864,13 +2848,9 @@ func (s *MessengerCommunitiesSuite) TestSyncCommunity_RequestToJoin() {
// pull all communities to make sure we set RequestedToJoinAt
allCommunities, err := s.alice.Communities()
s.Require().NoError(err)
s.Len(allCommunities, 2)
if bytes.Equal(allCommunities[0].ID(), community.ID()) {
s.Equal(allCommunities[0].RequestedToJoinAt(), aRtj.Clock)
} else {
s.Equal(allCommunities[1].RequestedToJoinAt(), aRtj.Clock)
}
s.Len(allCommunities, 1)
s.Require().Equal(allCommunities[0].ID(), community.ID())
s.Require().Equal(allCommunities[0].RequestedToJoinAt(), aRtj.Clock)
// pull to make sure it has been saved
requestsToJoin, err := s.alice.MyPendingRequestsToJoin()
@ -2976,10 +2956,10 @@ func (s *MessengerCommunitiesSuite) TestSyncCommunity_Leave() {
PairDevices(&s.Suite, alicesOtherDevice, s.alice)
PairDevices(&s.Suite, s.alice, alicesOtherDevice)
// Check bob the admin has only one community
// Check bob the admin has only zero community
tcs2, err := s.bob.communitiesManager.All()
s.Require().NoError(err, "admin.communitiesManager.All")
s.Len(tcs2, 1, "Must have 1 communities")
s.Len(tcs2, 0, "Must have 0 communities")
// Bob the admin creates a community
createCommunityReq := &requests.CreateCommunity{
@ -2995,19 +2975,19 @@ func (s *MessengerCommunitiesSuite) TestSyncCommunity_Leave() {
community := mr.Communities()[0]
// Check that admin has 2 communities
// Check that admin has 1 community
acs, err := s.bob.communitiesManager.All()
s.Require().NoError(err, "communitiesManager.All")
s.Len(acs, 2, "Must have 2 communities")
s.Len(acs, 1, "Must have 1 community")
// Check that Alice has only 1 community on either device
// Check that Alice has 0 community on either device
cs, err := s.alice.communitiesManager.All()
s.Require().NoError(err, "communitiesManager.All")
s.Len(cs, 1, "Must have 1 communities")
s.Len(cs, 0, "Must have 0 communities")
tcs1, err := alicesOtherDevice.communitiesManager.All()
s.Require().NoError(err, "alicesOtherDevice.communitiesManager.All")
s.Len(tcs1, 1, "Must have 1 communities")
s.Len(tcs1, 0, "Must have 0 communities")
// Bob the admin opens up a 1-1 chat with alice
chat := CreateOneToOneChat(common.PubkeyToHex(&s.alice.identity.PublicKey), &s.alice.identity.PublicKey, s.alice.transport)
@ -3033,10 +3013,10 @@ func (s *MessengerCommunitiesSuite) TestSyncCommunity_Leave() {
})
s.Require().NoError(err)
// Check that alice now has 2 communities
// Check that alice now has 1 community
cs, err = s.alice.communitiesManager.All()
s.Require().NoError(err, "communitiesManager.All")
s.Len(cs, 2, "Must have 2 communities")
s.Len(cs, 1, "Must have 1 community")
for _, c := range cs {
s.False(c.Joined(), "Must not have joined the community")
}
@ -3980,13 +3960,9 @@ func (s *MessengerCommunitiesSuite) TestRequestAndCancelCommunityAdminOffline()
allCommunities, err := s.alice.Communities()
s.Require().NoError(err)
s.Require().Len(allCommunities, 2)
if bytes.Equal(allCommunities[0].ID(), community.ID()) {
s.Require().Equal(allCommunities[0].RequestedToJoinAt(), requestToJoin1.Clock)
} else {
s.Require().Equal(allCommunities[1].RequestedToJoinAt(), requestToJoin1.Clock)
}
s.Require().Len(allCommunities, 1)
s.Require().Equal(allCommunities[0].ID(), community.ID())
s.Require().Equal(allCommunities[0].RequestedToJoinAt(), requestToJoin1.Clock)
// pull to make sure it has been saved
requestsToJoin, err := s.alice.MyPendingRequestsToJoin()

View File

@ -671,7 +671,7 @@ func (s *MessengerBackupSuite) TestBackupCommunities() {
// Safety check
communities, err := bob2.Communities()
s.Require().NoError(err)
s.Require().Len(communities, 1)
s.Require().Len(communities, 0)
// Wait for the message to reach its destination
_, err = WaitOnMessengerResponse(