MDL-22236 webservice upload files: Update unit tests

This commit is contained in:
Damyon Wiese 2013-08-12 10:37:58 +08:00
parent 1495f2893e
commit 873482fe9b

View file

@ -45,7 +45,7 @@ class core_files_externallib_testcase extends advanced_testcase {
$context = context_user::instance($USER->id); $context = context_user::instance($USER->id);
$contextid = $context->id; $contextid = $context->id;
$component = "user"; $component = "user";
$filearea = "private"; $filearea = "draft";
$itemid = 0; $itemid = 0;
$filepath = "/"; $filepath = "/";
$filename = "Simple.txt"; $filename = "Simple.txt";
@ -59,15 +59,16 @@ class core_files_externallib_testcase extends advanced_testcase {
$this->assertEmpty($file); $this->assertEmpty($file);
// Call the api to create a file. // Call the api to create a file.
core_files_external::upload($contextid, $component, $filearea, $itemid, $filepath, $fileinfo = core_files_external::upload($contextid, $component, $filearea, $itemid, $filepath,
$filename, $filecontent, $contextlevel, $instanceid); $filename, $filecontent, $contextlevel, $instanceid);
// Get the created draft item id.
$itemid = $fileinfo['itemid'];
// Make sure the file was created. // Make sure the file was created.
$file = $browser->get_file_info($context, $component, $filearea, $itemid, $filepath, $filename); $file = $browser->get_file_info($context, $component, $filearea, $itemid, $filepath, $filename);
$this->assertNotEmpty($file); $this->assertNotEmpty($file);
// Make sure no file exists. // Make sure no file exists.
$itemid = 2;
$filename = "Simple2.txt"; $filename = "Simple2.txt";
$file = $browser->get_file_info($context, $component, $filearea, $itemid, $filepath, $filename); $file = $browser->get_file_info($context, $component, $filearea, $itemid, $filepath, $filename);
$this->assertEmpty($file); $this->assertEmpty($file);
@ -75,12 +76,10 @@ class core_files_externallib_testcase extends advanced_testcase {
// Call the api to create a file. // Call the api to create a file.
$fileinfo = core_files_external::upload($contextid, $component, $filearea, $itemid, $fileinfo = core_files_external::upload($contextid, $component, $filearea, $itemid,
$filepath, $filename, $filecontent, $contextlevel, $instanceid); $filepath, $filename, $filecontent, $contextlevel, $instanceid);
$file = $browser->get_file_info($context, $component, $filearea, $itemid, $filepath, $filename);
// Make sure itemid is always set to 0. $this->assertNotEmpty($file);
$this->assertEquals(0, $fileinfo['itemid']);
// Let us try creating a file using contextlevel and instance id. // Let us try creating a file using contextlevel and instance id.
$itemid = 0;
$filename = "Simple5.txt"; $filename = "Simple5.txt";
$contextid = 0; $contextid = 0;
$contextlevel = "user"; $contextlevel = "user";
@ -89,7 +88,8 @@ class core_files_externallib_testcase extends advanced_testcase {
$this->assertEmpty($file); $this->assertEmpty($file);
$fileinfo = core_files_external::upload($contextid, $component, $filearea, $itemid, $filepath, $fileinfo = core_files_external::upload($contextid, $component, $filearea, $itemid, $filepath,
$filename, $filecontent, $contextlevel, $instanceid); $filename, $filecontent, $contextlevel, $instanceid);
$this->assertEmpty($file); $file = $browser->get_file_info($context, $component, $filearea, $itemid, $filepath, $filename);
$this->assertNotEmpty($file);
// Make sure the same file cannot be created again. // Make sure the same file cannot be created again.
$this->setExpectedException("moodle_exception"); $this->setExpectedException("moodle_exception");
@ -123,7 +123,7 @@ class core_files_externallib_testcase extends advanced_testcase {
} }
/* /*
* Make sure only private area is allowed in core_files_external::upload(). * Make sure only private or draft areas are allowed in core_files_external::upload().
*/ */
public function test_upload_param_area() { public function test_upload_param_area() {
global $USER; global $USER;
@ -134,17 +134,18 @@ class core_files_externallib_testcase extends advanced_testcase {
$contextid = $context->id; $contextid = $context->id;
$component = "user"; $component = "user";
$filearea = "draft"; $filearea = "draft";
$itemid = 0; $itemid = file_get_unused_draft_itemid();
$filepath = "/"; $filepath = "/";
$filename = "Simple4.txt"; $filename = "Simple4.txt";
$filecontent = base64_encode("Let us create a nice simple file"); $filecontent = base64_encode("Let us create a nice simple file");
$contextlevel = null; $contextlevel = null;
$instanceid = null; $instanceid = null;
// Make sure exception is thrown. // Make sure the file is created.
$this->setExpectedException("coding_exception"); @core_files_external::upload($contextid, $component, $filearea, $itemid, $filepath, $filename, $filecontent);
core_files_external::upload($contextid, $component, $filearea, $itemid, $filepath, $browser = get_file_browser();
$filename, $filecontent, $contextlevel, $instanceid); $file = $browser->get_file_info($context, $component, $filearea, $itemid, $filepath, $filename);
$this->assertNotEmpty($file);
} }
/* /*
@ -164,10 +165,14 @@ class core_files_externallib_testcase extends advanced_testcase {
$filename = "Simple4.txt"; $filename = "Simple4.txt";
$filecontent = base64_encode("Let us create a nice simple file"); $filecontent = base64_encode("Let us create a nice simple file");
// Make sure the file is created.
@core_files_external::upload($contextid, $component, $filearea, $itemid, $filepath, $filename, $filecontent); @core_files_external::upload($contextid, $component, $filearea, $itemid, $filepath, $filename, $filecontent);
// Assert debugging called (deprecation warning).
$this->assertDebuggingCalled();
// Make sure the file is created.
$browser = get_file_browser(); $browser = get_file_browser();
$file = $browser->get_file_info($context, $component, $filearea, $itemid, $filepath, $filename); $file = $browser->get_file_info($context, $component, $filearea, $itemid, $filepath, $filename);
$this->assertNotEmpty($file); $this->assertNotEmpty($file);
} }
} }