mirror of
https://github.com/vanitasvitae/Smack.git
synced 2025-09-15 03:59:38 +02:00
Introduce CapsVersionAndHash
Entity Capability versions are useless without the information which hash algorithm was used to calculate those. Right now, only 'sha-1' is used, but this may change in the feature. This commit makes the first steps preparing for such a feature. Also fixes a minor bug: - CAPS_CACHE.put(currentCapsVersion, discoverInfo); currentCapsVersion is not a valid key for the cache, as it does cache "node + '#' + ver" to disco infos.
This commit is contained in:
parent
96f8bee78e
commit
5dd97a363c
3 changed files with 73 additions and 23 deletions
|
@ -27,6 +27,7 @@ import java.util.LinkedList;
|
|||
|
||||
import org.jivesoftware.smack.packet.IQ;
|
||||
import org.jivesoftware.smack.test.util.SmackTestSuite;
|
||||
import org.jivesoftware.smack.util.StringUtils;
|
||||
import org.jivesoftware.smack.util.stringencoder.Base32;
|
||||
import org.jivesoftware.smack.util.stringencoder.StringEncoder;
|
||||
import org.jivesoftware.smackx.InitExtensions;
|
||||
|
@ -54,8 +55,8 @@ public class EntityCapsManagerTest extends InitExtensions {
|
|||
public void testComplexGenerationExample() {
|
||||
DiscoverInfo di = createComplexSamplePacket();
|
||||
|
||||
String ver = EntityCapsManager.generateVerificationString(di, "sha-1");
|
||||
assertEquals("q07IKJEyjvHSyhy//CH0CxmKi8w=", ver);
|
||||
CapsVersionAndHash versionAndHash = EntityCapsManager.generateVerificationString(di, StringUtils.SHA1);
|
||||
assertEquals("q07IKJEyjvHSyhy//CH0CxmKi8w=", versionAndHash.version);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -82,7 +83,8 @@ public class EntityCapsManagerTest extends InitExtensions {
|
|||
EntityCapsManager.setPersistentCache(cache);
|
||||
|
||||
DiscoverInfo di = createComplexSamplePacket();
|
||||
String nodeVer = di.getNode() + "#" + EntityCapsManager.generateVerificationString(di, "sha-1");
|
||||
CapsVersionAndHash versionAndHash = EntityCapsManager.generateVerificationString(di, StringUtils.SHA1);
|
||||
String nodeVer = di.getNode() + "#" + versionAndHash.version;
|
||||
|
||||
// Save the data in EntityCapsManager
|
||||
EntityCapsManager.addDiscoverInfoByNode(nodeVer, di);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue