aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/DataTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/DataTest.php')
-rw-r--r--srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/DataTest.php74
1 files changed, 74 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/DataTest.php b/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/DataTest.php
new file mode 100644
index 0000000..c12f576
--- /dev/null
+++ b/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/DataTest.php
@@ -0,0 +1,74 @@
+<?php
+declare(strict_types = 1);
+namespace Williamdes\MariaDBMySQLKBS\Test;
+
+use \PHPUnit\Framework\TestCase;
+use \Swaggest\JsonSchema\Schema;
+use \Swaggest\JsonSchema\Context;
+use \stdClass;
+
+class DataTest extends TestCase
+{
+
+ /**
+ * Validate json data
+ *
+ * @param stdClass $contents The file contents
+ * @param string $id The schema id
+ * @example validate($slimData, "urn:williamdes:mariadb-mysql-kbs:slimdata");
+ * @return bool
+ */
+ public static function validate(stdClass $contents, string $id): bool
+ {
+ $options = new Context();
+ $options->setRemoteRefProvider(new RefProvider());
+ $schema = Schema::import($id, $options);
+ $schema->in($contents);
+ return true;// No exception occured
+ }
+
+ /**
+ * test files
+ *
+ * @return void
+ */
+ public function testFileSample(): void
+ {
+ $slimDataTestData = json_decode((string) file_get_contents(__DIR__."/data/ultraSlimDataTestWithVariables.json"));
+ $this->assertTrue(self::validate($slimDataTestData, "urn:williamdes:mariadb-mysql-kbs:ultraslimdata"));
+ }
+
+ /**
+ * test slim data
+ *
+ * @return void
+ */
+ public function testFileSlim(): void
+ {
+ $slimData = json_decode((string) file_get_contents(__DIR__."/../dist/merged-slim.json"));
+ $this->assertTrue(self::validate($slimData, "urn:williamdes:mariadb-mysql-kbs:slimdata"));
+ }
+
+ /**
+ * test ultra slim data
+ *
+ * @return void
+ */
+ public function testFileUltraSlim(): void
+ {
+ $slimData = json_decode((string) file_get_contents(__DIR__."/../dist/merged-ultraslim.json"));
+ $this->assertTrue(self::validate($slimData, "urn:williamdes:mariadb-mysql-kbs:ultraslimdata"));
+ }
+
+ /**
+ * test ultra slim data
+ *
+ * @return void
+ */
+ public function testFileRaw(): void
+ {
+ $slimData = json_decode((string) file_get_contents(__DIR__."/../dist/merged-raw.json"));
+ $this->assertTrue(self::validate($slimData, "urn:williamdes:mariadb-mysql-kbs:rawdata"));
+ }
+
+}