Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tigase/tigase-tts-ng
(M) Tigase TTS-NG
https://github.com/tigase/tigase-tts-ng
java tigase-xmpp-server tts-ng xmpp
Last synced: about 2 months ago
JSON representation
(M) Tigase TTS-NG
- Host: GitHub
- URL: https://github.com/tigase/tigase-tts-ng
- Owner: tigase
- License: agpl-3.0
- Created: 2019-05-22T15:27:47.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-08-14T10:24:28.000Z (5 months ago)
- Last Synced: 2024-08-14T12:02:03.954Z (5 months ago)
- Topics: java, tigase-xmpp-server, tts-ng, xmpp
- Language: Java
- Homepage:
- Size: 1.46 MB
- Stars: 3
- Watchers: 7
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: COPYING
Awesome Lists containing this project
README
![Tigase Monitor screenshot](assets/images/tigase-tts-ng.png)
![Tigase Logo](assets/images/tigase-logo.png) ![Build Status](https://tc.tigase.net/app/rest/builds/buildType:(id:TigaseTtsNg_Build)/statusIcon)
# Tigase TTS-NG
XMPP funcional test framework with sizeable suite of tests based on the [jaxmpp2](https://github.com/tigaseinc/jaxmpp) and TestNG framework as a successor of [tigase-testsuite](https://github.com/tigaseinc/tigase-testsuite)
Current results for Tigase XMPP Server can be found on our pages: [Stable](https://build.tigase.net/tests-results/tts-ng/) and [Snapshot](https://build.tigase.net/nightlies/tts-ng-tests/) releases
# Features
* Over 200 funcional XMPP tests:
* Core XMPP
* MultiUserChat
* PubSub
* MAM
* Easy, automatic operation
* Easy way to add more tests
* (Optional) Downloading latest release of Tigase XMPP Server
* (Optional) Automatic preparaion of the database, supports:
* MySQL
* PostgreSQL
* Derby
* MongoDB
* MS SQL Server# How to Start
## Running
The whole suite execution can be handled via `$ ./scripts/tests-runner.sh` shell script. Executing it without any parameters will yield help:
```bash
$ ./scripts/tests-runner.sh
Run selected or all tests for defined server
----
--all-tests [(database)] :: Run all available tests
(database) is an array, if database is missing tests will be run against all configured ones
possible values: derby, mysql, postgresql, sqlserver, mongodb
--custom [(database)] :: Run defined test, accepts wildcards, eg.:
--custom tigase.tests.util.RetrieveVersion
--help :: print this help
----
Special parameters only at the beginning of the parameters list
--debug|-d Turns on debug mode
--skip-rebuild-tts|-srb Turns off rebuilding TTS-NG and only runs already build tests
--skip-summary-page-get|-sp Turns off automatic generation of Summary Page
--download-latest|-dl Turns on downloading latest Tigase Server release
--reload-db|-db Turns on reloading database
--start-server|-serv Turns on starting Tigase server
-----------
Other possible parameters are in following order:
[server-dir] [server-ip]
```You should copy `scripts/tests-runner-settings.dist.sh` to `scripts/tests-runner-settings.sh` and adjust settings before running.
## Adding new tests
The easiest way to add new test is to extend `tigase.tests.AbstractTest` ([AbstractTest.java](https://github.com/tigaseinc/tigase-tts-ng/blob/master/src/test/java/tigase/tests/AbstractTest.java)), take a look at [ExampleJaxmppTest.java](https://github.com/tigaseinc/tigase-tts-ng/blob/master/src/test/java/tigase/tests/ExampleJaxmppTest.java) to get general idea:
```java
package tigase.tests;import org.testng.annotations.Test;
import tigase.jaxmpp.j2se.Jaxmpp;
import tigase.tests.utils.Account;import static org.testng.Assert.assertTrue;
import static tigase.TestLogger.log;public class ExampleJaxmppTest
extends AbstractTest {@Test(groups = {"examples"}, description = "Simple test verifying logging in by the user")
public void SimpleLoginTest() {try {
log("This is test case");Jaxmpp contact = getAdminAccount().createJaxmpp().setConnected(true).build();
assertTrue(contact.isConnected(), "contact was not connected");
if (contact.isConnected()) {
contact.disconnect();
}Account createUserAccount = createAccount().setLogPrefix("test_user").build();
Jaxmpp createJaxmpp = createUserAccount.createJaxmpp().build();
createJaxmpp.login(true);assertTrue(createJaxmpp.isConnected(), "contact was not connected");
} catch (Exception e) {
fail(e);
}
}
}
```# Support
When looking for support, please first search for answers to your question in the available online channels:
* Our online documentation: [Tigase TTS-NG Docs](https://docs.tigase.net/tigase-tts-ng/master-snapshot/Tigase_TTS-NG_Guide/html/)
* Our online forums: [Tigase Forums](https://help.tigase.net/portal/community)
* Our online Knowledge Base [Tigase KB](https://help.tigase.net/portal/kb)If you didn't find an answer in the resources above, feel free to submit your question to either our
[community portal](https://help.tigase.net/portal/community) or open a [support ticket](https://help.tigase.net/portal/newticket)# Compilation
It's a Maven project therefore after cloning the repository you can easily build it with:
```bash
mvn -Pdist clean install
```# License
Official Tigase repository is available at: https://github.com/tigase/tigase-tts-ng/.
Copyright (c) 2004 Tigase, Inc.
Licensed under AGPL License Version 3. Other licensing options available upon request.