MDL-67158 core_h5p: Unit test fixes
authorMihail Geshoski <mihail@moodle.com>
Sat, 9 Nov 2019 17:37:27 +0000 (01:37 +0800)
committerMihail Geshoski <mihail@moodle.com>
Sat, 9 Nov 2019 17:37:44 +0000 (01:37 +0800)
h5p/tests/framework_test.php
h5p/tests/generator_test.php
h5p/tests/h5p_file_storage_test.php

index 555dbba..4042be1 100644 (file)
@@ -34,6 +34,7 @@ defined('MOODLE_INTERNAL') || die();
  * @package    core_h5p
  * @copyright  2019 Mihail Geshoski <mihail@moodle.com>
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ * @runTestsInSeparateProcesses
  */
 class framework_testcase extends \advanced_testcase {
 
@@ -67,8 +68,17 @@ class framework_testcase extends \advanced_testcase {
 
     /**
      * Test the behaviour of fetchExternalData() when the store path is not defined.
+     *
+     * This test is intensive and requires downloading content of an external file,
+     * therefore it might take longer time to execute.
+     * In order to execute this test PHPUNIT_LONGTEST should be set to true in phpunit.xml or directly in config.php.
      */
     public function test_fetchExternalData_no_path_defined() {
+
+        if (!PHPUNIT_LONGTEST) {
+            $this->markTestSkipped('PHPUNIT_LONGTEST is not defined');
+        }
+
         $this->resetAfterTest();
 
         // Provide a valid URL to an external H5P content.
@@ -88,10 +98,18 @@ class framework_testcase extends \advanced_testcase {
 
     /**
      * Test the behaviour of fetchExternalData() when the store path is defined.
+     *
+     * This test is intensive and requires downloading content of an external file,
+     * therefore it might take longer time to execute.
+     * In order to execute this test PHPUNIT_LONGTEST should be set to true in phpunit.xml or directly in config.php.
      */
     public function test_fetchExternalData_path_defined() {
         global $CFG;
 
+        if (!PHPUNIT_LONGTEST) {
+            $this->markTestSkipped('PHPUNIT_LONGTEST is not defined');
+        }
+
         $this->resetAfterTest();
 
         // Provide a valid URL to an external H5P content.
@@ -112,8 +130,18 @@ class framework_testcase extends \advanced_testcase {
     /**
      * Test the behaviour of fetchExternalData() when the URL is pointing to an external file that is
      * not an h5p content.
+     *
+     * This test is intensive and requires downloading content of an external file,
+     * therefore it might take longer time to execute.
+     * In order to execute this test PHPUNIT_LONGTEST should be set to true in phpunit.xml or directly in config.php.
      */
     public function test_fetchExternalData_url_not_h5p() {
+
+        if (!PHPUNIT_LONGTEST) {
+            // This test is intensive and requires downloading the content of an external file.
+            $this->markTestSkipped('PHPUNIT_LONGTEST is not defined');
+        }
+
         $this->resetAfterTest();
 
         // Provide an URL to an external file that is not an H5P content file.
index 0ad41d4..2ddd341 100644 (file)
@@ -25,6 +25,8 @@
 
 namespace core_h5p;
 
+use core_h5p\autoloader;
+
 defined('MOODLE_INTERNAL') || die();
 
 /**
@@ -34,9 +36,19 @@ defined('MOODLE_INTERNAL') || die();
 * @category   test
 * @copyright  2019 Mihail Geshoski <mihail@moodle.com>
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+* @runTestsInSeparateProcesses
 */
 class generator_testcase extends \advanced_testcase {
 
+    /**
+     * Tests set up.
+     */
+    protected function setUp() {
+        parent::setUp();
+
+        autoloader::register();
+    }
+
     /**
      * Test the returned data of generate_h5p_data() when the method is called without requesting
      * creation of library files.
index 832b4f0..cf2d1fc 100644 (file)
@@ -38,6 +38,7 @@ defined('MOODLE_INTERNAL') || die();
  * @package    core_h5p
  * @copyright  2019 Victor Deniz <victor@moodle.com>
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ * @runTestsInSeparateProcesses
  */
 class h5p_file_storage_testcase extends \advanced_testcase {