Files
html/api/ambre-pw-v30b-deploy.php

8 lines
6.9 KiB
PHP

<?php
header("Content-Type: application/json");
$base = "/var/www/html/api/ambre-pw-tests/tests";
$spec = base64_decode("Y29uc3QgeyB0ZXN0IH0gPSByZXF1aXJlKCJAcGxheXdyaWdodC90ZXN0Iik7CmNvbnN0IGZzID0gcmVxdWlyZSgiZnMiKTsKCnRlc3QoIlYzMCDCtyBTSE9XQ0FTRSBDTElFTlQgwrcgMTIgdHVybnMgwrcgTGF1cmEgQ2FycmVmb3VyIE1hcm9jIiwgYXN5bmMgKHsgcGFnZSB9KSA9PiB7CiAgdGVzdC5zZXRUaW1lb3V0KDEyMDAwMDApOwogIAogIGF3YWl0IHBhZ2UuZ290bygiL3dldmlhLmh0bWwiKTsKICBhd2FpdCBwYWdlLmV2YWx1YXRlKCgpID0+IHsgdHJ5IHsgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTsgbG9jYWxTdG9yYWdlLmNsZWFyKCk7IH0gY2F0Y2goZSl7fSB9KTsKICBhd2FpdCBwYWdlLndhaXRGb3JMb2FkU3RhdGUoIm5ldHdvcmtpZGxlIik7CiAgYXdhaXQgcGFnZS53YWl0Rm9yVGltZW91dCgzMDAwKTsKICBhd2FpdCBwYWdlLnNjcmVlbnNob3QoeyBwYXRoOiAib3V0cHV0L3YzMC0wMC1sYW5kaW5nLnBuZyIgfSk7CiAgY29uc29sZS5sb2coIvCfk7ggTGFuZGluZyIpOwogIAogIGNvbnN0IHR1cm5zID0gWwogICAgeyBsYjogIjAxLWhpIiwgICAgICAgIG1zZzogIkJvbmpvdXIsIHByw6lzZW50ZSB0b2kiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVlZGxlOiAvV0VWSUF8Ym9uam91cnxhaWRlcnxjb25zdWx0aW5nL2ksIG14OiAyNSB9LAogICAgeyBsYjogIjAyLW9uYm9hcmQiLCAgIG1zZzogImplIG0nYXBwZWxsZSBMYXVyYSwgamUgZGlyaWdlIGxlIG1hcmtldGluZyBjaGV6IENhcnJlZm91ciBNYXJvYyIsICAgIG5lZWRsZTogL0xhdXJhL2ksIG14OiAzMCB9LAogICAgeyBsYjogIjAzLWNhbGMiLCAgICAgIG1zZzogImNhbGN1bGUgMjQ1MCAqIDEuMTggKyA5MDAiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWVkbGU6IC8zNzkxfDM3OTJ88J+nrnxjYWxjdWwvaSwgbXg6IDIwIH0sCiAgICB7IGxiOiAiMDQtcXIiLCAgICAgICAgbXNnOiAiUVIgY29kZSBwb3VyIGh0dHBzOi8vY2FycmVmb3VyLm1hIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRsZTogL3dldmlhLXFyLXzwn5OxfFFSL2ksIG14OiAyMCB9LAogICAgeyBsYjogIjA1LWltYWdlIiwgICAgIG1zZzogImNyZWUgdW5lIGltYWdlIGRlOiBzdXBlcm1hcmNow6kgbW9kZXJuZSDDqWNsYWlyw6kiLCAgICAgICAgICAgICAgICAgICAgICBuZWVkbGU6IC93ZXZpYS1pbWctfPCfjqh8aW1hZ2UvaSwgbXg6IDM1IH0sCiAgICB7IGxiOiAiMDYtcGRmLXByZW0iLCAgbXNnOiAiZ2VuZXJlIHVuIFBERiBwcmVtaXVtIGF2ZWMgZ3JhcGhpcXVlIHN1cjogc3RyYXTDqWdpZSByZXRhaWwgZGlnaXRhbCBDYXJyZWZvdXIgTWFyb2MgMjAyNiIsIG5lZWRsZTogL1BERiBQcmVtaXVtfFwucGRmfPCfk4R8cGFnZXMvaSwgbXg6IDYwIH0sCiAgICB7IGxiOiAiMDctaGQiLCAgICAgICAgbXNnOiAiaW1hZ2UgSEQgNEsgZGU6IHLDqXRhaWwgc3RvcmUgcHJlbWl1bSBsaWdodGluZyIsICAgICAgICAgICAgICAgICAgICAgIG5lZWRsZTogL3dldmlhLWhkLXw0Sy9pLCBteDogMzUgfSwKICAgIHsgbGI6ICIwOC1zZWFyY2giLCAgICBtc2c6ICJhY3R1YWxpdMOpcyByZXRhaWwgZS1jb21tZXJjZSBNYXJvYyAyMDI2IiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVlZGxlOiAv8J+UjXxzb3VyY2V8YWN0dWFsfGUtY29tbS9pLCBteDogMzUgfSwKICAgIHsgbGI6ICIwOS1yZWNhbGwiLCAgICBtc2c6ICJ0dSB0ZSBzb3V2aWVucyBkZSBtb24gbm9tIGV0IGVudHJlcHJpc2U/IiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVlZGxlOiAvTGF1cmEuKkNhcnJlZm91cnxDYXJyZWZvdXIuKkxhdXJhL2ksIG14OiAyNSB9LAogICAgeyBsYjogIjEwLW1lcm1haWQiLCAgIG1zZzogInNjaMOpbWEgbWVybWFpZCBkdSBwYXJjb3VycyBjbGllbnQgcmV0YWlsIG9tbmljYW5hbCIsICAgICAgICAgICAgICAgICAgbmVlZGxlOiAvZ3JhcGh8Zmxvd2NoYXJ0fG1lcm1haWQvaSwgbXg6IDMwIH0sCiAgICB7IGxiOiAiMTEtcHB0eCIsICAgICAgbXNnOiAiZ2VuZXJlIHVuZSBwcmVzZW50YXRpb24gcHB0eCA1IHBpbGllcnMgSUEgcmV0YWlsIiwgICAgICAgICAgICAgICAgICAgIG5lZWRsZTogL1wucHB0eHzwn5OKfFBvd2VyUG9pbnR8cHJlc2VudGF0aW9uL2ksIG14OiA0NSB9LAogICAgeyBsYjogIjEyLWJpbGFuIiwgICAgIG1zZzogInLDqWNhcGl0dWxlIGNlIHF1J29uIGEgZmFpdCBlbnNlbWJsZSIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVlZGxlOiAvTGF1cmF8Q2FycmVmb3VyfFBERnxpbWFnZXxRUnxwcHR4fHBhcmNvdXJzL2ksIG14OiAzMCB9LAogIF07CiAgCiAgY29uc3QgcmVzdWx0cyA9IFtdOwogIAogIGZvciAobGV0IGkgPSAwOyBpIDwgdHVybnMubGVuZ3RoOyBpKyspIHsKICAgIGNvbnN0IHQgPSB0dXJuc1tpXTsKICAgIGNvbnN0IG51bSA9IFN0cmluZyhpKzEpLnBhZFN0YXJ0KDIsIjAiKTsKICAgIGNvbnNvbGUubG9nKGBcblske251bX0vMTJdICR7dC5sYn0gwrcgJHt0Lm1zZy5zdWJzdHJpbmcoMCw2MCl9YCk7CiAgICAKICAgIHRyeSB7CiAgICAgIGNvbnN0IGlucHV0ID0gcGFnZS5sb2NhdG9yKCIjbXNnSW5wdXQiKTsKICAgICAgYXdhaXQgaW5wdXQuY2xpY2soe2ZvcmNlOnRydWV9KTsKICAgICAgYXdhaXQgcGFnZS5rZXlib2FyZC5wcmVzcygiQ29udHJvbCtBIik7CiAgICAgIGF3YWl0IHBhZ2Uua2V5Ym9hcmQucHJlc3MoIkRlbGV0ZSIpOwogICAgICBhd2FpdCBpbnB1dC5maWxsKHQubXNnKTsKICAgICAgYXdhaXQgcGFnZS53YWl0Rm9yVGltZW91dCg0MDApOwogICAgICAKICAgICAgY29uc3QgYmVmb3JlQ291bnQgPSBhd2FpdCBwYWdlLmV2YWx1YXRlKCgpID0+IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5tc2cuYXNzaXN0YW50IikubGVuZ3RoKTsKICAgICAgYXdhaXQgaW5wdXQucHJlc3MoIkVudGVyIik7CiAgICAgIAogICAgICBjb25zdCB3cyA9IERhdGUubm93KCk7CiAgICAgIGxldCBmb3VuZCA9IGZhbHNlOyBsZXQgcmVwbHkgPSAiIjsgbGV0IGhhc0VyciA9IGZhbHNlOwogICAgICAKICAgICAgd2hpbGUgKERhdGUubm93KCkgLSB3cyA8IHQubXggKiAxMDAwKSB7CiAgICAgICAgY29uc3QgcyA9IGF3YWl0IHBhZ2UuZXZhbHVhdGUoKGJjKSA9PiB7CiAgICAgICAgICBjb25zdCBhID0gQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIubXNnLmFzc2lzdGFudCAuYnViYmxlIikpOwogICAgICAgICAgY29uc3QgY250ID0gYS5sZW5ndGg7CiAgICAgICAgICBjb25zdCBsYXN0ID0gY250ID4gYmMgPyBhW2EubGVuZ3RoLTFdLmlubmVyVGV4dCA6ICIiOwogICAgICAgICAgcmV0dXJuIHsgY250LCBsYXN0IH07CiAgICAgICAgfSwgYmVmb3JlQ291bnQpOwogICAgICAgIAogICAgICAgIGlmIChzLmNudCA+IGJlZm9yZUNvdW50ICYmIHMubGFzdC5sZW5ndGggPiAyNSkgewogICAgICAgICAgcmVwbHkgPSBzLmxhc3Q7CiAgICAgICAgICBpZiAodC5uZWVkbGUudGVzdChyZXBseSkpIHsgZm91bmQgPSB0cnVlOyBicmVhazsgfQogICAgICAgICAgaWYgKC91bmUgZXJyZXVyfGluZGlzcG9uaWJsZS9pLnRlc3QocmVwbHkpKSB7IGhhc0VyciA9IHRydWU7IGJyZWFrOyB9CiAgICAgICAgfQogICAgICAgIGF3YWl0IHBhZ2Uud2FpdEZvclRpbWVvdXQoMTUwMCk7CiAgICAgIH0KICAgICAgCiAgICAgIGNvbnN0IGVsID0gKChEYXRlLm5vdygpLXdzKS8xMDAwKS50b0ZpeGVkKDEpOwogICAgICBjb25zdCBzdCA9IGZvdW5kID8gIuKchSIgOiAoaGFzRXJyID8gIuKdjCIgOiAi4pqg77iPIik7CiAgICAgIGNvbnNvbGUubG9nKGAgICR7c3R9ICR7ZWx9cyDCtyAke3JlcGx5LnN1YnN0cmluZygwLDE0MCkucmVwbGFjZSgvXG4vZywnICcpfWApOwogICAgICAKICAgICAgYXdhaXQgcGFnZS5ldmFsdWF0ZSgoKSA9PiB7IGNvbnN0IG0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWVzc2FnZXMiKTsgaWYobSkgbS5zY3JvbGxUb3AgPSBtLnNjcm9sbEhlaWdodDsgfSk7CiAgICAgIGF3YWl0IHBhZ2Uud2FpdEZvclRpbWVvdXQoMTIwMCk7CiAgICAgIGF3YWl0IHBhZ2Uuc2NyZWVuc2hvdCh7IHBhdGg6IGBvdXRwdXQvdjMwLSR7bnVtfS0ke3QubGJ9LnBuZ2AgfSk7CiAgICAgIAogICAgICByZXN1bHRzLnB1c2goeyB0OiBpKzEsIGxiOiB0LmxiLCBwYXNzOiBmb3VuZCwgZXJyOiBoYXNFcnIsIGVsIH0pOwogICAgICBhd2FpdCBwYWdlLndhaXRGb3JUaW1lb3V0KDgwMCk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGNvbnNvbGUubG9nKGAgIOKdjCBleGNlcHRpb246ICR7ZS5tZXNzYWdlLnN1YnN0cmluZygwLDkwKX1gKTsKICAgICAgcmVzdWx0cy5wdXNoKHsgdDogaSsxLCBsYjogdC5sYiwgcGFzczogZmFsc2UsIGVycjogdHJ1ZSB9KTsKICAgIH0KICB9CiAgCiAgYXdhaXQgcGFnZS5ldmFsdWF0ZSgoKSA9PiB3aW5kb3cuc2Nyb2xsVG8oMCwgZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQpKTsKICBhd2FpdCBwYWdlLndhaXRGb3JUaW1lb3V0KDIwMDApOwogIGF3YWl0IHBhZ2Uuc2NyZWVuc2hvdCh7IHBhdGg6ICJvdXRwdXQvdjMwLTk5LWZpbmFsLnBuZyIsIGZ1bGxQYWdlOiB0cnVlIH0pOwogIAogIGNvbnN0IHAgPSByZXN1bHRzLmZpbHRlcihyPT5yLnBhc3MpLmxlbmd0aDsKICBjb25zdCBlID0gcmVzdWx0cy5maWx0ZXIocj0+ci5lcnIpLmxlbmd0aDsKICBjb25zb2xlLmxvZyhgXG7ilZDilZDilZAgVjMwIFNIT1dDQVNFIEJJTEFOIMK3ICR7cH0vJHtyZXN1bHRzLmxlbmd0aH0gUEFTUyDCtyAke2V9IGVycm9ycyDilZDilZDilZBgKTsKICByZXN1bHRzLmZvckVhY2gociA9PiBjb25zb2xlLmxvZyhgICAke3IucGFzcz8i4pyFIjooci5lcnI/IuKdjCI6IuKaoO+4jyIpfSBUJHtyLnR9IMK3ICR7ci5sYn0gwrcgJHtyLmVsfHwiPyJ9c2ApKTsKICAKICBmcy53cml0ZUZpbGVTeW5jKCJvdXRwdXQvdjMwLWJpbGFuLmpzb24iLCBKU09OLnN0cmluZ2lmeSh7IHBhc3M6IHAsIHRvdGFsOiByZXN1bHRzLmxlbmd0aCwgcmVzdWx0cyB9LCBudWxsLCAyKSk7Cn0pOwo=");
foreach (glob("$base/*.spec.js") as $old) @unlink($old);
$written = @file_put_contents("$base/v30-final-showcase.spec.js", $spec);
echo json_encode(["written" => $written]);