Testing Area/Behat Testing/Setup
From Mahara Wiki
< Testing Area | Behat Testing
How to install Mahara and Behat
For devs instructions to install a Mahara please follow:
[1]
For Catalyst Moodle devs with a Moodle already installed please follow:
[[2]]
For everyone else please follow the steps below:
Install Apache, PHP5, Database, Git:
sudo apt-get install php5 php5-cli php5-pgsql php5-xmlrpc php5-intl php5-curl php5-gd php5-xdebug php5-dbg postgresql apache2 git curl
Restart Apache
sudo service apache2 restart
Make a mahara directory in the same place as Moodle
sudo mkdir /var/www/html/mahara
Then change into the Mahara directory cd /var/www/html/mahara
Then change the permission
sudo chown username:username /var/www/html/mahara
Get Mahara clone.
git clone https://gitorious.org/mahara/ngson2000s-mahara.git .
Checkout correct version
git checkout --track origin/behat
Become Postgres user:
sudo su postgres
Open psql.After some preamble you should see the prompt postgres=#.
psql
You should now see postgres=# ready and awaiting your command.
Create a user and don't use the PW that you use for your workstation:
CREATE USER maharauser WITH PASSWORD 'yourpassword';
As you previously did, you should see postgres=# You are now going to create a database:
CREATE DATABASE mahara WITH OWNER maharauser;
Exit to leave psql by pressing Ctrl-D
Exit back to your own user:
exit
Make a data directory:
sudo mkdir /var/www/maharadata
Make directory writeable by mahara:
sudo chmod 777 /var/www/maharadata
In the code below make sure you change <your email address> to your actual work email address, without the <> signs.
<?php $cfg = new stdClass(); $branch = 'master'; // database connection details // valid values for dbtype are 'postgres8' and 'mysql5' $cfg->dbtype = 'postgres'; $cfg->dbhost = 'localhost'; $cfg->dbuser = 'maharauser'; $cfg->dbname = "mahara"; $cfg->dbpass = 'password'; $cfg->dataroot = "/var/www/maharadata"; $cfg->sendemail = true; $cfg->sendallemailto = '<your email address>'; $cfg->productionmode = false; $cfg->perftofoot = true;
An example config.php should appear:
- Copy all of the code above
- open text editor from start menu
- paste code
- save file in the directory: /var/www/html/mahara/htdocs/ and call it config.php
- save
Behat installation with Mahara
Add these config settings to the bottom of your config.php file.
// Behat config $cfg->dbprefix = ''; // Behat complains without this $cfg->wwwroot = 'http://127.0.0.1/mahara/htdocs' $cfg->behat_dbprefix = 'behat_'; // must not empty $cfg->behat_dataroot = '/var/www/maharadata/behat'; $cfg->behat_wwwroot = 'http://localhost:8000';
Make a data directory:
sudo mkdir /var/www/maharadata/behat
Make directory writeable by mahara:
sudo chmod 777 /var/www/maharadata/behat
Initialise Behat
cd /var/www/html/mahara php test/behat/scripts/init.php
disable test site
php test/behat/scripts/util.php --disable
Go to url to install http://127.0.0.1/mahara/htdocs/admin/index.php
Click "Install Mahara" on the webpage
Click "Continue" on the webpage
You need to change the password and the email. Set the email to your work email address.
Re-enable the test site so we can run the tests
php test/behat/scripts/util.php --enable
Run the selenium server in another terminal
java -jar /path/to/your/selenium/server/selenium-server-standalone-2.NN.N.jar
Run the standalone PHP webserver
cd /var/www/html/mahara/htdocs php -S 127.0.0.1:8000
Run a test suite
cd test/behat bin/behat
This will run tests for all features in the folder test/behat/features