Skip to content
Snippets Groups Projects

ngx_http_voms_module Testing

Description

Setup and files to test the ngx_http_voms_module are contained in the t folder. The Openresty data-driven testsuite has been adopted for testing.

Test fixture setup

Proxy certificates are in the certs folder:

  • 0.pem: long-lived proxy certificate, without Attribute Certificate (AC);
  • 1.pem: long-lived proxy certificate, with an expired AC;
  • 2.pem: expired proxy certificate.

Proxy certificates are generated using VOMS client 3.3.0.

The following command is used:

VOMS_CLIENTS_JAVA_OPTIONS="-Dvoms.fake.vo=test.vo -Dvoms.fake=true -Dvoms.fake.aaCert=<path_to_cert>/voms_example.cert.pem -Dvoms.fake.aaKey=<path_to_key>/voms_example.key.pem" voms-proxy-init3 -voms test.vo -cert <path_to_test0>/test0.p12 --valid <validity>

voms_example.cert.pem and voms_example.ket.pem can be found in the certs folder.

To perform correctly the VOMS AC validation, a *.lsc or *.pem file is needed in /etc/grid-security/vomsdir, see VOMS client 3.3.0 User Guide for further details. An example of voms.example.lsc can be found in vomsdir/test.vo.

Trust-anchors (igi-test-ca.pem) are contained in the trust-anchors folder. Nginx server certificate and key (nginx_voms_example.cert.pem and nginx_voms_example_key.pem) are in the certs folder.

Running Tests

To run the tests made available in the t folder just type

prove -v 

Using the docker image provided to exploit Openresty in the Storm2 project:

cp -r t /tmp
    cd /tmp
prove -v

A copy of the t folder is needed since the prove command creates a directory servroot in t.