// Create the project directory if necessary
if (is_dir($project_dir)) {
- cron_debug(" Project dir $project_dir exists, so I assumen the project already exists.");
+ cron_debug(" Project dir $project_dir exists, so I assume the project already exists.");
} else {
// Create the DB
$schema = "plugin_mediawiki_$project";
cron_debug(" Creating project dir $project_dir.");
mkdir($project_dir, 0775, true);
+ $f = fopen("$project_dir/ProjectSettings.php", "w");
+ fwrite($f, '<?php
+// Insert your project-local configuration here
+');
+ fclose($f);
+ chmod("$project_dir/ProjectSettings.php", 0775);
+
$mwwrapper = forge_get_config('source_path')."/plugins/mediawiki/bin/mw-wrapper.php" ;
$dumpfile = forge_get_config('config_path')."/mediawiki/initial-content.xml" ;
$wgFavicon = '/images/icon.png' ;
$wgBreakFrames = false ;
+if (forge_get_config('unbreak_frames', 'mediawiki')) {
+ $wgEditPageFrameOptions = false;
+}
ini_set ('memory_limit', '100M') ;
// LOAD THE SITE-WIDE AND PROJECT-SPECIFIC EXTRA-SETTINGS
$suite->addTestFiles(glob("func/Forums/*Test.php"));
$suite->addTestFiles(glob("func/News/*Test.php"));
$suite->addTestFiles(glob("func/PluginsBlocks/*Test.php"));
+ $suite->addTestFiles(glob("func/PluginsMediawiki/*Test.php"));
$suite->addTestFiles(glob("func/PluginsMoinMoin/*Test.php"));
$suite->addTestFiles(glob("func/PluginsOnlineHelp/*Test.php"));
// $suite->addTestFiles(glob("func/PluginsSvnTracker/*Test.php"));
$suite->addTestFiles(glob("func/Forums/*Test.php"));
$suite->addTestFiles(glob("func/News/*Test.php"));
$suite->addTestFiles(glob("func/PluginsBlocks/*Test.php"));
+// $suite->addTestFiles(glob("func/PluginsMediawiki/*Test.php"));
// $suite->addTestFiles(glob("func/PluginsMoinMoin/*Test.php"));
$suite->addTestFiles(glob("func/PluginsOnlineHelp/*Test.php"));
// $suite->addTestFiles(glob("func/PluginsSvnTracker/*Test.php"));
$suite->addTestFiles(glob("func/Forums/*Test.php"));
$suite->addTestFiles(glob("func/News/*Test.php"));
$suite->addTestFiles(glob("func/PluginsBlocks/*Test.php"));
+// $suite->addTestFiles(glob("func/PluginsMediawiki/*Test.php"));
// $suite->addTestFiles(glob("func/PluginsMoinMoin/*Test.php"));
$suite->addTestFiles(glob("func/PluginsOnlineHelp/*Test.php"));
// $suite->addTestFiles(glob("func/PluginsSvnTracker/*Test.php"));
--- /dev/null
+<?php
+/*
+ * Copyright 2012, Roland Mas
+ *
+ * This file is part of FusionForge.
+ *
+ * FusionForge is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation; either version 2 of the License,
+ * or (at your option) any later version.
+ *
+ * FusionForge is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+require_once dirname(dirname(__FILE__)).'/Testing/SeleniumGforge.php';
+
+class PluginMediawiki extends FForge_SeleniumTestCase
+{
+ protected $alreadyActive = 0;
+
+ function testMediawiki()
+ {
+ $this->activatePlugin('mediawiki');
+
+ $this->populateStandardTemplate('empty');
+ $this->init();
+
+ $this->clickAndWait("link=Admin");
+ $this->clickAndWait("link=Tools");
+ $this->click("use_mediawiki");
+ $this->clickAndWait("submit");
+ $this->assertTrue($this->isTextPresent("Project information updated"));
+
+ $this->cron_for_plugin("create-wikis.php", "mediawiki");
+ sleep (10);
+
+ $this->gotoProject('ProjectA');
+ $this->clickAndWait("link=Mediawiki");
+ $this->assertFalse($this->isTextPresent("not created yet"));
+
+ $this->clickAndWait("link=edit this page");
+ $this->assertTrue($this->isTextPresent("You have followed a link to a page that does not exist yet."));
+ $this->type("//textarea[@id='wpTextbox1']", "= Bleh =
+== Blahblah ==
+
+And more lorem ipsum too.");
+ $this->type("//input[@id='wpSummary']", "Page created during testsuite run");
+
+ $this->clickAndWait("//input[@id='wpSave']");
+
+ $this->clickAndWait("link=Mediawiki");
+ $this->assertTrue($this->isTextPresent("lorem ipsum"));
+ $this->assertTrue($this->isElementPresent("//h1[contains(.,'Bleh')]"));
+ $this->assertTrue($this->isElementPresent("//h2[contains(.,'Blahblah')]"));
+ }
+}
+
+// Local Variables:
+// mode: php
+// c-file-style: "bsd"
+// End:
ssh root@$HOST "LANG=C a2dissite default ; LANG=C invoke-rc.d apache2 reload"
ssh root@$HOST "(echo [core];echo use_ssl=no) > /etc/gforge/config.ini.d/zzz-buildbot.ini"
ssh root@$HOST "(echo [moinmoin];echo use_frame=no) >> /etc/gforge/config.ini.d/zzz-buildbot.ini"
+ssh root@$HOST "(echo [mediawiki];echo unbreak_frames=yes) >> /etc/gforge/config.ini.d/zzz-buildbot.ini"
# Dump database
echo "Dump freshly installed database"
ssh root@$HOST "FFORGE_DB=$DB_NAME FFORGE_USER=gforge FFORGE_ADMIN_USER=$FORGE_ADMIN_USERNAME FFORGE_ADMIN_PASSWORD=$FORGE_ADMIN_PASSWORD export FFORGE_DB FFORGE_USER FFORGE_ADMIN_USER FFORGE_ADMIN_PASSWORD; yum install -y --skip-broken fusionforge fusionforge-plugin-scmsvn fusionforge-plugin-online_help fusionforge-plugin-extratabs fusionforge-plugin-authldap fusionforge-plugin-scmgit fusionforge-plugin-blocks"
ssh root@$HOST '(echo [core];echo use_ssl=no;echo use_fti=no) > /etc/gforge/config.ini.d/zzz-buildbot.ini'
+ssh root@$HOST "(echo [moinmoin];echo use_frame=no) >> /etc/gforge/config.ini.d/zzz-buildbot.ini"
+ssh root@$HOST "(echo [mediawiki];echo unbreak_frames=yes) >> /etc/gforge/config.ini.d/zzz-buildbot.ini"
ssh root@$HOST "su - postgres -c \"pg_dumpall\" > /root/dump"
# Install a fake sendmail to catch all outgoing emails.
ssh root@$HOST "perl -spi -e s#/usr/sbin/sendmail#$FORGE_HOME/tests/scripts/catch_mail.php# /etc/gforge/config.ini.d/defaults.ini"
echo "Set use_ssl=no"
ssh root@$HOST "(echo [core];echo use_ssl=no;echo use_fti=no) > /etc/gforge/config.ini.d/zzz-zbuildbot.ini"
+ssh root@$HOST "(echo [moinmoin];echo use_frame=no) >> /etc/gforge/config.ini.d/zzz-buildbot.ini"
+ssh root@$HOST "(echo [mediawiki];echo unbreak_frames=yes) >> /etc/gforge/config.ini.d/zzz-buildbot.ini"
# Install a fake sendmail to catch all outgoing emails.
# ssh root@$HOST "perl -spi -e s#/usr/sbin/sendmail#/opt/tests/scripts/catch_mail.php# /etc/gforge/local.inc"
echo "Set use_ssl=no"
ssh root@$HOST "(echo [core];echo use_ssl=no;echo use_fti=no) > /etc/gforge/config.ini.d/zzz-zbuildbot.ini"
ssh root@$HOST "(echo [moinmoin];echo use_frame=no) >> /etc/gforge/config.ini.d/zzz-buildbot.ini"
+ssh root@$HOST "(echo [mediawiki];echo unbreak_frames=yes) >> /etc/gforge/config.ini.d/zzz-buildbot.ini"
# Stop cron
echo "Stop cron daemon"
ssh root@$HOST 'tar jxf fusionforge-*.tar.bz2'
ssh root@$HOST "cd fusionforge-*; FFORGE_RPM_REPO=$FFORGE_RPM_REPO DAG_RPMFORGE_REPO=$DAG_RPMFORGE_REPO FFORGE_DB=fforge FFORGE_USER=gforge FFORGE_ADMIN_USER=ffadmin FFORGE_ADMIN_PASSWORD=ffadmin ./install.sh $HOST"
ssh root@$HOST "(echo [core];echo use_ssl=no) > /etc/gforge/config.ini.d/zzz-zbuildbot.ini"
+ssh root@$HOST "(echo [moinmoin];echo use_frame=no) >> /etc/gforge/config.ini.d/zzz-buildbot.ini"
+ssh root@$HOST "(echo [mediawiki];echo unbreak_frames=yes) >> /etc/gforge/config.ini.d/zzz-buildbot.ini"
ssh root@$HOST "cd /root/tests/func; CONFIGURED=true CONFIG_PHP=config.php.buildbot DB_NAME=$DB_NAME php db_reload.php"
ssh root@$HOST "su - postgres -c \"pg_dump -Fc $DB_NAME\" > /root/dump"
#ssh root@$HOST "su - postgres -c \"pg_dumpall\" > /root/dump"