Actions

Difference between revisions of "Testing/Behat Testing/Setup"

From Mahara Wiki

< Testing/Behat Testing
(Behat installation with Mahara)
Line 1: Line 1:
 
<h1>How to install Mahara and Behat</h1>
 
<h1>How to install Mahara and Behat</h1>
  
{{note|These instructions for Mahara and Behat setup are only for machines running Linux. They will not for Windows machines|error}}
+
{{note|These instructions for Mahara and Behat setup are only for machines running Linux. They will not work for Windows machines|error}}
  
  
For devs instructions to install a Mahara please follow:
+
For devs instructions to install a Mahara please use [[System_Administrator%27s_Guide/Installing_Mahara]].
[https://wiki.mahara.org/index.php/System_Administrator%27s_Guide/Installing_Mahara]
 
 
 
For Catalyst Moodle devs with a Moodle already installed please follow:
 
[[https://wiki.wgtn.cat-it.co.nz/wiki/Jinelle_Foley-Barnes/moodle]]
 
  
  
Line 15: Line 11:
  
 
Install Apache, PHP5, Database, Git:
 
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 openjdk-7-jre-headless
+
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 openjdk-7-jre-headless
  
 
Restart Apache  
 
Restart Apache  
  sudo service apache2 restart
+
sudo service apache2 restart
  
 
Make a Mahara directory in the same place as Moodle
 
Make a Mahara directory in the same place as Moodle
  sudo mkdir /var/www/html/mahara
+
sudo mkdir /var/www/html/mahara
  
 
Then change into the Mahara directory
 
Then change into the Mahara directory
  cd /var/www/html/mahara
+
cd /var/www/html/mahara
  
 
Then change the permission (insert the username of the machine into the username. Don't use the word username)
 
Then change the permission (insert the username of the machine into the username. Don't use the word username)
Line 30: Line 26:
  
 
Get Mahara clone.
 
Get Mahara clone.
  git clone https://github.com/MaharaProject/mahara.git .
+
git clone https://github.com/MaharaProject/mahara.git .
 
 
  
 
Checkout the master(15.04) branch
 
Checkout the master(15.04) branch
  git checkout master
+
git checkout master
  
 
Note: if this step doesn't work. You may have forgotten the fullstop off the end of the git clone command. It created a mahara directory inside the other mahara directory. Go in to the file explorer and delete the second instance.  
 
Note: if this step doesn't work. You may have forgotten the fullstop off the end of the git clone command. It created a mahara directory inside the other mahara directory. Go in to the file explorer and delete the second instance.  
  
 
Become Postgres user:
 
Become Postgres user:
  sudo su postgres
+
sudo su postgres
  
 
Open psql. After some preamble you should see the prompt postgres=#.
 
Open psql. After some preamble you should see the prompt postgres=#.

Revision as of 22:14, 13 January 2015

How to install Mahara and Behat

Note: These instructions for Mahara and Behat setup are only for machines running Linux. They will not work for Windows machines


For devs instructions to install a Mahara please use System_Administrator's_Guide/Installing_Mahara.


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 openjdk-7-jre-headless

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 (insert the username of the machine into the username. Don't use the word username)

sudo chown username:username /var/www/html/mahara

Get Mahara clone.

git clone https://github.com/MaharaProject/mahara.git .

Checkout the master(15.04) branch

git checkout master

Note: if this step doesn't work. You may have forgotten the fullstop off the end of the git clone command. It created a mahara directory inside the other mahara directory. Go in to the file explorer and delete the second instance.

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

Run Behat tests

  cd /var/www/html/mahara
  ./test/behat/mahara_behat.sh run @yourtags

For the first time of running behat, you need to wait for the Behat environment initialisation.

Run your specific test from now on run: Make sure it's saved in the feature folder with the name something.feature and it has tags in it, inc @javascript and then run this line from the mahara directory: Remember cd into Mahara directory first.

 ./test/behat/mahara_behat.sh run @yourtags