Finalize screenshot tests

This commit is contained in:
Matej Bačo
2025-02-20 14:22:30 +01:00
parent d941d18e8c
commit 732e74f114
9 changed files with 38 additions and 45 deletions
+2 -3
View File
@@ -236,10 +236,9 @@ $createGitDeployments = function (GitHub $github, string $providerInstallationId
$projectId = $project->getId();
$sitesDomain = System::getEnv('_APP_DOMAIN_SITES', '');
$domain = "{$deploymentId}-{$projectId}.{$sitesDomain}";
$domain = ID::unique() . "." . $sitesDomain;
$ruleId = md5($domain);
$rule = Authorization::skip(
Authorization::skip(
fn () => $dbForPlatform->createDocument('rules', new Document([
'$id' => $ruleId,
'projectId' => $project->getId(),
+3 -3
View File
@@ -1964,13 +1964,13 @@ App::setResource(
App::setResource('previewHostname', function (Request $request, ?Key $apiKey) {
$allowed = false;
if(App::isDevelopment()) {
if (App::isDevelopment()) {
$allowed = true;
} else if(!is_null($apiKey) && $apiKey->getHostnameOverride() === true) {
} elseif (!is_null($apiKey) && $apiKey->getHostnameOverride() === true) {
$allowed = true;
}
if($allowed === true) {
if ($allowed === true) {
$host = $request->getQuery('appwrite-hostname', $request->getHeader('x-appwrite-hostname', ''));
if (!empty($host)) {
return $host;
Generated
+6 -6
View File
@@ -6190,16 +6190,16 @@
},
{
"name": "phpstan/phpdoc-parser",
"version": "2.0.2",
"version": "2.1.0",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
"reference": "51087f87dcce2663e1fed4dfd4e56eccd580297e"
"reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/51087f87dcce2663e1fed4dfd4e56eccd580297e",
"reference": "51087f87dcce2663e1fed4dfd4e56eccd580297e",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/9b30d6fd026b2c132b3985ce6b23bec09ab3aa68",
"reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68",
"shasum": ""
},
"require": {
@@ -6231,9 +6231,9 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
"source": "https://github.com/phpstan/phpdoc-parser/tree/2.0.2"
"source": "https://github.com/phpstan/phpdoc-parser/tree/2.1.0"
},
"time": "2025-02-17T20:25:51+00:00"
"time": "2025-02-19T13:28:12+00:00"
},
{
"name": "phpstan/phpstan",
@@ -172,14 +172,10 @@ class Base extends Action
'activate' => $activate,
]));
// Preview deployments for sites
$projectId = $project->getId();
$sitesDomain = System::getEnv('_APP_DOMAIN_SITES', '');
$domain = "{$deploymentId}-{$projectId}.{$sitesDomain}";
$domain = ID::unique() . "." . $sitesDomain;
$ruleId = md5($domain);
$rule = Authorization::skip(
Authorization::skip(
fn () => $dbForPlatform->createDocument('rules', new Document([
'$id' => $ruleId,
'projectId' => $project->getId(),
@@ -740,12 +740,12 @@ class Builds extends Action
$configs = [
'screenshot' => [
'headers' => [ 'x-appwrite-hostname' => $rule->getAttribute('domain') ],
'url' => 'http://traefik/',
'url' => 'http://traefik/?appwrite-preview=1&appwrite-theme=light',
'color' => 'light'
],
'screenshotDark' => [
'headers' => [ 'x-appwrite-hostname' => $rule->getAttribute('domain') ],
'url' => 'http://traefik/',
'url' => 'http://traefik/?appwrite-preview=1&appwrite-theme=dark',
'color' => 'dark'
],
];
@@ -103,13 +103,10 @@ class Create extends Action
]));
// Preview deployments for sites
$projectId = $project->getId();
$sitesDomain = System::getEnv('_APP_DOMAIN_SITES', '');
$domain = "{$deploymentId}-{$projectId}.{$sitesDomain}";
$domain = ID::unique() . "." . $sitesDomain;
$ruleId = md5($domain);
$rule = Authorization::skip(
Authorization::skip(
fn () => $dbForPlatform->createDocument('rules', new Document([
'$id' => $ruleId,
'projectId' => $project->getId(),
@@ -228,14 +228,10 @@ class Create extends Action
'type' => $type
]));
// Preview deployments for sites
$projectId = $project->getId();
$sitesDomain = System::getEnv('_APP_DOMAIN_SITES', '');
$domain = "{$deploymentId}-{$projectId}.{$sitesDomain}";
$domain = ID::unique() . "." . $sitesDomain;
$ruleId = md5($domain);
$rule = Authorization::skip(
Authorization::skip(
fn () => $dbForPlatform->createDocument('rules', new Document([
'$id' => $ruleId,
'projectId' => $project->getId(),
@@ -283,14 +279,10 @@ class Create extends Action
'type' => $type
]));
// Preview deployments for sites
$projectId = $project->getId();
$sitesDomain = System::getEnv('_APP_DOMAIN_SITES', '');
$domain = "{$deploymentId}-{$projectId}.{$sitesDomain}";
$domain = ID::unique() . "." . $sitesDomain;
$ruleId = md5($domain);
$rule = Authorization::skip(
Authorization::skip(
fn () => $dbForPlatform->createDocument('rules', new Document([
'$id' => $ruleId,
'projectId' => $project->getId(),
@@ -139,18 +139,15 @@ class Create extends Base
'activate' => $activate,
]));
// Preview deployments url
$projectId = $project->getId();
$sitesDomain = System::getEnv('_APP_DOMAIN_SITES', '');
$previewDomain = "{$deploymentId}-{$projectId}.{$sitesDomain}";
$rule = Authorization::skip(
$domain = ID::unique() . "." . $sitesDomain;
$ruleId = md5($domain);
Authorization::skip(
fn () => $dbForPlatform->createDocument('rules', new Document([
'$id' => \md5($previewDomain),
'$id' => $ruleId,
'projectId' => $project->getId(),
'projectInternalId' => $project->getInternalId(),
'domain' => $previewDomain,
'domain' => $domain,
'resourceType' => 'deployment',
'resourceId' => $deploymentId,
'resourceInternalId' => $deployment->getInternalId(),
+12
View File
@@ -51,6 +51,18 @@ trait SitesBase
$this->assertEquals('ready', $deployment['body']['status'], 'Deployment status is not ready, deployment: ' . json_encode($deployment['body'], JSON_PRETTY_PRINT));
}, 100000, 500);
// Not === so multipart/form-data works fine too
if (($params['activate'] ?? false) == true) {
$this->assertEventually(function () use ($siteId, $deploymentId) {
$site = $this->client->call(Client::METHOD_GET, '/sites/' . $siteId, array_merge([
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
'x-appwrite-key' => $this->getProject()['apiKey'],
]));
$this->assertEquals($deploymentId, $site['body']['deploymentId'], 'Deployment is not activated, deployment: ' . json_encode($site['body'], JSON_PRETTY_PRINT));
}, 100000, 500);
}
return $deploymentId;
}