Skip to content

Commit 4bd931b

Browse files
committed
Some work on integration test and correct parser element in provider
1 parent 1ae1ece commit 4bd931b

File tree

3 files changed

+43
-12
lines changed

3 files changed

+43
-12
lines changed

smack-extensions/src/main/java/org/jivesoftware/smackx/caps2/element/Caps2Element.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public String getElementName() {
5151
}
5252

5353
@Override
54-
public CharSequence toXML(XmlEnvironment xmlEnvironment) {
54+
public XmlStringBuilder toXML(XmlEnvironment xmlEnvironment) {
5555
XmlStringBuilder xml = new XmlStringBuilder(this, xmlEnvironment);
5656
xml.rightAngleBracket();
5757

@@ -88,7 +88,7 @@ public String getElementName() {
8888
}
8989

9090
@Override
91-
public CharSequence toXML(XmlEnvironment xmlEnvironment) {
91+
public XmlStringBuilder toXML(XmlEnvironment xmlEnvironment) {
9292
XmlStringBuilder xml = new XmlStringBuilder(this, xmlEnvironment);
9393
xml.attribute("algo", algorithm);
9494
xml.rightAngleBracket();

smack-extensions/src/main/resources/org.jivesoftware.smack.extensions/extensions.providers

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -542,7 +542,7 @@
542542

543543
<!-- XEP-0390: Entity Capabilities 2.0 -->
544544
<extensionProvider>
545-
<elementName>Caps2Element</elementName>
545+
<elementName>c</elementName>
546546
<namespace>urn:xmpp:caps</namespace>
547547
<className>org.jivesoftware.smackx.caps2.provider.Caps2Provider</className>
548548
</extensionProvider>

smack-integration-test/src/main/java/org/jivesoftware/smackx/caps2/EntityCaps2IntegrationTest.java

Lines changed: 40 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,12 @@
2424
import org.jivesoftware.smack.SmackException.NoResponseException;
2525
import org.jivesoftware.smack.SmackException.NotConnectedException;
2626
import org.jivesoftware.smack.SmackException.NotLoggedInException;
27+
import org.jivesoftware.smack.StanzaListener;
2728
import org.jivesoftware.smack.XMPPException.XMPPErrorException;
29+
import org.jivesoftware.smack.filter.StanzaFilter;
30+
import org.jivesoftware.smack.packet.Presence;
31+
import org.jivesoftware.smack.packet.Stanza;
32+
import org.jivesoftware.smackx.caps2.element.Caps2Element;
2833
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager;
2934

3035
import org.igniterealtime.smack.inttest.AbstractSmackIntegrationTest;
@@ -33,21 +38,54 @@
3338
import org.igniterealtime.smack.inttest.annotations.BeforeClass;
3439
import org.igniterealtime.smack.inttest.annotations.SmackIntegrationTest;
3540
import org.igniterealtime.smack.inttest.util.IntegrationTestRosterUtil;
41+
import org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint;
3642

3743
public class EntityCaps2IntegrationTest extends AbstractSmackIntegrationTest {
3844

3945
@SuppressWarnings("unused")
4046
private final Caps2Manager caps2Man1;
47+
4148
@SuppressWarnings("unused")
42-
private final ServiceDiscoveryManager sdm1;
49+
private final ServiceDiscoveryManager sdm2;
4350

4451
private final Set<String> dummyFeatures = new HashSet<>();
4552
private final AtomicInteger dummyFeatureId = new AtomicInteger();
4653

4754
public EntityCaps2IntegrationTest(SmackIntegrationTestEnvironment environment) {
4855
super(environment);
4956
caps2Man1 = Caps2Manager.getInstanceFor(environment.conOne);
50-
sdm1 = ServiceDiscoveryManager.getInstanceFor(conOne);
57+
sdm2 = ServiceDiscoveryManager.getInstanceFor(conTwo);
58+
}
59+
60+
@SmackIntegrationTest
61+
public void getEntityCapability() throws Exception {
62+
final SimpleResultSyncPoint entityCaps2Received = new SimpleResultSyncPoint();
63+
64+
StanzaListener stanzaListener = new StanzaListener() {
65+
@Override
66+
public void processStanza(Stanza packet) throws NotConnectedException, InterruptedException, NotLoggedInException {
67+
Presence presence = (Presence) packet;
68+
if (presence.hasExtension(Caps2Element.class)) {
69+
Logger.getAnonymousLogger().info("\n\n\n adiaholic caps2Element : " + packet.toXML());
70+
entityCaps2Received.signal();
71+
}
72+
}
73+
};
74+
conTwo.addStanzaListener(stanzaListener, new StanzaFilter() {
75+
@Override
76+
public boolean accept(Stanza stanza) {
77+
if (stanza instanceof Presence) {
78+
return true;
79+
}
80+
return false;
81+
}
82+
});
83+
try {
84+
caps2Man1.publishEntityCapabilities();
85+
entityCaps2Received.waitForResult(timeout);
86+
} finally {
87+
conTwo.removeStanzaListener(stanzaListener);
88+
}
5189
}
5290

5391
@BeforeClass
@@ -67,11 +105,4 @@ private String getNewDummyFeature() {
67105
Logger.getAnonymousLogger().warning("adiaholic: dummy feature created: " + dummyFeature);
68106
return dummyFeature;
69107
}
70-
71-
@SmackIntegrationTest
72-
public void waitToPublishFeature() throws Exception {
73-
Logger.getAnonymousLogger().warning("adiaholic: publishing feature");
74-
75-
Logger.getAnonymousLogger().warning("adiaholic: feature published");
76-
}
77108
}

0 commit comments

Comments
 (0)