mediawiki-extensions-Math/tests/phpunit/MathMockHttpTrait.php
Petr Pchelko da8e918fb3 Enable most tests which were previously disabled
Additionally - remove RestbaseInterface::checkBackend.
When HTTP requests are banned from unit tests this method
makes no sence.

MathoidCli tests were not reenabled cause it's a bit hard
to mock shell acceess. Hopefully as part of Shellbox
transition we can have MockShell trait in core and reenable
those tests

Bug: T265628
Depends-On: I350ed59af603a0504704af3265787a4be8f2dc2a
Change-Id: I294d0ed905193850dc38cb3071eb9b31c8863121
2021-08-12 08:57:58 -07:00

58 lines
1.6 KiB
PHP

<?php
namespace MediaWiki\Extension\Math\Tests;
use MockHttpTrait;
trait MathMockHttpTrait {
use MockHttpTrait;
protected function setupBadMathRestBaseMockHttp() {
$this->installMockHttp(
$this->makeFakeHttpMultiClient( [ [
'code' => 400,
'body' => file_get_contents( __DIR__ . '/InputCheck/data/restbase/fail.json' ),
] ] )
);
}
protected function setupSyntaxErrorRestBaseMockHttp() {
$this->installMockHttp(
$this->makeFakeHttpMultiClient( [ [
'code' => 400,
'body' => file_get_contents( __DIR__ . '/InputCheck/data/restbase/syntax_error.json' ),
] ] )
);
}
protected function setupGoodMathRestBaseMockHttp( bool $withSvg = false ) {
$requests = [
$this->makeFakeHttpMultiClient( [ [
'code' => 200,
'headers' => [
'x-resource-location' => 'RESOURCE_LOCATION',
],
'body' => file_get_contents( __DIR__ . '/InputCheck/data/restbase/sinx.json' ),
] ] ),
$this->makeFakeHttpMultiClient( [ file_get_contents( __DIR__ . '/data/restbase/sinx.mml' ), ] ),
];
if ( $withSvg ) {
$requests[] = $this->makeFakeHttpMultiClient( [ 'SVGSVSVG', ] );
}
$this->installMockHttp( $requests );
}
protected function setupGoodChemRestBaseMockHttp() {
$this->installMockHttp( [
$this->makeFakeHttpMultiClient( [ [
'code' => 200,
'headers' => [
'x-resource-location' => 'RESOURCE_LOCATION',
],
'body' => file_get_contents( __DIR__ . '/InputCheck/data/restbase/chem.json' ),
] ] ),
$this->makeFakeHttpMultiClient( [ file_get_contents( __DIR__ . '/data/restbase/h2o.mml' ), ] ),
] );
}
}