Commit Graph

241 Commits

Author SHA1 Message Date
Florian Schmaus f1e24e2273 Rework Roster's SubscribeListener
allow multiple of them to be installed, instead of at most one. Fixes
deadlock in LowLevelRosterIntegration test because
IoTProvisioningManager's SubscribeListener would not come up with a
decission.
2016-07-31 14:50:59 +02:00
Florian Schmaus 8810f17460 Allow empty username/passwords in integration test 2016-07-31 14:50:59 +02:00
Florian Schmaus aeb385a022 Apply refinements and fixes to the MAM code
SMACK-625.
2016-07-23 15:45:45 +02:00
Fernando Ramirez 189cac072b Implement Message Archive Management (MAM) XEP-0313
Fixes SMACK-625
2016-07-23 12:45:14 +02:00
Florian Schmaus b91978dcc4 Add (partial) support for IoT XEPs
That is XEP-0323, -0324, -0325, and -0347.

SMACK-727.
2016-07-21 08:51:11 +02:00
Florian Schmaus d07ed60737 Add support for "Caps Optimizations"
Smack's previous entity caps implementation assumed that an entity lost
its entity caps feature as soon as a presence without caps from that
entity was received. But according to XEP-0115 § 8.4, this is a
perfectly normal optimization technique. We now reset the caps state
after an available presence becomes unavailable.

Also introduce PresenceEventListener, which is required for this
feature.

Also make Roster.preApprove() take a BareJid as argument.

Fixes SMACK-723.
2016-06-30 17:01:46 +02:00
Florian Schmaus 4248fbbb89 Use lowercase chars in integration testRunId 2016-06-29 08:08:13 +02:00
Florian Schmaus 4c18814b12 sinttest: Throw exception if service is not set 2016-06-08 23:05:44 +02:00
Florian Schmaus 92968e1630 Use java-pinning-java7 for the integration tests
to avoid "Certificates does not conform to algorithm constraints" when
using certain cert chains (e.g CACert).
2016-04-14 22:59:22 +02:00
Florian Schmaus 0d47e65c96 Remove unnecessary code to enable stream mangement
it is now enabled per default. See also
57838f1ffe and SMACK-655.
2016-01-10 19:44:33 +01:00
Florian Schmaus 658a671cbe Make StringUtils.randomString(int) use SecureRandom 2016-01-10 18:21:46 +01:00
Florian Schmaus d728204890 Add errorprone check and fix found errors
Adds gradle-errorprone-plugin 0.0.8, requires Gradle 2.6.
2015-09-13 18:12:33 +02:00
Florian Schmaus 7b1b20a13c Use Localpart in AccountManager 2015-08-20 19:01:33 +02:00
Florian Schmaus d49fadd466 Log integeration testType also 2015-06-13 19:23:36 +02:00
Florian Schmaus ffea35282c Don't make NotConnectedException fatal
If such an exception ever happes when running a integration, then the
framework should not abort, but instead log the exception so that other
information is also logged.
2015-06-09 22:16:41 +02:00
Florian Schmaus b9782aa6bc Handle junit's AssertionError in integration tests 2015-06-09 22:16:23 +02:00
Florian Schmaus bad52fad21 Deprecate setServiceName in favor of setXmppDomain 2015-06-08 14:42:05 +02:00
Florian Schmaus 58402c5615 Bump jxmpp to 0.5.0-alpha5 and change Roster API
to only allow bare JIDs as roster entires.
2015-06-06 11:16:12 +02:00
Florian Schmaus c125a3b055 Bump jxmpp to 0.5.0-alpha4 2015-05-27 19:29:51 +02:00
Florian Schmaus 8840236b72 Gracefully disconnect XMPPTCPConnection
That is, wait with a timeout for a closing stream element if we have
sent a closing stream element to the server. See RFC 6120 § 4.4.

