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:
0x330a
2023-10-19 17:18:56 +11:00
parent f69e3846e3
commit e79a980f2c
12 changed files with 364 additions and 97 deletions

View File

@@ -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()))
}
}