(d)istributed (u)nscientific (c)as (t)est
duct
is a simple command line utility to do quick smoke tests of multi-CAS nodes deployments. In particular, testing correctness of data sharing between 2
nodes by implementations of distributed ticket registries. The initial version of this program just automates a very simple scenario:
- Authenticate and issue a service ticket on one CAS node
- Validate this service ticket on the other node
If this test succeeds, then we effectively have proven that the distributed ticket registry has been set up and deployed correctly and that there are no connectivity issues between CAS nodes.
This utility requires CAS server nodes to enable REST
module: https://apereo.github.io/cas/6.1.x/protocol/REST-Protocol.html
-
Latest JDK and Groovy (always a good idea to have the latest installed)
-
2 CAS nodes with a distributed TicketRegistry configured (EhCache, Hazelcast, etc.) and REST endpoints enabled
Note: for CAS 3.5.x, the easiest way to enable REST is to install CAS REST addon
-
Download
duct.conf
and place it in/etc/duct
-
Configure
duct.conf
according to your environmentduct.conf is self-explanatory. All values are required. The base file that is included looks like this:
//All values are required. All Strings except cas.rest.connection.timeout cas { username='casuser' password='casuser' service='https://www.google.com' rest.connection.timeout=3000 //must be positive integer (milliseconds) url { node1='https://dk.example.org:8143/cas' node2='https://dk.example.org:8243/cas' } }
- Download
duct
file (for ease of invoking it, it could be placed somewhere in the user's$PATH
e.g./usr/local/bin
- Make
duct
file executable i.e.chmod 755 duct
- Download
- Make sure 2 CAS nodes that need verification are running
- Make sure that
/etc/duct/duct.conf
is properly configured - From the command line execute
./duct
or simplyduct
if it has been placed on the user's$PATH