CaiWuXiTong/tests/Unit/Deployment/DingTalkCallbackNginxTest.php

28 lines
1.1 KiB
PHP

<?php
namespace Tests\Unit\Deployment;
use PHPUnit\Framework\TestCase;
class DingTalkCallbackNginxTest extends TestCase
{
public function test_plain_http_is_limited_to_the_registered_dingtalk_callback(): void
{
$config = file_get_contents(base_path('deploy/host-nginx-8442-dingtalk.conf'));
$this->assertStringContainsString('error_page 497 = @plain_http_request;', $config);
$this->assertStringContainsString('if ($uri != /auth/dingtalk/callback)', $config);
$this->assertStringContainsString('proxy_set_header X-Forwarded-Proto http;', $config);
$this->assertStringContainsString('return 308 https://218.93.190.75:8442$request_uri;', $config);
}
public function test_configuration_script_validates_and_restores_on_failure(): void
{
$script = file_get_contents(base_path('deploy/configure-dingtalk-callback.sh'));
$this->assertStringContainsString('nginx -t', $script);
$this->assertStringContainsString('the previous configuration was restored', $script);
$this->assertStringContainsString('DINGTALK_HTTP_CALLBACK_READY=', $script);
}
}