mirror of
https://github.com/oxen-io/session-android.git
synced 2025-12-31 11:06:13 +00:00
refactor: move test functions to automation and storage utilities, add compose component activity dependency and create group fragment content descriptions, add compose only testing for create group logic, update protos to match latest for chunk 2
This commit is contained in:
@@ -702,4 +702,51 @@ class InstrumentedTests {
|
||||
assertThat(groupInfo.getDescription(), equalTo("This is a test group"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testGroupKeyConfig() {
|
||||
val (userPubKey, userSecret) = keyPair
|
||||
val groupConfig = UserGroupsConfig.newInstance(userSecret)
|
||||
val group = groupConfig.createGroup()
|
||||
groupConfig.set(group)
|
||||
val groupInfo = GroupInfoConfig.newInstance(group.groupSessionId.pubKeyBytes, group.signingKey())
|
||||
groupInfo.setName("test")
|
||||
val groupMembers = GroupMembersConfig.newInstance(group.groupSessionId.pubKeyBytes, group.signingKey())
|
||||
groupMembers.set(
|
||||
GroupMember(
|
||||
sessionId = SessionId(IdPrefix.STANDARD, Sodium.ed25519PkToCurve25519(userPubKey)).hexString(),
|
||||
name = "admin",
|
||||
admin = true
|
||||
)
|
||||
)
|
||||
val membersDump = groupMembers.dump()
|
||||
val infoDump = groupInfo.dump()
|
||||
|
||||
val ourKeyConfig = GroupKeysConfig.newInstance(
|
||||
userSecret,
|
||||
group.groupSessionId.pubKeyBytes,
|
||||
group.signingKey(),
|
||||
info = groupInfo,
|
||||
members = groupMembers
|
||||
)
|
||||
|
||||
assertThat(ourKeyConfig.needsRekey(), equalTo(false))
|
||||
val pushed = ourKeyConfig.pendingConfig()!!
|
||||
val messageTimestamp = System.currentTimeMillis()
|
||||
ourKeyConfig.loadKey(pushed, "testabc", messageTimestamp, groupInfo, groupMembers)
|
||||
assertThat(ourKeyConfig.needsDump(), equalTo(true))
|
||||
ourKeyConfig.dump()
|
||||
assertThat(ourKeyConfig.needsRekey(), equalTo(false))
|
||||
val mergeInfo = GroupInfoConfig.newInstance(group.groupSessionId.pubKeyBytes, group.signingKey(), infoDump)
|
||||
val mergeMembers = GroupMembersConfig.newInstance(group.groupSessionId.pubKeyBytes, group.signingKey(), membersDump)
|
||||
val mergeConfig = GroupKeysConfig.newInstance(userSecret, group.groupSessionId.pubKeyBytes, group.signingKey(), info = mergeInfo, members = mergeMembers)
|
||||
mergeConfig.loadKey(pushed, "testabc", messageTimestamp, mergeInfo, mergeMembers)
|
||||
assertThat(mergeConfig.needsRekey(), equalTo(false))
|
||||
assertThat(mergeConfig.keys().size, equalTo(1))
|
||||
assertThat(ourKeyConfig.keys().size, equalTo(1))
|
||||
assertThat(mergeConfig.keys().first(), equalTo(ourKeyConfig.keys().first()))
|
||||
assertThat(ourKeyConfig.groupKeys().size, equalTo(1))
|
||||
assertThat(mergeConfig.groupKeys().size, equalTo(1))
|
||||
assertThat(ourKeyConfig.groupKeys().first(), equalTo(mergeConfig.groupKeys().first()))
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user