From eb63bfaadf8d4f43c19c0384c45a9718acd85e66 Mon Sep 17 00:00:00 2001 From: Matthieu Moy Date: Fri, 6 Jul 2012 12:03:09 +0200 Subject: [PATCH] git-remote-mediawiki: support for uploading file in test environment This will be used for testing git-remote-mediawiki's import feature on a wiki containing media files. Signed-off-by: Simon CATHEBRAS Signed-off-by: Julien KHAYAT Signed-off-by: Simon Perrat Signed-off-by: Charles ROUSSEL Signed-off-by: Guillaume SASDY Signed-off-by: Matthieu Moy Signed-off-by: Junio C Hamano --- .../mw-to-git/t/install-wiki/LocalSettings.php | 3 ++- contrib/mw-to-git/t/test-gitmw-lib.sh | 3 +++ contrib/mw-to-git/t/test-gitmw.pl | 16 ++++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/contrib/mw-to-git/t/install-wiki/LocalSettings.php b/contrib/mw-to-git/t/install-wiki/LocalSettings.php index aa72518e30..29f125116b 100644 --- a/contrib/mw-to-git/t/install-wiki/LocalSettings.php +++ b/contrib/mw-to-git/t/install-wiki/LocalSettings.php @@ -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; diff --git a/contrib/mw-to-git/t/test-gitmw-lib.sh b/contrib/mw-to-git/t/test-gitmw-lib.sh index 14f65771d6..3b2cfacf51 100755 --- a/contrib/mw-to-git/t/test-gitmw-lib.sh +++ b/contrib/mw-to-git/t/test-gitmw-lib.sh @@ -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 "$@" diff --git a/contrib/mw-to-git/t/test-gitmw.pl b/contrib/mw-to-git/t/test-gitmw.pl index b0117e2b45..0ff76259fa 100755 --- a/contrib/mw-to-git/t/test-gitmw.pl +++ b/contrib/mw-to-git/t/test-gitmw.pl @@ -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