Fixes SMACK-633.
2015-05-27 17:36:04 +02:00
Florian Schmaus 2365c4c208 Add Roster.addSubscribeListener()
Remove unnecessary 'Unsubscribe' case in Roster: It is not required to
acknowledge these.
2015-05-21 22:41:21 +02:00
Florian Schmaus f369a009ac Rename 'serviceName' to 'xmppServiceDomain'
Also use 'null' as default value for the resource, to enforce server
generated resources.

Fixes Smack-665
2015-05-19 09:26:59 +02:00
Florian Schmaus 001e824fb9 Improve PubSub API
Use Manager pattern for PubSubManager.

Also improve the API of ServiceDiscoverManager.
2015-05-12 17:56:06 +02:00
Florian Schmaus 51700400bc Remove never-thrown exception declarations 2015-04-25 22:46:56 +02:00
Florian Schmaus c7454ce968 Remove unnecessary cast 2015-04-24 21:33:23 +02:00
Florian Schmaus 221b81a627 Delete accounts created by LowLevelIntegrationTest performCheck()
those where created but not deleted.
2015-04-24 21:33:20 +02:00
Florian Schmaus 00a7556bfe Fix StreamManagementTest in smack-integration
Since 6c637d5784 connect() does not longer
automatically perform a login.

Also verify the message bodies in the test.
2015-04-22 22:45:15 +02:00
Florian Schmaus 0efdc4018f Use XMPPConnection.toString() in SmackIntegrationTestFramework 2015-04-22 22:31:58 +02:00
Florian Schmaus 7c3f4b7129 Add AbstractXMPPConnection.toString() 2015-04-22 09:28:30 +02:00
Florian Schmaus bfb3f5cd95 Retry to delete integration test accounts
in the the connection was terminated because of an error, try to
re-establish the connection when trying to delete the account.
2015-04-22 09:23:22 +02:00
Florian Schmaus f274581c27 Add MucBookmarkAutojoinManager
Also add MucConfigFormManager and improve the MUC API (SMACK-648). Bump
to jxmpp 0.5.0-alpha3.

Improve and extend PrivateDataManager and BookmarkManager.
2015-04-21 19:31:10 +02:00
Florian Schmaus b4694ec152 Add FinalClass checkstyle check
And mark affected classes final.
2015-04-06 10:45:12 +02:00
Florian Schmaus 38dc59eb8e Fix assert in TestResult
sometimes the unit test where failing because the assert '>' didn't
hold. Use '>=' instead now.
2015-04-05 10:49:14 +02:00
Florian Schmaus 0a6ac76447 Remove package-info.java from test packages
as otherwhise eclipse will complain "The type package-info is already
defined".
2015-04-05 10:48:00 +02:00
Florian Schmaus 328da5a7e2 Throw IAE on wrong signature (after|before)Class methods
as otherwhise the reflective invokation will eventually throw an
Exception like

Exception in thread "main" java.lang.NullPointerException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.igniterealtime.smack.inttest.SmackIntegrationTestFramework.runTests(SmackIntegrationTestFramework.java:412)
	at org.igniterealtime.smack.inttest.SmackIntegrationTestFramework.run(SmackIntegrationTestFramework.java:163)
	at org.igniterealtime.smack.inttest.SmackIntegrationTestFramework.main(SmackIntegrationTestFramework.java:89)
:smack-integration-test:run FAILED
2015-04-04 17:38:00 +02:00
stawny 75e35e8db6 Fix for getting after method 2015-04-04 17:31:14 +02:00
stawny 9d0ea3cf70 Resurrect integration tests: Chat Test 2015-04-04 17:19:31 +02:00
Florian Schmaus de528eee67 Add JavadocPackage checkstyle
change from package.html to package-info.java. Add missing
package-info.java with a placeholder description.
2015-04-04 17:16:47 +02:00
Florian Schmaus 7cefe63175 Don't require a properties file
when running the integration tests.
2015-03-23 21:12:13 +01:00
Florian Schmaus e1686927a2 Run the integration tests with assertions enabled 2015-03-19 22:38:07 +01:00
Florian Schmaus b8f046706b Add Integration Test Framework
and resurrect a few integration tests.
2015-03-18 11:09:56 +01:00