Actions

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

From Mahara Wiki

< Testing/Behat Testing
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|}}
+
<h3>These instructions for Mahara and Behat setup are only for machines running Linux. They will not for Windows machines</h3>
  
{{note|Foo|For devs please follow:
+
For devs please follow:
   [https://wiki.mahara.org/index.php/System_Administrator%27s_Guide/Installing_Mahara]
+
   https://wiki.mahara.org/index.php/System_Administrator%27s_Guide/Installing_Mahara
}}
 
  
{{note|Foo|For Catalyst Moodle devs with a Moodle already installed please follow:
+
 
   [[https://wiki.wgtn.cat-it.co.nz/wiki/Jinelle_Foley-Barnes/moodle]]}}
+
For Catalyst Moodle devs with a Moodle already installed please follow:
 +
   https://wiki.wgtn.cat-it.co.nz/wiki/Jinelle_Foley-Barnes/moodle
  
  

Revision as of 16:29, 15 December 2014

How to install Mahara and Behat

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

For devs please follow:

 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


Note: Foo


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