mirror of
https://github.com/Vateron-Media/XC_VM.git
synced 2026-09-26 20:01:57 +02:00
- add PHPUnit bootstrap and config under tests/ - add focused unit tests for GitHubReleases, InputValidator and FfmpegPaths - fix GitHubReleases cache file handling when switching update channel - document PHPUnit PHAR usage and debug run commands in RU/EN docs - document SFTP sync for tests/ and contributor test workflow - remove broad smoke coverage approach in favor of per-file tests
31 lines
838 B
PHP
31 lines
838 B
PHP
<?php
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
final class InputValidatorTest extends TestCase {
|
|
public function testValidateReturnsFalseWhenRequiredFieldsMissing() {
|
|
$this->assertFalse(InputValidator::validate('processProvider', array()));
|
|
}
|
|
|
|
public function testValidateReturnsTrueForMinimalProviderPayload() {
|
|
$payload = array(
|
|
'ip' => '127.0.0.1',
|
|
'port' => 8080,
|
|
'username' => 'user',
|
|
'password' => 'pass',
|
|
'name' => 'provider',
|
|
);
|
|
|
|
$this->assertTrue(InputValidator::validate('processProvider', $payload));
|
|
}
|
|
|
|
public function testValidateOrFailUsesStatusConstant() {
|
|
if (!defined('STATUS_INVALID_INPUT')) {
|
|
define('STATUS_INVALID_INPUT', 400);
|
|
}
|
|
|
|
$result = InputValidator::validateOrFail('processProvider', array('ip' => '127.0.0.1'));
|
|
$this->assertSame(STATUS_INVALID_INPUT, $result['status']);
|
|
}
|
|
}
|