diff --git a/admin/tool/phpunit/classes/privacy/provider.php b/admin/tool/phpunit/classes/privacy/provider.php new file mode 100644 index 00000000000..ab9c4a8f297 --- /dev/null +++ b/admin/tool/phpunit/classes/privacy/provider.php @@ -0,0 +1,46 @@ +. + +/** + * Privacy Subsystem implementation for tool_phpunit. + * + * @package tool_phpunit + * @copyright 2018 Mark Nelson + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +namespace tool_phpunit\privacy; + +defined('MOODLE_INTERNAL') || die(); + +/** + * Privacy Subsystem for tool_phpunit implementing null_provider. + * + * @copyright 2018 Mark Nelson + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class provider implements \core_privacy\local\metadata\null_provider { + + /** + * Get the language string identifier with the component's language + * file to explain why this plugin stores no data. + * + * @return string + */ + public static function get_reason() : string { + return 'privacy:metadata'; + } +} diff --git a/grade/grading/form/guide/classes/privacy/provider.php b/grade/grading/form/guide/classes/privacy/provider.php index a0f4494adaa..d5ec198df21 100644 --- a/grade/grading/form/guide/classes/privacy/provider.php +++ b/grade/grading/form/guide/classes/privacy/provider.php @@ -37,6 +37,7 @@ use \core_privacy\local\request\writer; * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class provider implements + \core_privacy\local\metadata\provider, \core_privacy\local\request\user_preference_provider { /** diff --git a/portfolio/boxnet/classes/privacy/provider.php b/portfolio/boxnet/classes/privacy/provider.php index fb0a82f5e05..354bff812bb 100644 --- a/portfolio/boxnet/classes/privacy/provider.php +++ b/portfolio/boxnet/classes/privacy/provider.php @@ -36,6 +36,7 @@ use core_privacy\local\metadata\collection; class provider implements // This portfolio plugin does not store any data itself. // It has no database tables, and it purely acts as a conduit, sending data externally. + \core_privacy\local\metadata\provider, \core_portfolio\privacy\portfolio_provider { /** diff --git a/portfolio/flickr/classes/privacy/provider.php b/portfolio/flickr/classes/privacy/provider.php index f1b96c9d1c4..090b1eb83f0 100644 --- a/portfolio/flickr/classes/privacy/provider.php +++ b/portfolio/flickr/classes/privacy/provider.php @@ -36,6 +36,7 @@ use core_privacy\local\metadata\collection; class provider implements // This portfolio plugin does not store any data itself. // It has no database tables, and it purely acts as a conduit, sending data externally. + \core_privacy\local\metadata\provider, \core_portfolio\privacy\portfolio_provider { /** diff --git a/portfolio/googledocs/classes/privacy/provider.php b/portfolio/googledocs/classes/privacy/provider.php index f8734afcee3..9fe739a7358 100644 --- a/portfolio/googledocs/classes/privacy/provider.php +++ b/portfolio/googledocs/classes/privacy/provider.php @@ -36,6 +36,7 @@ use core_privacy\local\metadata\collection; class provider implements // This portfolio plugin does not store any data itself. // It has no database tables, and it purely acts as a conduit, sending data externally. + \core_privacy\local\metadata\provider, \core_portfolio\privacy\portfolio_provider { /** diff --git a/portfolio/mahara/classes/privacy/provider.php b/portfolio/mahara/classes/privacy/provider.php index be1719e83a3..a8731be01e0 100644 --- a/portfolio/mahara/classes/privacy/provider.php +++ b/portfolio/mahara/classes/privacy/provider.php @@ -36,6 +36,7 @@ use core_privacy\local\metadata\collection; class provider implements // This portfolio plugin does not store any data itself. // It has no database tables, and it purely acts as a conduit, sending data externally. + \core_privacy\local\metadata\provider, \core_portfolio\privacy\portfolio_provider { /** diff --git a/portfolio/picasa/classes/privacy/provider.php b/portfolio/picasa/classes/privacy/provider.php index 79e03382a6e..4f2fafe2d78 100644 --- a/portfolio/picasa/classes/privacy/provider.php +++ b/portfolio/picasa/classes/privacy/provider.php @@ -36,6 +36,7 @@ use core_privacy\local\metadata\collection; class provider implements // This portfolio plugin does not store any data itself. // It has no database tables, and it purely acts as a conduit, sending data externally. + \core_privacy\local\metadata\provider, \core_portfolio\privacy\portfolio_provider { /** diff --git a/privacy/tests/provider_test.php b/privacy/tests/provider_test.php index 943d54e7643..496d99678b4 100644 --- a/privacy/tests/provider_test.php +++ b/privacy/tests/provider_test.php @@ -163,6 +163,18 @@ class provider_testcase extends advanced_testcase { } } + /** + * Test that all providers implement some form of compliant provider. + * + * @dataProvider get_component_list + * @param string $component frankenstyle component name, e.g. 'mod_assign' + * @param string $classname the fully qualified provider classname + */ + public function test_all_providers_compliant($component, $classname) { + $manager = new manager(); + $this->assertTrue($manager->component_is_compliant($component)); + } + /** * Data provider for the metadata\provider tests. *