git-remote-mediawiki: support for uploading file in test environment
authorMatthieu Moy <Matthieu.Moy@imag.fr>
Fri, 6 Jul 2012 10:03:09 +0000 (12:03 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 6 Jul 2012 19:20:46 +0000 (12:20 -0700)
This will be used for testing git-remote-mediawiki's import feature on a
wiki containing media files.

Signed-off-by: Simon CATHEBRAS <Simon.Cathebras@ensimag.imag.fr>
Signed-off-by: Julien KHAYAT <Julien.Khayat@ensimag.imag.fr>
Signed-off-by: Simon Perrat <simon.perrat@ensimag.imag.fr>
Signed-off-by: Charles ROUSSEL <Charles.Roussel@ensimag.imag.fr>
Signed-off-by: Guillaume SASDY <Guillaume.Sasdy@ensimag.imag.fr>
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/mw-to-git/t/install-wiki/LocalSettings.php
contrib/mw-to-git/t/test-gitmw-lib.sh
contrib/mw-to-git/t/test-gitmw.pl

index aa72518e30c957649f1ce798b302742d4603919c..29f125116b59ed408339a37dbf82f2d913877d78 100644 (file)
@@ -67,9 +67,10 @@ $wgMemCachedServers = array();
 
 ## To enable image uploads, make sure the 'images' directory
 ## is writable, then set this to true:
-$wgEnableUploads  = false;
+$wgEnableUploads  = true;
 $wgUseImageMagick = true;
 $wgImageMagickConvertCommand ="@CONVERT@";
+$wgFileExtensions[] = 'txt';
 
 # InstantCommons allows wiki to use images from http://commons.wikimedia.org
 $wgUseInstantCommons  = false;
index 14f65771d694e3873fe762a8c35c186bfcee3e8e..3b2cfacf512b0476c157e475b3ad6ea15cadeb2b 100755 (executable)
@@ -26,6 +26,9 @@ else
        WIKI_DIR_INST="$CURR_DIR/$WEB_WWW"
 fi
 
+wiki_upload_file () {
+       "$CURR_DIR"/test-gitmw.pl upload_file "$@"
+}
 
 wiki_getpage () {
        "$CURR_DIR"/test-gitmw.pl get_page "$@"
index b0117e2b45bcb06d4926973355e1e5eefc238f02..0ff76259faa6854345203bd3fbcdb738b789bff1 100755 (executable)
@@ -193,6 +193,21 @@ sub wiki_getallpagename {
        }
 }
 
+sub wiki_upload_file {
+       my $file_name = $_[0];
+       my $resultat = $mw->edit ( {
+               action => 'upload',
+               filename => $file_name,
+               comment => 'upload a file',
+               file => [ $file_name ],
+               ignorewarnings=>1,
+       }, {
+               skip_encoding => 1
+       } ) || die $mw->{error}->{code} . ' : ' . $mw->{error}->{details};
+}
+
+
+
 # Main part of this script: parse the command line arguments
 # and select which function to execute
 my $fct_to_call = shift;
@@ -200,6 +215,7 @@ my $fct_to_call = shift;
 wiki_login($wiki_admin, $wiki_admin_pass);
 
 my %functions_to_call = qw(
+       upload_file    wiki_upload_file
        get_page       wiki_getpage
        delete_page    wiki_delete_page
        edit_page      wiki_editpage