diff --git a/autotest.sh b/autotest.sh index f748cbbed12..84ffa0a1c78 100755 --- a/autotest.sh +++ b/autotest.sh @@ -30,8 +30,13 @@ if [ -z "$PHP_EXE" ]; then fi PHP=$(which "$PHP_EXE") if [ -z "$PHPUNIT_EXE" ]; then - PHPUNIT_EXE=phpunit + if [ -f "build/integration/vendor/bin/phpunit" ]; then + PHPUNIT_EXE="./build/integration/vendor/bin/phpunit" + else + PHPUNIT_EXE=phpunit + fi fi + PHPUNIT=$(which "$PHPUNIT_EXE") set -e @@ -56,7 +61,7 @@ else fi if ! [ -x "$PHPUNIT" ]; then - echo "phpunit executable not found, please install phpunit version >= 6.5" >&2 + echo "phpunit executable not found, please install phpunit version >= 9.0" >&2 exit 3 fi diff --git a/tests/Core/Command/Apps/AppsDisableTest.php b/tests/Core/Command/Apps/AppsDisableTest.php index 8995ee2673f..2b276948b04 100644 --- a/tests/Core/Command/Apps/AppsDisableTest.php +++ b/tests/Core/Command/Apps/AppsDisableTest.php @@ -61,7 +61,7 @@ class AppsDisableTest extends TestCase { $this->commandTester->execute($input); - $this->assertRegExp('/' . $pattern . '/', $this->commandTester->getDisplay()); + $this->assertMatchesRegularExpression('/' . $pattern . '/', $this->commandTester->getDisplay()); $this->assertSame($statusCode, $this->commandTester->getStatusCode()); } diff --git a/tests/Core/Command/Apps/AppsEnableTest.php b/tests/Core/Command/Apps/AppsEnableTest.php index 02bf86cfd43..6e577464103 100644 --- a/tests/Core/Command/Apps/AppsEnableTest.php +++ b/tests/Core/Command/Apps/AppsEnableTest.php @@ -66,7 +66,7 @@ class AppsEnableTest extends TestCase { $this->commandTester->execute($input); - $this->assertRegExp('/' . $pattern . '/', $this->commandTester->getDisplay()); + $this->assertMatchesRegularExpression('/' . $pattern . '/', $this->commandTester->getDisplay()); $this->assertSame($statusCode, $this->commandTester->getStatusCode()); } diff --git a/tests/Core/Controller/LoginControllerTest.php b/tests/Core/Controller/LoginControllerTest.php index c97ed53d331..ae033582d3c 100644 --- a/tests/Core/Controller/LoginControllerTest.php +++ b/tests/Core/Controller/LoginControllerTest.php @@ -249,27 +249,30 @@ class LoginControllerTest extends TestCase { ], ] ); - $this->initialStateService->expects($this->at(0)) + $this->initialStateService->expects($this->exactly(11)) ->method('provideInitialState') - ->with( + ->withConsecutive([ 'core', 'loginMessages', [ 'MessageArray1', 'MessageArray2', 'This community release of Nextcloud is unsupported and push notifications are limited.', - ] - ); - $this->initialStateService->expects($this->at(1)) - ->method('provideInitialState') - ->with( - 'core', - 'loginErrors', + ], + ], [ - 'ErrorArray1', - 'ErrorArray2', - ] - ); + 'core', + 'loginErrors', + [ + 'ErrorArray1', + 'ErrorArray2', + ], + ], + [ + 'core', + 'loginUsername', + '', + ]); $expectedResponse = new TemplateResponse( 'core', @@ -288,13 +291,17 @@ class LoginControllerTest extends TestCase { ->expects($this->once()) ->method('isLoggedIn') ->willReturn(false); - $this->initialStateService->expects($this->at(4)) + $this->initialStateService->expects($this->exactly(12)) ->method('provideInitialState') - ->with( + ->withConsecutive([], [], [], [ + 'core', + 'loginAutocomplete', + false + ], [ 'core', 'loginRedirectUrl', 'login/flow' - ); + ]); $expectedResponse = new TemplateResponse( 'core', @@ -355,20 +362,17 @@ class LoginControllerTest extends TestCase { ->method('get') ->with('LdapUser') ->willReturn($user); - $this->initialStateService->expects($this->at(2)) + $this->initialStateService->expects($this->exactly(11)) ->method('provideInitialState') - ->with( + ->withConsecutive([], [], [ 'core', 'loginUsername', 'LdapUser' - ); - $this->initialStateService->expects($this->at(6)) - ->method('provideInitialState') - ->with( + ], [], [], [], [ 'core', 'loginCanResetPassword', $expectedResult - ); + ]); $expectedResponse = new TemplateResponse( 'core', @@ -408,27 +412,21 @@ class LoginControllerTest extends TestCase { ->method('get') ->with('0') ->willReturn($user); - $this->initialStateService->expects($this->at(3)) + $this->initialStateService->expects($this->exactly(11)) ->method('provideInitialState') - ->with( + ->withConsecutive([], [], [], [ 'core', 'loginAutocomplete', true - ); - $this->initialStateService->expects($this->at(5)) - ->method('provideInitialState') - ->with( + ], [], [ 'core', 'loginResetPasswordLink', false - ); - $this->initialStateService->expects($this->at(6)) - ->method('provideInitialState') - ->with( + ], [ 'core', 'loginCanResetPassword', false - ); + ]); $expectedResponse = new TemplateResponse( 'core', diff --git a/tests/Core/Controller/NavigationControllerTest.php b/tests/Core/Controller/NavigationControllerTest.php index 39f389faa5e..ddf307ec06d 100644 --- a/tests/Core/Controller/NavigationControllerTest.php +++ b/tests/Core/Controller/NavigationControllerTest.php @@ -74,14 +74,13 @@ class NavigationControllerTest extends TestCase { $this->urlGenerator->expects($this->any()) ->method('getBaseURL') ->willReturn('http://localhost/'); - $this->urlGenerator->expects($this->at(1)) + $this->urlGenerator->expects($this->exactly(2)) ->method('getAbsoluteURL') - ->with('/index.php/apps/files') - ->willReturn('http://localhost/index.php/apps/files'); - $this->urlGenerator->expects($this->at(3)) - ->method('getAbsoluteURL') - ->with('icon') - ->willReturn('http://localhost/icon'); + ->withConsecutive(['/index.php/apps/files'], ['icon']) + ->willReturnOnConsecutiveCalls( + 'http://localhost/index.php/apps/files', + 'http://localhost/icon' + ); $actual = $this->controller->getAppsNavigation($absolute); $this->assertInstanceOf(DataResponse::class, $actual); $this->assertEquals('http://localhost/index.php/apps/files', $actual->getData()[0]['href']); @@ -104,14 +103,16 @@ class NavigationControllerTest extends TestCase { $this->urlGenerator->expects($this->any()) ->method('getBaseURL') ->willReturn('http://localhost/'); - $this->urlGenerator->expects($this->at(1)) + $this->urlGenerator->expects($this->exactly(2)) ->method('getAbsoluteURL') - ->with('/index.php/settings/user') - ->willReturn('http://localhost/index.php/settings/user'); - $this->urlGenerator->expects($this->at(3)) - ->method('getAbsoluteURL') - ->with('/core/img/settings.svg') - ->willReturn('http://localhost/core/img/settings.svg'); + ->withConsecutive( + ['/index.php/settings/user'], + ['/core/img/settings.svg'] + ) + ->willReturnOnConsecutiveCalls( + 'http://localhost/index.php/settings/user', + 'http://localhost/core/img/settings.svg' + ); $actual = $this->controller->getSettingsNavigation($absolute); $this->assertInstanceOf(DataResponse::class, $actual); $this->assertEquals('http://localhost/index.php/settings/user', $actual->getData()[0]['href']); diff --git a/tests/Core/Controller/TwoFactorChallengeControllerTest.php b/tests/Core/Controller/TwoFactorChallengeControllerTest.php index 27b0f476b61..baf7feaa068 100644 --- a/tests/Core/Controller/TwoFactorChallengeControllerTest.php +++ b/tests/Core/Controller/TwoFactorChallengeControllerTest.php @@ -316,12 +316,12 @@ class TwoFactorChallengeControllerTest extends TestCase { ->method('verifyChallenge') ->with('myprovider', $user, 'token') ->will($this->throwException($exception)); - $this->session->expects($this->at(0)) + $this->session->expects($this->exactly(2)) ->method('set') - ->with('two_factor_auth_error_message', "2FA failed"); - $this->session->expects($this->at(1)) - ->method('set') - ->with('two_factor_auth_error', true); + ->withConsecutive( + ['two_factor_auth_error_message', '2FA failed'], + ['two_factor_auth_error', true] + ); $this->urlGenerator->expects($this->once()) ->method('linkToRoute') ->with('core.TwoFactorChallenge.showChallenge', [ diff --git a/tests/Core/Service/LoginFlowV2ServiceUnitTest.php b/tests/Core/Service/LoginFlowV2ServiceUnitTest.php index c3128dca334..57443ca1328 100644 --- a/tests/Core/Service/LoginFlowV2ServiceUnitTest.php +++ b/tests/Core/Service/LoginFlowV2ServiceUnitTest.php @@ -350,7 +350,7 @@ class LoginFlowV2ServiceUnitTest extends TestCase { // app password is encrypted and must look like: // ZACZOOzxTpKz4+KXL5kZ/gCK0xvkaVi/8yzupAn6Ui6+5qCSKvfPKGgeDRKs0sivvSLzk/XSp811SZCZmH0Y3g== - $this->assertRegExp('/[a-zA-Z\/0-9+=]+/', $loginFlowV2->getAppPassword()); + $this->assertMatchesRegularExpression('/[a-zA-Z\/0-9+=]+/', $loginFlowV2->getAppPassword()); $this->assertEquals('server', $loginFlowV2->getServer()); }