diff --git a/app/build.gradle b/app/build.gradle index 684f322831..7b18b1cb7f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -365,6 +365,7 @@ dependencies { testImplementation "org.mockito.kotlin:mockito-kotlin:$mockitoKotlinVersion" testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutines_version" + testImplementation 'org.junit.vintage:junit-vintage-engine:5.10.0' } tasks.register('installGitHooks', Copy) { diff --git a/app/src/test/java/com/nextcloud/talk/utils/ParticipantPermissionsTest.kt b/app/src/test/java/com/nextcloud/talk/utils/ParticipantPermissionsTest.kt index 2b4ab0b395..0e39963f71 100644 --- a/app/src/test/java/com/nextcloud/talk/utils/ParticipantPermissionsTest.kt +++ b/app/src/test/java/com/nextcloud/talk/utils/ParticipantPermissionsTest.kt @@ -7,8 +7,12 @@ */ package com.nextcloud.talk.utils +import com.nextcloud.talk.data.user.model.User +import com.nextcloud.talk.models.domain.ConversationModel import com.nextcloud.talk.models.json.capabilities.SpreedCapability import com.nextcloud.talk.models.json.conversations.Conversation +import com.nextcloud.talk.models.json.conversations.ConversationEnums +import com.nextcloud.talk.models.json.participants.Participant import junit.framework.TestCase import org.junit.Test @@ -17,15 +21,64 @@ class ParticipantPermissionsTest : TestCase() { @Test fun test_areFlagsSet() { val spreedCapability = SpreedCapability() - val conversation = Conversation(null, null) + val conversation = Conversation( + token = "test", + name = "test", + displayName = "test", + description = "test", + type = ConversationEnums.ConversationType.DUMMY, + lastPing = 1, + participantType = Participant.ParticipantType.DUMMY, + hasPassword = true, + sessionId = "test", + actorId = "test", + actorType = "test", + password = "test", + favorite = false, + lastActivity = 1, + unreadMessages = 1, + unreadMention = false, + lastMessage = null, + objectType = ConversationEnums.ObjectType.DEFAULT, + notificationLevel = ConversationEnums.NotificationLevel.ALWAYS, + conversationReadOnlyState = ConversationEnums.ConversationReadOnlyState.CONVERSATION_READ_WRITE, + lobbyState = ConversationEnums.LobbyState.LOBBY_STATE_ALL_PARTICIPANTS, + lobbyTimer = 1, + lastReadMessage = 1, + lastCommonReadMessage = 1, + hasCall = true, + callFlag = 1, + canStartCall = false, + canLeaveConversation = true, + canDeleteConversation = true, + unreadMentionDirect = true, + notificationCalls = 1, + permissions = 1, + messageExpiration = 1, + status = "test", + statusIcon = "test", + statusMessage = "test", + statusClearAt = 1, + callRecording = 1, + avatarVersion = "test", + hasCustomAvatar = true, + callStartTime = 1, + recordingConsentRequired = 1, + remoteServer = "", + remoteToken = "" + ) + conversation.permissions = ParticipantPermissions.PUBLISH_SCREEN or ParticipantPermissions.JOIN_CALL or ParticipantPermissions.DEFAULT + val user = User() + user.id = 1 + val attendeePermissions = ParticipantPermissions( spreedCapability, - conversation + ConversationModel.mapToConversationModel(conversation, user) ) assert(attendeePermissions.canPublishScreen) diff --git a/gradle/verification-keyring.keys b/gradle/verification-keyring.keys index b74caf80be..077e6250e5 100644 --- a/gradle/verification-keyring.keys +++ b/gradle/verification-keyring.keys @@ -387,6 +387,60 @@ HdZk2xusuOEx27cIovRPHwvLcgY+4u3j =oNWb -----END PGP PUBLIC KEY BLOCK----- +pub 928B20E9AD5298CC +sub 0AA3E5C3D232E79B +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v@RELEASE_NAME@ + +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 +=Y1uz +-----END PGP PUBLIC KEY BLOCK----- + pub 928FBF39003C0425 uid Spring Builds (JAR Signing) @@ -1272,6 +1326,48 @@ IprKXtD8103BdNqrPJev2azwqWwxFpN83tEPbK4SwWPgk1nSELXZZ5ClcDgqatg+ =uOQ4 -----END PGP PUBLIC KEY BLOCK----- +pub B943F5CB616566CD +sub D73B23600E60600B +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v@RELEASE_NAME@ + +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 +=bif8 +-----END PGP PUBLIC KEY BLOCK----- + pub BCF4173966770193 sub C9F04E6E2DC4F7F8 -----BEGIN PGP PUBLIC KEY BLOCK----- @@ -1844,6 +1940,51 @@ ikmfPIGVw73RF3HXjJ8GVqTkqbo4ZpgTw/7Z3+fAYE/vxquhnpl2HvE= =5tlI -----END PGP PUBLIC KEY BLOCK----- +pub D4DA5EAB3CD7E958 +uid Jiaxiang Chen + +sub D826E3935EE9DC71 +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v@RELEASE_NAME@ + +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 +=Jp6+ +-----END PGP PUBLIC KEY BLOCK----- + pub D9B2BC72A3754BEA uid Lukasz Piliszczuk @@ -3733,6 +3874,19 @@ VZTvAGH69TDqVvdmLsKhtQidSFbes+7ku5tM61P6ggfv5FJQgQk7WEQ= =k4Pb -----END PGP PUBLIC KEY BLOCK----- +pub 23778689FBFBE047 +sub 40D34E692FCBA56E +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v@RELEASE_NAME@ + +mDMEZXgxpxYJKwYBBAHaRw8BAQdAbIycVyFgMJnhB7aqYPz+dU9MIlsok/qclCuI +IsilKgS4OARleDGnEgorBgEEAZdVAQUBAQdA3w+8KkqAyic6PWfjlTbhe1upf6Rr +Qt0Dqns3NoQYoU0DAQgHiHgEGBYKACAWIQSxcTbQYVNVgQHbffcjd4aJ+/vgRwUC +ZXgxpwIbDAAKCRAjd4aJ+/vgR/CkAQD79gNi5NkEtK8jqYIYc4HJyHx8LuNov7Wh +A5u9ZhIgTwEAhjiQCoCjYE/F9u0Y8fQrlalxahFEfM+qf31PB6fF7Qw= +=60bi +-----END PGP PUBLIC KEY BLOCK----- + pub 280D66A55F5316C5 -----BEGIN PGP PUBLIC KEY BLOCK----- Version: BCPG v@RELEASE_NAME@ diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index e89bbbfc87..a8c113c872 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -36,6 +36,7 @@ +