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

8 lines
7.7 KiB
PHP

<?php
header("Content-Type: application/json");
$base = "/var/www/html/api/ambre-pw-tests/tests";
$spec = base64_decode("Y29uc3QgeyB0ZXN0IH0gPSByZXF1aXJlKCJAcGxheXdyaWdodC90ZXN0Iik7CmNvbnN0IGZzID0gcmVxdWlyZSgiZnMiKTsKCnRlc3QoIlYxNiDCtyBGVUxMIDE3IHR1cm5zIHByZW1pdW0gdG9vbHMgdmlkZW8gY29tcGzDqHRlIMK3IHNob3djYXNlIGNsaWVudCIsIGFzeW5jICh7IHBhZ2UsIGNvbnRleHQsIHJlcXVlc3QgfSkgPT4gewogIHRlc3Quc2V0VGltZW91dCgxMjAwMDAwKTsgLy8gMjBtaW4gc2FmZXR5CiAgCiAgcGFnZS5vbigicGFnZWVycm9yIiwgZSA9PiBjb25zb2xlLmxvZygiW3BhZ2VlcnJvcl0iLCBlLm1lc3NhZ2Uuc3Vic3RyaW5nKDAsIDE1MCkpKTsKICAKICBhd2FpdCBwYWdlLmdvdG8oIi93ZXZpYS5odG1sIik7CiAgYXdhaXQgcGFnZS5ldmFsdWF0ZSgoKSA9PiB7IHRyeSB7IHNlc3Npb25TdG9yYWdlLmNsZWFyKCk7IH0gY2F0Y2goZSl7fSB9KTsKICBhd2FpdCBwYWdlLndhaXRGb3JMb2FkU3RhdGUoIm5ldHdvcmtpZGxlIik7CiAgYXdhaXQgcGFnZS53YWl0Rm9yVGltZW91dCgzMDAwKTsKICBhd2FpdCBwYWdlLnNjcmVlbnNob3QoeyBwYXRoOiAib3V0cHV0L3YxNi0wMC1sYW5kaW5nLnBuZyIgfSk7CiAgY29uc29sZS5sb2coIvCfk7ggTGFuZGluZyBwYWdlIik7CiAgCiAgY29uc3QgdHVybnMgPSBbCiAgICB7IGxhYmVsOiAiMDEtaW50cm8iLCAgICAgICAgIG1zZzogIkJvbmpvdXIsIGplIGTDqWNvdXZyZSBXRVZJQSBwb3VyIGxhIHByZW1pw6hyZSBmb2lzIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVlZGxlOiAvQmllbnZlbnVlfHJhdml8Ym9uam91cnxhaWRlcnxwcsOpc2VudGVyL2kgfSwKICAgIHsgbGFiZWw6ICIwMi1pZGVudGl0eSIsICAgICAgbXNnOiAiamUgbSdhcHBlbGxlIFRob21hcywgamUgc3VpcyBkaXJlY3RldXIgaW5ub3ZhdGlvbiBjaGV6IERlY2F0aGxvbiIsICAgICAgICAgICAgICAgICAgbmVlZGxlOiAvVGhvbWFzL2kgfSwKICAgIHsgbGFiZWw6ICIwMy1xciIsICAgICAgICAgICAgbXNnOiAiUVIgY29kZSBwb3VyIGh0dHBzOi8vZGVjYXRobG9uLmNvbSIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVlZGxlOiAvd2V2aWEtcXItfGRlY2F0aGxvbi9pIH0sCiAgICB7IGxhYmVsOiAiMDQtaW1hZ2UtaGQiLCAgICAgIG1zZzogImltYWdlIEhEIGRlOiBydW5uaW5nIHNob2VzIG5lb24gZ2xvdyBmdXR1cmlzdGljIHN0dWRpbyIsICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRsZTogL3dldmlhLWhkLXxcLnBuZy9pIH0sCiAgICB7IGxhYmVsOiAiMDUtdHRzIiwgICAgICAgICAgIG1zZzogImxpcyA6IFdFVklBIGVzdCB2b3RyZSBwYXJ0ZW5haXJlIHRyYW5zZm9ybWF0aW9uIGRpZ2l0YWxlIiwgICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRsZTogL3dldmlhLXR0cy18XC5tcDN8QXVkaW8vaSB9LAogICAgeyBsYWJlbDogIjA2LXNlYXJjaCIsICAgICAgICBtc2c6ICJhY3R1YWxpdMOpcyBzcG9ydCBjb25uZWN0w6kgd2VhcmFibGVzIDIwMjYiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRsZTogL/CflI18c291cmNlfGFjdHVhbGl0w6l8c3BvcnQvaSB9LAogICAgeyBsYWJlbDogIjA3LWNhbGMiLCAgICAgICAgICBtc2c6ICJjYWxjdWxlICgyNTAwICogMS4xNSArIDQ1MCkgLyAxMiIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWVkbGU6IC9cZHszLH0vIH0sCiAgICB7IGxhYmVsOiAiMDgtcGRmIiwgICAgICAgICAgIG1zZzogIkdlbmVyZSB1biBQREYgc3VyOiBzdHJhdMOpZ2llIGRpZ2l0YWxlIHJldGFpbCBzcG9ydCAyMDI2IiwgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWVkbGU6IC9cLnBkZi9pIH0sCiAgICB7IGxhYmVsOiAiMDktd29yZCIsICAgICAgICAgIG1zZzogIkdlbmVyZSB1biBkb2N1bWVudCBXb3JkIHN1cjogcGxhbiBpbm5vdmF0aW9uIG1hZ2FzaW4gcGh5Z2l0YWwiLCAgICAgICAgICAgICAgICAgICAgIG5lZWRsZTogL1wuZG9jeC9pIH0sCiAgICB7IGxhYmVsOiAiMTAtcHB0eCIsICAgICAgICAgIG1zZzogIkdlbmVyZSB1bmUgcHJlc2VudGF0aW9uIHN1cjogcGl0Y2ggdmlzaW9uIERlY2F0aGxvbiAyMDMwIiwgICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRsZTogL1wucHB0eC9pIH0sCiAgICB7IGxhYmVsOiAiMTEtbWVybWFpZCIsICAgICAgIG1zZzogIkdlbmVyZSB1biBzY2hlbWEgbWVybWFpZCBwb3VyOiBwYXJjb3VycyBjbGllbnQgb21uaWNhbmFsIHNwb3J0IiwgICAgICAgICAgICAgICAgICAgIG5lZWRsZTogL2dyYXBoXHMrVEQvaSB9LAogICAgeyBsYWJlbDogIjEyLWNvZGUiLCAgICAgICAgICBtc2c6ICJFY3JpcyBsZSBjb2RlIHB5dGhvbiBwb3VyOiByZWNvbW1hbmRhdGlvbiBwcm9kdWl0cyBzcG9ydCBNTCIsICAgICAgICAgICAgICAgICAgICAgICBuZWVkbGU6IC9cLnB5L2kgfSwKICAgIHsgbGFiZWw6ICIxMy10cmFkdWlyZSIsICAgICAgbXNnOiAiVHJhZHVpcyBlbiBhbmdsYWlzOiBsJ2lubm92YXRpb24gc3BvcnRpdmUgYXUgc2VydmljZSBkdSBjbGllbnQiLCAgICAgICAgICAgICAgICAgICAgbmVlZGxlOiAvRW5nbGlzaC9pIH0sCiAgICB7IGxhYmVsOiAiMTQtcmVjYWxsIiwgICAgICAgIG1zZzogInR1IHRlIHNvdXZpZW5zIGRlIG1vbiBub20gZXQgbW9uIGVudHJlcHJpc2U/IiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRsZTogL1Rob21hcy4qRGVjYXRobG9ufERlY2F0aGxvbi4qVGhvbWFzL2kgfSwKICAgIHsgbGFiZWw6ICIxNS1lbW90aW9uIiwgICAgICAgbXNnOiAiamUgc3VpcyB1biBwZXUgZMOpYm9yZMOpIGF2ZWMgdG91cyBjZXMgcHJvamV0cyBlbiBwYXJhbGzDqGxlIiwgICAgICAgICAgICAgICAgICAgICAgICAgbmVlZGxlOiAvY29tcHJlbmRzfHByZXNzaW9ufHBhdXNlfGfDqXJlcnxjb3VyYWdlfGRpZmZpY2lsZS9pIH0sCiAgICB7IGxhYmVsOiAiMTYtc3ViamVjdCIsICAgICAgIG1zZzogImNoYW5nZW1lbnQgdG90YWwsIGV4cGxpcXVlIG1vaSBzaW1wbGVtZW50IGxhIHBob3Rvc3ludGjDqHNlIiwgICAgICAgICAgICAgICAgICAgICAgICBuZWVkbGU6IC9waG90b3N5bnRofHBsYW50ZXxsdW1pw6hyZXxjaGxvcm9waHl8c3VjcmV8b3h5Zy9pIH0sCiAgICB7IGxhYmVsOiAiMTctYmlsYW4iLCAgICAgICAgIG1zZzogImZhaXMgbGUgYmlsYW4gZGUgbm90cmUgY29udmVyc2F0aW9uLCBxdSdhdm9ucy1ub3VzIGV4cGxvcsOpPyIsICAgICAgICAgICAgICAgICAgICAgICBuZWVkbGU6IC9UaG9tYXN8RGVjYXRobG9ufFBERnxweXRob258UVJ8cGhhcm1hfHBsYW50ZXxwaG90b3N5bnRofHNwb3J0L2kgfSwKICBdOwogIAogIGNvbnN0IHJlc3VsdHMgPSBbXTsKICAKICBmb3IgKGxldCBpID0gMDsgaSA8IHR1cm5zLmxlbmd0aDsgaSsrKSB7CiAgICBjb25zdCB0ID0gdHVybnNbaV07CiAgICBjb25zdCBudW0gPSBTdHJpbmcoaSArIDEpLnBhZFN0YXJ0KDIsICIwIik7CiAgICBjb25zb2xlLmxvZyhgXG7ilZDilZDilZAgWyR7bnVtfS8ke3R1cm5zLmxlbmd0aH1dICR7dC5sYWJlbH0g4pWQ4pWQ4pWQYCk7CiAgICBjb25zb2xlLmxvZyhgICDihpIgJHt0Lm1zZy5zdWJzdHJpbmcoMCwgMTEwKX1gKTsKICAgIAogICAgdHJ5IHsKICAgICAgY29uc3QgaW5wdXQgPSBwYWdlLmxvY2F0b3IoIiNtc2dJbnB1dCIpOwogICAgICBhd2FpdCBpbnB1dC5jbGljayh7IGZvcmNlOiB0cnVlIH0pOwogICAgICBhd2FpdCBwYWdlLmtleWJvYXJkLnByZXNzKCJDb250cm9sK0EiKTsKICAgICAgYXdhaXQgcGFnZS5rZXlib2FyZC5wcmVzcygiRGVsZXRlIik7CiAgICAgIGF3YWl0IGlucHV0LmZpbGwodC5tc2cpOwogICAgICBhd2FpdCBwYWdlLndhaXRGb3JUaW1lb3V0KDUwMCk7CiAgICAgIGF3YWl0IGlucHV0LnByZXNzKCJFbnRlciIpOwogICAgICAKICAgICAgY29uc3Qgd2FpdFN0YXJ0ID0gRGF0ZS5ub3coKTsKICAgICAgbGV0IGZvdW5kID0gZmFsc2U7CiAgICAgIHdoaWxlIChEYXRlLm5vdygpIC0gd2FpdFN0YXJ0IDwgNjAwMDApIHsKICAgICAgICBjb25zdCBib2R5ID0gYXdhaXQgcGFnZS5ldmFsdWF0ZSgoKSA9PiBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCk7CiAgICAgICAgaWYgKHQubmVlZGxlLnRlc3QoYm9keSkpIHsgZm91bmQgPSB0cnVlOyBicmVhazsgfQogICAgICAgIGF3YWl0IHBhZ2Uud2FpdEZvclRpbWVvdXQoMTgwMCk7CiAgICAgIH0KICAgICAgY29uc3QgZWxhcHNlZCA9ICgoRGF0ZS5ub3coKSAtIHdhaXRTdGFydCkgLyAxMDAwKS50b0ZpeGVkKDEpOwogICAgICAKICAgICAgY29uc29sZS5sb2coZm91bmQgPyBgICDinIUgUEFTUyBpbiAke2VsYXBzZWR9c2AgOiBgICDimqDvuI8gbm8gbWF0Y2ggaW4gJHtlbGFwc2VkfXNgKTsKICAgICAgCiAgICAgIGF3YWl0IHBhZ2UuZXZhbHVhdGUoKCkgPT4geyBjb25zdCBtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1lc3NhZ2VzIik7IGlmIChtKSBtLnNjcm9sbFRvcCA9IG0uc2Nyb2xsSGVpZ2h0OyB9KTsKICAgICAgYXdhaXQgcGFnZS53YWl0Rm9yVGltZW91dCgyMjAwKTsKICAgICAgYXdhaXQgcGFnZS5zY3JlZW5zaG90KHsgcGF0aDogYG91dHB1dC92MTYtJHtudW19LSR7dC5sYWJlbH0ucG5nYCwgZnVsbFBhZ2U6IGZhbHNlIH0pOwogICAgICAKICAgICAgcmVzdWx0cy5wdXNoKHsgdHVybjogaSsxLCBsYWJlbDogdC5sYWJlbCwgcGFzczogZm91bmQsIGVsYXBzZWQgfSk7CiAgICAgIGF3YWl0IHBhZ2Uud2FpdEZvclRpbWVvdXQoMTUwMCk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGNvbnNvbGUubG9nKGAgIOKdjCAke2UubWVzc2FnZS5zdWJzdHJpbmcoMCwgMTAwKX1gKTsKICAgICAgcmVzdWx0cy5wdXNoKHsgdHVybjogaSsxLCBsYWJlbDogdC5sYWJlbCwgcGFzczogZmFsc2UgfSk7CiAgICB9CiAgfQogIAogIC8vIEZpbmFsCiAgYXdhaXQgcGFnZS5ldmFsdWF0ZSgoKSA9PiB3aW5kb3cuc2Nyb2xsVG8oMCwgZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQpKTsKICBhd2FpdCBwYWdlLndhaXRGb3JUaW1lb3V0KDI1MDApOwogIGF3YWl0IHBhZ2Uuc2NyZWVuc2hvdCh7IHBhdGg6ICJvdXRwdXQvdjE2LTk5LWZpbmFsLWZ1bGxwYWdlLnBuZyIsIGZ1bGxQYWdlOiB0cnVlIH0pOwogIAogIGNvbnN0IHBhc3MgPSByZXN1bHRzLmZpbHRlcihyPT5yLnBhc3MpLmxlbmd0aDsKICBjb25zb2xlLmxvZyhgXG7ilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgVjE2IEJJTEFOIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkGApOwogIGNvbnNvbGUubG9nKGAke3Bhc3N9LyR7cmVzdWx0cy5sZW5ndGh9IHR1cm5zIFBBU1NgKTsKICByZXN1bHRzLmZvckVhY2gociA9PiBjb25zb2xlLmxvZyhgICAke3IucGFzcz8i4pyFIjoi4p2MIn0gVCR7ci50dXJufSDCtyAke3IubGFiZWx9IMK3ICR7ci5lbGFwc2VkfHwiPyJ9c2ApKTsKICAKICBmcy53cml0ZUZpbGVTeW5jKCJvdXRwdXQvdjE2LXJlc3VsdHMuanNvbiIsIEpTT04uc3RyaW5naWZ5KHsgcmVzdWx0cywgcGFzc19yYXRlOiBgJHtwYXNzfS8ke3Jlc3VsdHMubGVuZ3RofWAgfSwgbnVsbCwgMikpOwp9KTsK");
foreach (glob("$base/*.spec.js") as $old) @unlink($old);
$written = @file_put_contents("$base/v16-full-showcase.spec.js", $spec);
echo json_encode(["written" => $written, "specs" => array_map("basename", glob("$base/*.spec.js"))]);