From 815190be147e575f12211c468f8121e5c60e6337 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Thu, 16 Apr 2020 19:27:35 +0300 Subject: Update stuff and move pushrules to mautrix-go --- matrix/rooms/room_test.go | 237 ---------------------------------------------- 1 file changed, 237 deletions(-) delete mode 100644 matrix/rooms/room_test.go (limited to 'matrix/rooms/room_test.go') diff --git a/matrix/rooms/room_test.go b/matrix/rooms/room_test.go deleted file mode 100644 index a1fc4a4..0000000 --- a/matrix/rooms/room_test.go +++ /dev/null @@ -1,237 +0,0 @@ -// gomuks - A terminal Matrix client written in Go. -// Copyright (C) 2019 Tulir Asokan -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -package rooms_test - -import ( - "fmt" - "testing" - - "github.com/stretchr/testify/assert" - "maunium.net/go/gomuks/matrix/rooms" - "maunium.net/go/mautrix" -) - -func TestNewRoom_DefaultValues(t *testing.T) { - room := rooms.NewRoom("!test:maunium.net", "@tulir:maunium.net") - assert.Equal(t, "!test:maunium.net", room.ID) - assert.Equal(t, "@tulir:maunium.net", room.SessionUserID) - assert.Empty(t, room.GetMembers()) - assert.Equal(t, "Empty room", room.GetTitle()) - assert.Empty(t, room.GetAliases()) - assert.Empty(t, room.GetCanonicalAlias()) - assert.Empty(t, room.GetTopic()) - assert.Nil(t, room.GetMember(room.GetSessionOwner())) -} - -func TestRoom_GetCanonicalAlias(t *testing.T) { - room := rooms.NewRoom("!test:maunium.net", "@tulir:maunium.net") - room.UpdateState(&mautrix.Event{ - Type: mautrix.StateCanonicalAlias, - Content: mautrix.Content{ - Alias: "#foo:maunium.net", - }, - }) - assert.Equal(t, "#foo:maunium.net", room.GetCanonicalAlias()) -} - -func TestRoom_GetTopic(t *testing.T) { - room := rooms.NewRoom("!test:maunium.net", "@tulir:maunium.net") - room.UpdateState(&mautrix.Event{ - Type: mautrix.StateTopic, - Content: mautrix.Content{ - Topic: "test topic", - }, - }) - assert.Equal(t, "test topic", room.GetTopic()) -} - -func TestRoom_Tags_Empty(t *testing.T) { - room := rooms.NewRoom("!test:maunium.net", "@tulir:maunium.net") - assert.Empty(t, room.RawTags) - tags := room.Tags() - assert.Len(t, tags, 1) - assert.Equal(t, "", tags[0].Tag) - assert.Equal(t, "0.5", tags[0].Order) -} - -func TestRoom_Tags_NotEmpty(t *testing.T) { - room := rooms.NewRoom("!test:maunium.net", "@tulir:maunium.net") - room.RawTags = []rooms.RoomTag{{Tag: "foo", Order: "1"}, {Tag: "bar", Order: "1"}} - tags := room.Tags() - assert.Equal(t, room.RawTags, tags) -} - -func TestRoom_GetAliases(t *testing.T) { - room := rooms.NewRoom("!test:maunium.net", "@tulir:maunium.net") - addAliases(room) - - aliases := room.GetAliases() - assert.Contains(t, aliases, "#bar:maunium.net") - assert.Contains(t, aliases, "#test:maunium.net") - assert.Contains(t, aliases, "#foo:matrix.org") - assert.Contains(t, aliases, "#test:matrix.org") -} - -func addName(room *rooms.Room) { - room.UpdateState(&mautrix.Event{ - Type: mautrix.StateRoomName, - Content: mautrix.Content{ - Name: "Test room", - }, - }) -} - -func addCanonicalAlias(room *rooms.Room) { - room.UpdateState(&mautrix.Event{ - Type: mautrix.StateCanonicalAlias, - Content: mautrix.Content{ - Alias: "#foo:maunium.net", - }, - }) -} - -func addAliases(room *rooms.Room) { - server1 := "maunium.net" - room.UpdateState(&mautrix.Event{ - Type: mautrix.StateAliases, - StateKey: &server1, - Content: mautrix.Content{ - Aliases: []string{"#bar:maunium.net", "#test:maunium.net", "#foo:maunium.net"}, - }, - }) - - server2 := "matrix.org" - room.UpdateState(&mautrix.Event{ - Type: mautrix.StateAliases, - StateKey: &server2, - Content: mautrix.Content{ - Aliases: []string{"#foo:matrix.org", "#test:matrix.org"}, - }, - }) -} - -func addMembers(room *rooms.Room, count int) { - user1 := "@tulir:maunium.net" - room.UpdateState(&mautrix.Event{ - Type: mautrix.StateMember, - StateKey: &user1, - Content: mautrix.Content{ - Member: mautrix.Member{ - Displayname: "tulir", - Membership: mautrix.MembershipJoin, - }, - }, - }) - - for i := 1; i < count; i++ { - userN := fmt.Sprintf("@user_%d:matrix.org", i+1) - content := mautrix.Content{ - Member: mautrix.Member{ - Membership: mautrix.MembershipJoin, - }, - } - if i%2 == 1 { - content.Displayname = fmt.Sprintf("User #%d", i+1) - } - if i%5 == 0 { - content.Membership = mautrix.MembershipInvite - } - room.UpdateState(&mautrix.Event{ - Type: mautrix.StateMember, - StateKey: &userN, - Content: content, - }) - } -} - -func TestRoom_GetMembers(t *testing.T) { - room := rooms.NewRoom("!test:maunium.net", "@tulir:maunium.net") - addMembers(room, 6) - - members := room.GetMembers() - assert.Len(t, members, 6) -} - -func TestRoom_GetMember(t *testing.T) { - room := rooms.NewRoom("!test:maunium.net", "@tulir:maunium.net") - addMembers(room, 6) - - assert.NotNil(t, room.GetMember("@user_2:matrix.org")) - assert.NotNil(t, room.GetMember("@tulir:maunium.net")) - assert.Equal(t, "@tulir:maunium.net", room.GetSessionOwner()) -} - -func TestRoom_GetTitle_ExplicitName(t *testing.T) { - room := rooms.NewRoom("!test:maunium.net", "@tulir:maunium.net") - addMembers(room, 4) - addName(room) - addCanonicalAlias(room) - addAliases(room) - assert.Equal(t, "Test room", room.GetTitle()) -} - -func TestRoom_GetTitle_CanonicalAlias(t *testing.T) { - room := rooms.NewRoom("!test:maunium.net", "@tulir:maunium.net") - addMembers(room, 4) - addCanonicalAlias(room) - addAliases(room) - assert.Equal(t, "#foo:maunium.net", room.GetTitle()) -} - -func TestRoom_GetTitle_FirstAlias(t *testing.T) { - room := rooms.NewRoom("!test:maunium.net", "@tulir:maunium.net") - addMembers(room, 2) - addAliases(room) - assert.Equal(t, "#bar:maunium.net", room.GetTitle()) -} - -func TestRoom_GetTitle_Members_Empty(t *testing.T) { - room := rooms.NewRoom("!test:maunium.net", "@tulir:maunium.net") - addMembers(room, 1) - assert.Equal(t, "Empty room", room.GetTitle()) -} - -func TestRoom_GetTitle_Members_OneToOne(t *testing.T) { - room := rooms.NewRoom("!test:maunium.net", "@tulir:maunium.net") - addMembers(room, 2) - assert.Equal(t, "User #2", room.GetTitle()) -} - -func TestRoom_GetTitle_Members_GroupChat(t *testing.T) { - room := rooms.NewRoom("!test:maunium.net", "@tulir:maunium.net") - addMembers(room, 76) - assert.Contains(t, room.GetTitle(), " and 74 others") -} - -func TestRoom_MarkRead(t *testing.T) { - room := rooms.NewRoom("!test:maunium.net", "@tulir:maunium.net") - - room.AddUnread("foo", true, false) - assert.Equal(t, 1, room.UnreadCount()) - assert.False(t, room.Highlighted()) - - room.AddUnread("bar", true, false) - assert.Equal(t, 2, room.UnreadCount()) - assert.False(t, room.Highlighted()) - - room.AddUnread("asd", false, true) - assert.Equal(t, 2, room.UnreadCount()) - assert.True(t, room.Highlighted()) - - room.MarkRead("asd") - assert.Empty(t, room.UnreadMessages) -} -- cgit v1.2.3