Files
html/api/ambre-pw-v14-deploy.php
2026-04-22 00:15:04 +02:00

8 lines
6.5 KiB
PHP

<?php
header("Content-Type: application/json");
$base = "/var/www/html/api/ambre-pw-tests/tests";
$spec = base64_decode("Y29uc3QgeyB0ZXN0IH0gPSByZXF1aXJlKCJAcGxheXdyaWdodC90ZXN0Iik7Cgp0ZXN0KCJWMTQgwrcgMTIgdG9vbHMgcHJlbWl1bSBwdWJsaWMgY2hhdCDCtyB2aWRlbyBpbXByZXNzaW9ubmFudGUgY2xpZW50IiwgYXN5bmMgKHsgcGFnZSwgY29udGV4dCwgcmVxdWVzdCB9KSA9PiB7CiAgdGVzdC5zZXRUaW1lb3V0KDkwMDAwMCk7CiAgCiAgYXdhaXQgcGFnZS5nb3RvKCIvd2V2aWEuaHRtbCIpOwogIGF3YWl0IHBhZ2UuZXZhbHVhdGUoKCkgPT4geyB0cnkgeyBzZXNzaW9uU3RvcmFnZS5jbGVhcigpOyB9IGNhdGNoKGUpe30gfSk7CiAgYXdhaXQgcGFnZS53YWl0Rm9yTG9hZFN0YXRlKCJuZXR3b3JraWRsZSIpOwogIGF3YWl0IHBhZ2Uud2FpdEZvclRpbWVvdXQoMjUwMCk7CiAgYXdhaXQgcGFnZS5zY3JlZW5zaG90KHsgcGF0aDogIm91dHB1dC92MTQtMDAtbGFuZGluZy5wbmciIH0pOwogIAogIGNvbnN0IHR1cm5zID0gWwogICAgeyBsYWJlbDogIjAxLWludHJvIiwgICAgICAgICAgbXNnOiAiQm9uam91ciBXRVZJQSwgcHLDqXNlbnRlIHRvaSBlbiBxdWVscXVlcyBtb3RzIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0OiAvV0VWSUF8YXNzaXN0YW50fGFpZGVyL2kgfSwKICAgIHsgbGFiZWw6ICIwMi1xciIsICAgICAgICAgICAgIG1zZzogIlFSIGNvZGUgcG91ciBodHRwczovL3dldmFsLWNvbnN1bHRpbmcuY29tIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0OiAvZ2VuZXJhdGVkLipxci4qXC5wbmcvaSB9LAogICAgeyBsYWJlbDogIjAzLWltYWdlLWhkIiwgICAgICAgbXNnOiAiSW1hZ2UgSEQgZGU6IGR1YmFpIHNreWxpbmUgZ29sZGVuIGhvdXIgcGhvdG9yZWFsaXN0aWMiLCAgICAgICAgICAgICAgICAgICBleHBlY3Q6IC9nZW5lcmF0ZWQuKmhkLipcLnBuZy9pIH0sCiAgICB7IGxhYmVsOiAiMDQtdHRzIiwgICAgICAgICAgICBtc2c6ICJsaXMgOiBCaWVudmVudWUgY2hleiBXRVZBTCBjb25zdWx0aW5nLCB2b3RyZSBwYXJ0ZW5haXJlIGlubm92YXRpb24iLCAgICAgIGV4cGVjdDogL2dlbmVyYXRlZC4qdHRzLipcLm1wMy9pIH0sCiAgICB7IGxhYmVsOiAiMDUtY2FsYyIsICAgICAgICAgICBtc2c6ICJjYWxjdWxlICgxMjUwICogMTIuNSArIDMwMCkgLyA0LjUiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdDogL1xkezMsfS8gfSwKICAgIHsgbGFiZWw6ICIwNi1zZWFyY2giLCAgICAgICAgIG1zZzogImFjdHVhbGl0w6lzIElBIHRlY2ggYXZyaWwgMjAyNiIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdDogL/CflI18c291cmNlL2kgfSwKICAgIHsgbGFiZWw6ICIwNy1wZGYiLCAgICAgICAgICAgIG1zZzogIkdlbmVyZSB1biBQREYgc3VyOiBzdHJhdGVnaWUgZGlnaXRhbGUgUE1FIDIwMjYiLCAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdDogL1wucGRmL2kgfSwKICAgIHsgbGFiZWw6ICIwOC1wcHR4IiwgICAgICAgICAgIG1zZzogIkdlbmVyZSB1bmUgcHJlc2VudGF0aW9uIHN1cjogdHJhbnNmb3JtYXRpb24gQUkgZW50ZXJwcmlzZSIsICAgICAgICAgICAgICAgIGV4cGVjdDogL1wucHB0eC9pIH0sCiAgICB7IGxhYmVsOiAiMDktbWVybWFpZCIsICAgICAgICBtc2c6ICJHZW5lcmUgdW4gc2NoZW1hIG1lcm1haWQgcG91cjogcHJvY2Vzc3VzIGRlY2lzaW9uIElBIGV0aGlxdWUiLCAgICAgICAgICAgICBleHBlY3Q6IC9ncmFwaFxzK1REL2kgfSwKICAgIHsgbGFiZWw6ICIxMC1jb2RlIiwgICAgICAgICAgIG1zZzogIkVjcmlzIGxlIGNvZGUgcHl0aG9uIHBvdXI6IGFuYWx5c2Ugc2VudGltZW50IHR3ZWV0IGF2ZWMgdHJhbnNmb3JtZXJzIiwgICAgIGV4cGVjdDogL1wucHkvaSB9LAogICAgeyBsYWJlbDogIjExLXRyYWR1aXJlIiwgICAgICAgbXNnOiAiVHJhZHVpcyBlbiBhbmdsYWlzOiBsYSBzdHJhdMOpZ2llIHBoYXJtYWNldXRpcXVlIGF1IE1FTkEiLCAgICAgICAgICAgICAgICAgIGV4cGVjdDogL0VuZ2xpc2gvaSB9LAogICAgeyBsYWJlbDogIjEyLWlkZW50aXR5IiwgICAgICAgbXNnOiAiamUgbSdhcHBlbGxlIFNhcmFoIGV0IGplIGRpcmlnZSBsZSBww7RsZSBkaWdpdGFsIGNoZXogRGFzc2F1bHQiLCAgICAgICAgICAgIGV4cGVjdDogL1NhcmFoL2kgfSwKICAgIHsgbGFiZWw6ICIxMy1yZWNhbGwiLCAgICAgICAgIG1zZzogInF1ZWwgZXN0IG1vbiBub20gZXQgbW9uIGVudHJlcHJpc2U/IiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0OiAvU2FyYWguKkRhc3NhdWx0fERhc3NhdWx0LipTYXJhaC9pIH0sCiAgICB7IGxhYmVsOiAiMTQtZW1vdGlvbiIsICAgICAgICBtc2c6ICJqZSBzdWlzIHN1cGVyIGZhdGlndcOpZSwgZ3JvcyBydXNoIGTDqXBsb2llbWVudCBlbiBjZSBtb21lbnQiLCAgICAgICAgICAgICAgZXhwZWN0OiAvY29tcHJlbmRzfHJlcG9zfGNvdXJhZ2V8cGF1c2V8c3RyZXNzYW50ZS9pIH0sCiAgICB7IGxhYmVsOiAiMTUtYmlsYW4iLCAgICAgICAgICBtc2c6ICJmYWlzIGxlIGJpbGFuIGRlIGNlIHF1IG9uIGEgZXhwbG9yw6kgZW5zZW1ibGUgYXVqb3VyZCBodWkiLCAgICAgICAgICAgICAgICAgZXhwZWN0OiAvaW1hZ2V8UERGfHB5dGhvbnxTYXJhaHxRUi9pIH0sCiAgXTsKICAKICBjb25zdCByZXN1bHRzID0gW107CiAgCiAgZm9yIChsZXQgaSA9IDA7IGkgPCB0dXJucy5sZW5ndGg7IGkrKykgewogICAgY29uc3QgdCA9IHR1cm5zW2ldOwogICAgY29uc3QgbnVtID0gU3RyaW5nKGkgKyAxKS5wYWRTdGFydCgyLCAiMCIpOwogICAgY29uc29sZS5sb2coYFxu4pWQ4pWQ4pWQIFske251bX0vJHt0dXJucy5sZW5ndGh9XSAke3QubGFiZWx9IOKVkOKVkOKVkGApOwogICAgY29uc29sZS5sb2coYCAg4oaSICR7dC5tc2cuc3Vic3RyaW5nKDAsIDEwMCl9YCk7CiAgICAKICAgIHRyeSB7CiAgICAgIGNvbnN0IGlucHV0ID0gcGFnZS5sb2NhdG9yKCIjbXNnSW5wdXQiKTsKICAgICAgYXdhaXQgaW5wdXQuY2xpY2soeyBmb3JjZTogdHJ1ZSB9KTsKICAgICAgYXdhaXQgcGFnZS5rZXlib2FyZC5wcmVzcygiQ29udHJvbCtBIik7CiAgICAgIGF3YWl0IHBhZ2Uua2V5Ym9hcmQucHJlc3MoIkRlbGV0ZSIpOwogICAgICBhd2FpdCBpbnB1dC5maWxsKHQubXNnKTsKICAgICAgYXdhaXQgcGFnZS53YWl0Rm9yVGltZW91dCg0MDApOwogICAgICBhd2FpdCBpbnB1dC5wcmVzcygiRW50ZXIiKTsKICAgICAgCiAgICAgIGNvbnN0IHdhaXRTdGFydCA9IERhdGUubm93KCk7CiAgICAgIGxldCBmb3VuZCA9IGZhbHNlOwogICAgICB3aGlsZSAoRGF0ZS5ub3coKSAtIHdhaXRTdGFydCA8IDUwMDAwKSB7CiAgICAgICAgY29uc3QgYm9keSA9IGF3YWl0IHBhZ2UuZXZhbHVhdGUoKCkgPT4gZG9jdW1lbnQuYm9keS5pbm5lclRleHQpOwogICAgICAgIGlmICh0LmV4cGVjdC50ZXN0KGJvZHkpKSB7IGZvdW5kID0gdHJ1ZTsgYnJlYWs7IH0KICAgICAgICBhd2FpdCBwYWdlLndhaXRGb3JUaW1lb3V0KDE1MDApOwogICAgICB9CiAgICAgIGNvbnN0IGVsYXBzZWQgPSAoKERhdGUubm93KCkgLSB3YWl0U3RhcnQpIC8gMTAwMCkudG9GaXhlZCgxKTsKICAgICAgY29uc29sZS5sb2coZm91bmQgPyBgICDinIUgJHtlbGFwc2VkfXNgIDogYCAg4pqg77iPICR7ZWxhcHNlZH1zYCk7CiAgICAgIAogICAgICBhd2FpdCBwYWdlLmV2YWx1YXRlKCgpID0+IHsgY29uc3QgbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtZXNzYWdlcyIpOyBpZiAobSkgbS5zY3JvbGxUb3AgPSBtLnNjcm9sbEhlaWdodDsgfSk7CiAgICAgIGF3YWl0IHBhZ2Uud2FpdEZvclRpbWVvdXQoMTgwMCk7CiAgICAgIGF3YWl0IHBhZ2Uuc2NyZWVuc2hvdCh7IHBhdGg6IGBvdXRwdXQvdjE0LSR7bnVtfS0ke3QubGFiZWx9LnBuZ2AsIGZ1bGxQYWdlOiBmYWxzZSB9KTsKICAgICAgCiAgICAgIHJlc3VsdHMucHVzaCh7IHR1cm46IGkrMSwgbGFiZWw6IHQubGFiZWwsIHBhc3M6IGZvdW5kLCBlbGFwc2VkIH0pOwogICAgICBhd2FpdCBwYWdlLndhaXRGb3JUaW1lb3V0KDEwMDApOwogICAgfSBjYXRjaCAoZSkgewogICAgICBjb25zb2xlLmxvZyhgICDinYwgJHtlLm1lc3NhZ2Uuc3Vic3RyaW5nKDAsIDEwMCl9YCk7CiAgICAgIHJlc3VsdHMucHVzaCh7IHR1cm46IGkrMSwgbGFiZWw6IHQubGFiZWwsIHBhc3M6IGZhbHNlIH0pOwogICAgfQogIH0KICAKICBhd2FpdCBwYWdlLmV2YWx1YXRlKCgpID0+IHdpbmRvdy5zY3JvbGxUbygwLCBkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodCkpOwogIGF3YWl0IHBhZ2Uud2FpdEZvclRpbWVvdXQoMjAwMCk7CiAgYXdhaXQgcGFnZS5zY3JlZW5zaG90KHsgcGF0aDogIm91dHB1dC92MTQtOTktZmluYWwucG5nIiwgZnVsbFBhZ2U6IHRydWUgfSk7CiAgCiAgY29uc3QgcGFzcyA9IHJlc3VsdHMuZmlsdGVyKHI9PnIucGFzcykubGVuZ3RoOwogIGNvbnNvbGUubG9nKGBcbuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBWMTQgQklMQU4g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQYCk7CiAgY29uc29sZS5sb2coYCR7cGFzc30vJHtyZXN1bHRzLmxlbmd0aH0gUEFTUyDCtyAxMiBjYXBhYmlsaXRpZXMgd2V2aWEgcHVibGljYCk7CiAgcmVzdWx0cy5mb3JFYWNoKHIgPT4gY29uc29sZS5sb2coYCAgJHtyLnBhc3M/IuKchSI6IuKdjCJ9IFQke3IudHVybn0gwrcgJHtyLmxhYmVsfSDCtyAke3IuZWxhcHNlZHx8Ij8ifXNgKSk7Cn0pOwo=");
foreach (glob("$base/*.spec.js") as $old) @unlink($old);
$written = @file_put_contents("$base/v14-premium-tools.spec.js", $spec);
echo json_encode(["written" => $written, "specs" => array_map("basename", glob("$base/*.spec.js"))]);