dbxapp 4.1.3
CMS, Shop, Workflows und modulare Geschäftsanwendungen
Loading...
Searching...
No Matches
dbxDB_dd_server_binding_test.php
Go to the documentation of this file.
1<?php
2
3declare(strict_types=1);
4
5$root = dirname(__DIR__, 3);
6chdir($root);
7$_SERVER['REQUEST_URI'] = '/dbxapp/';
8$_SERVER['HTTP_HOST'] = 'localhost';
9$_SERVER['HTTPS'] = 'on';
10$_SERVER['SCRIPT_NAME'] = '/dbxapp/index.php';
11
12if (!defined('dbxSystem')) {
13 define('dbxSystem', 'dbxWebApp');
14}
15if (!defined('dbxRunAsAdmin')) {
16 define('dbxRunAsAdmin', 1);
17}
18
19require_once $root . '/dbx/vendor/autoload.php';
20require_once $root . '/dbx/include/dbxKernel.php';
21require_once $root . '/dbx/include/dbxDB.class.php';
22
24{
26 public array $testBindings = array();
27
28 protected function get_dd_server_bindings(): array
29 {
31 }
32
33 protected function is_valid_dd_server_binding(string $server): bool
34 {
35 return in_array($server, array(
36 'mysqlUsers',
37 'mysqlGroups',
38 'dbxUser.db3',
39 'dbx|dbxUser.db3',
40 ), true);
41 }
42}
43
44function binding_assert(bool $condition, string $message): void
45{
46 if (!$condition) {
47 fwrite(STDERR, 'FAIL: ' . $message . PHP_EOL);
48 exit(1);
49 }
50}
51
53$db->testBindings = array(
54 'dbx|dbxUser' => 'mysqlUsers',
55 'dbx|dbxUser_groups' => 'dbxUser.db3',
56);
57
58$user = $db->get_dd_server_binding_info('dbx|dbxUser');
59$groups = $db->get_dd_server_binding_info('dbx|dbxUser_groups');
60
62 $user['resolved_server'] === 'mysqlUsers'
63 && $user['source'] === 'local-binding',
64 'dbxUser wurde nicht auf den eigenen MySQL-Server gebunden.'
65);
67 $groups['resolved_server'] === 'dbxUser.db3'
68 && $groups['source'] === 'local-binding',
69 'dbxUser_groups wurde nicht unabhaengig auf DB3 gebunden.'
70);
71
72$db->testBindings = array(
73 'DBX|DBXUSER' => 'mysqlUsers',
74);
76 $db->get_dd_server('dbx|dbxUser') === 'mysqlUsers',
77 'DD-Schluessel werden nicht robust normalisiert.'
78);
80 preg_match(
81 '/dbxUser\.db3$/i',
82 $db->get_dd_server('dbx|dbxUser_groups')
83 ) === 1,
84 'Eine nicht gebundene DD verwendet ihren DD-Standard nicht.'
85);
86
87echo "OK dbxDB per-DD server binding and mixed storage\n";
array $testBindings
Test bindings keyed by the complete DD reference.
get_dd_server_bindings()
Liefert die installationsbezogenen Serverbindungen der DDs.
is_valid_dd_server_binding(string $server)
Prueft eine lokale DD-Serverbindung, ohne eine Verbindung aufzubauen.
Zentrale Datenbank- und DD-Systemklasse von DBX.
$_SERVER['REQUEST_METHOD']
binding_assert(bool $condition, string $message)
exit
Definition index.php:146