mirror of
https://github.com/nextcloud/server.git
synced 2026-06-09 08:44:07 -04:00
fix(tests): remove integration tests that depend on deleted Remote API classes
The Remote API classes (OC\Remote\* and OCP\Remote\*) were removed in #60953, but the remoteapi Behat integration suite was not updated. This caused fatal PHP errors when Behat tried to bootstrap RemoteContext, breaking the integration test run on master. Remove RemoteContext.php, remote.feature, and the remoteapi suite entry in behat.yml since there is nothing left to test. Assisted-by: ClaudeCode:claude-sonnet-4-6 Signed-off-by: Anna Larch <anna@nextcloud.com>
This commit is contained in:
parent
b6d0e19876
commit
09ed12161d
3 changed files with 0 additions and 199 deletions
|
|
@ -254,19 +254,6 @@ default:
|
|||
- admin
|
||||
- admin
|
||||
regular_user_password: 123456
|
||||
remoteapi:
|
||||
paths:
|
||||
- "%paths.base%/../remoteapi_features"
|
||||
contexts:
|
||||
- FeatureContext:
|
||||
baseUrl: http://localhost:8080/ocs/
|
||||
admin:
|
||||
- admin
|
||||
- admin
|
||||
regular_user_password: 123456
|
||||
- RemoteContext:
|
||||
remote: http://localhost:8080
|
||||
|
||||
ratelimiting:
|
||||
paths:
|
||||
- "%paths.base%/../ratelimiting_features"
|
||||
|
|
|
|||
|
|
@ -1,146 +0,0 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
use Behat\Behat\Context\Context;
|
||||
use OC\Remote\Api\OCS;
|
||||
use OC\Remote\Credentials;
|
||||
use OC\Remote\Instance;
|
||||
use OC\Remote\User;
|
||||
use OCP\Http\Client\IClientService;
|
||||
use OCP\ICacheFactory;
|
||||
use OCP\IConfig;
|
||||
use OCP\Server;
|
||||
use PHPUnit\Framework\Assert;
|
||||
|
||||
require __DIR__ . '/autoload.php';
|
||||
|
||||
/**
|
||||
* Remote context.
|
||||
*/
|
||||
class RemoteContext implements Context {
|
||||
/** @var Instance */
|
||||
protected $remoteInstance;
|
||||
|
||||
/** @var Credentials */
|
||||
protected $credentails;
|
||||
|
||||
/** @var User */
|
||||
protected $userResult;
|
||||
|
||||
protected $lastException;
|
||||
|
||||
public function __construct(
|
||||
private string $remote,
|
||||
) {
|
||||
require_once __DIR__ . '/../../../../lib/base.php';
|
||||
}
|
||||
|
||||
protected function getApiClient() {
|
||||
return new OCS($this->remoteInstance, $this->credentails, Server::get(IClientService::class));
|
||||
}
|
||||
|
||||
/**
|
||||
* @Given /^using remote server "(REMOTE|NON_EXISTING)"$/
|
||||
*
|
||||
* @param string $remoteServer "NON_EXISTING" or "REMOTE"
|
||||
*/
|
||||
public function selectRemoteInstance($remoteServer) {
|
||||
if ($remoteServer == 'REMOTE') {
|
||||
$baseUri = $this->remote;
|
||||
} else {
|
||||
$baseUri = 'nonexistingnextcloudserver.local';
|
||||
}
|
||||
$this->lastException = null;
|
||||
try {
|
||||
$this->remoteInstance = new Instance($baseUri, Server::get(ICacheFactory::class)->createLocal(), Server::get(IClientService::class));
|
||||
// trigger the status request
|
||||
$this->remoteInstance->getProtocol();
|
||||
} catch (\Exception $e) {
|
||||
$this->lastException = $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @Then /^the remote version should be "([^"]*)"$/
|
||||
* @param string $version
|
||||
*/
|
||||
public function theRemoteVersionShouldBe($version) {
|
||||
if ($version === '__current_version__') {
|
||||
$version = Server::get(IConfig::class)->getSystemValue('version', '0.0.0.0');
|
||||
}
|
||||
|
||||
Assert::assertEquals($version, $this->remoteInstance->getVersion());
|
||||
}
|
||||
|
||||
/**
|
||||
* @Then /^the remote protocol should be "([^"]*)"$/
|
||||
* @param string $protocol
|
||||
*/
|
||||
public function theRemoteProtocolShouldBe($protocol) {
|
||||
Assert::assertEquals($protocol, $this->remoteInstance->getProtocol());
|
||||
}
|
||||
|
||||
/**
|
||||
* @Given /^using credentials "([^"]*)", "([^"]*)"/
|
||||
* @param string $user
|
||||
* @param string $password
|
||||
*/
|
||||
public function usingCredentials($user, $password) {
|
||||
$this->credentails = new Credentials($user, $password);
|
||||
}
|
||||
|
||||
/**
|
||||
* @When /^getting the remote user info for "([^"]*)"$/
|
||||
* @param string $user
|
||||
*/
|
||||
public function remoteUserInfo($user) {
|
||||
$this->lastException = null;
|
||||
try {
|
||||
$this->userResult = $this->getApiClient()->getUser($user);
|
||||
} catch (\Exception $e) {
|
||||
$this->lastException = $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @Then /^the remote user should have userid "([^"]*)"$/
|
||||
* @param string $user
|
||||
*/
|
||||
public function remoteUserId($user) {
|
||||
Assert::assertEquals($user, $this->userResult->getUserId());
|
||||
}
|
||||
|
||||
/**
|
||||
* @Then /^the request should throw a "([^"]*)"$/
|
||||
* @param string $class
|
||||
*/
|
||||
public function lastError($class) {
|
||||
Assert::assertEquals($class, get_class($this->lastException));
|
||||
}
|
||||
|
||||
/**
|
||||
* @Then /^the capability "([^"]*)" is "([^"]*)"$/
|
||||
* @param string $key
|
||||
* @param string $value
|
||||
*/
|
||||
public function hasCapability($key, $value) {
|
||||
try {
|
||||
$capabilities = $this->getApiClient()->getCapabilities();
|
||||
} catch (\Exception $e) {
|
||||
Assert::assertInstanceOf($value, $e);
|
||||
$this->lastException = $e;
|
||||
return;
|
||||
}
|
||||
$current = $capabilities;
|
||||
$parts = explode('.', $key);
|
||||
foreach ($parts as $part) {
|
||||
if ($current !== null) {
|
||||
$current = isset($current[$part]) ? $current[$part] : null;
|
||||
}
|
||||
}
|
||||
Assert::assertEquals($value, $current);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
# SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
Feature: remote
|
||||
|
||||
Scenario: Get status of remote server
|
||||
Given using remote server "REMOTE"
|
||||
Then the remote version should be "__current_version__"
|
||||
And the remote protocol should be "http"
|
||||
|
||||
Scenario: Get status of a non existing server
|
||||
Given using remote server "NON_EXISTING"
|
||||
Then the request should throw a "OC\Remote\Api\NotFoundException"
|
||||
|
||||
Scenario: Get user info for a remote user
|
||||
Given using remote server "REMOTE"
|
||||
And user "user0" exists
|
||||
And using credentials "user0", "123456"
|
||||
When getting the remote user info for "user0"
|
||||
Then the remote user should have userid "user0"
|
||||
|
||||
Scenario: Get user info for a non existing remote user
|
||||
Given using remote server "REMOTE"
|
||||
And user "user0" exists
|
||||
And using credentials "user0", "123456"
|
||||
When getting the remote user info for "user_non_existing"
|
||||
Then the request should throw a "OC\Remote\Api\NotFoundException"
|
||||
|
||||
Scenario: Get user info with invalid credentials
|
||||
Given using remote server "REMOTE"
|
||||
And user "user0" exists
|
||||
And using credentials "user0", "invalid"
|
||||
When getting the remote user info for "user0"
|
||||
Then the request should throw a "OC\ForbiddenException"
|
||||
|
||||
Scenario: Get capability of remote server
|
||||
Given using remote server "REMOTE"
|
||||
And user "user0" exists
|
||||
And using credentials "user0", "invalid"
|
||||
Then the capability "theming.name" is "OC\ForbiddenException"
|
||||
Then the request should throw a "OC\ForbiddenException"
|
||||
Loading…
Reference in a new issue