====== Manual testing with oardocker =====
Set user:
APIUSER=docker:docker
or to get access to privileged commands
APIUSER=oar:oar
Then set the URL API:
* from outside oardocker containers
OARAPI=http://$APIUSER@localhost:46668/oarapi-priv
* from inside the oardocker frontend container
OARAPI=http://$APIUSER@localhost:6668/oarapi-priv
Example of GET request:
curl -i -X GET $OARAPI/jobs/1/details.json
or
curl -i -X GET $OARAPI/jobs/1/details -H'Content-Type: application/json'
Example of POST request:
curl -i -X POST $OARAPI/jobs/1.json -d '{"method":"delete"}'
or
curl -i -X POST $OARAPI/jobs/1 -H'Content-Type: application/json' -d '{"method":"delete"}'
====== Rspec tests in oardocker ======
Supposing you installed oar-docker, launching the API tests is as simple as:
cd ~/src/oar
oardocker init -e jessie
oardocker build install . start -v $PWD:/home/docker/oar
oardocker connect frontend
cd oar/tests/rspec
# workaround for bad apache init
systemctl restart oardocker-apache.service
make APIURI=http://docker:docker@localhost:6668/oarapi-priv/
WARNING: for the Rspec tests to success, OAR must have at least 4 * 2 cores.
====== Rspec tests in oar-vagrant ======
Follow the instructions from the [[oar-vagrant]] page. Set up a 2 nodes cluster with:
OARVAGRANT_NODES_COUNT=2 vagrant up
===== Connection =====
To get root access on the VMs, you'll have to connect with the vagrant user:
vagrant ssh frontend -- -l vagrant
vagrant@frontend: /home/vagrant $ sudo su -
root@frontend: /root #
===== Debian dependencies =====
If you run a Debian appliance:
* Install dependencies on the "frontend" host:
root@frontend:~# apt-get install ruby-rspec ruby-rest-client
* If you want to run the oaradmin tests, you need to install oaradmin:
root@frontend:~# apt-get install libdbd-pg-ruby oar-admin
===== Centos dependencies =====
If you run a Centos appliance:
* Install RPM dependencies
yum install rubygems
* Install a recent ruby version, using RVM
curl -L get.rvm.io | bash -s stable
source /etc/profile.d/rvm.sh
rvm requirements
rvm install 1.9.3
rvm use 1.9.3 --default
* Install required gems
gem install rspec rest_client json
===== Running the tests =====
* Copy the test files from the OAR git repository into the current Vagrant directory:
# From your local host, inside the vagrant directory, supposing you have OAR sources into ~/git/oar:
[bzizou@bart|oar-vagrant]$ cp -a ~/git/oar/tests/rspec .
* Log on as root on the frontend, ans prepare some more resources (faking more cores)
# Copy/paste this in a root session on the frontend
oarnodesetting -s Dead -h node-2
ssh server oarremoveresource 2
oarnodesetting -a -h node-1 -p cpu=0 -p core=1 -p cpuset=0
oarnodesetting -a -h node-1 -p cpu=1 -p core=2 -p cpuset=0
oarnodesetting -a -h node-1 -p cpu=1 -p core=3 -p cpuset=0
oarnodesetting -a -h node-2 -p cpu=2 -p core=4 -p cpuset=0
oarnodesetting -a -h node-2 -p cpu=2 -p core=5 -p cpuset=0
oarnodesetting -a -h node-2 -p cpu=3 -p core=6 -p cpuset=0
oarnodesetting -a -h node-2 -p cpu=3 -p core=7 -p cpuset=0
* If you installed Ruby with RVM (centos appliance), source rvm profile, as user1:
[user1@frontend|rspec]$ source /etc/profile.d/rvm.sh
* Launch the tests from the frontend, as user1:
[user1@frontend|rspec]$ cd /vagrant/rspec
[user1@frontend|rspec]$ make APIURI=http://localhost:6668/oarapi/
**Warning!** Don't forget the trailing slash at "/localhost/oarapi/"!
* Launch the tests for resources creation, as oar (admin) - This needs oar-admin (not available as packages for Centos):
[user1@frontend|rspec]$ su -
root@frontend:~# su - oar
[oar@frontend|rspec]$ cd /vagrant/rspec
[oar@frontend|rspec]$ make resources_creation APIURI=http://localhost/oarapi/
**Warning!** Don't forget the trailing slash at "/localhost/oarapi/"!