test: add test for OpenProvider

This commit is contained in:
Maël Gangloff 2025-10-27 23:56:06 +01:00
parent fee3f3af44
commit 6bff21838e
No known key found for this signature in database
GPG Key ID: 11FDC81C24A7F629
4 changed files with 33 additions and 2 deletions

View File

@ -19,6 +19,8 @@ NAMECOM_PASSWORD=
NAMECHEAP_USERNAME=
NAMECHEAP_TOKEN=
OPENPROVIDER_TOKEN=
# Typically your IP address, this envvar is required for
# some connectors that need to be provided with your host's
# outgoing IP address.

View File

@ -54,3 +54,4 @@ when@test:
namecom_password: '%env(string:NAMECOM_PASSWORD)%'
namecheap_username: '%env(string:NAMECHEAP_USERNAME)%'
namecheap_token: '%env(string:NAMECHEAP_TOKEN)%'
openprovider_token: '%env(string:OPENPROVIDER_TOKEN)%'

View File

@ -87,7 +87,7 @@ class OpenProviderProvider extends AbstractProvider
// use_domicile
];
if (null !== $this->authData->resellerHandle) {
if (!empty($this->authData->resellerHandle)) {
$payload['resellerHandle'] = $this->authData->resellerHandle;
}
@ -128,6 +128,11 @@ class OpenProviderProvider extends AbstractProvider
return [];
}
public function isSupported(Domain ...$domainList): bool
{
return true;
}
/**
* @throws \Psr\Cache\InvalidArgumentException
*/

View File

@ -74,6 +74,29 @@ class AbstractProviderTest extends ApiTestCase
]);
}
// #[DependsExternal(RDAPServiceTest::class, 'testUpdateRdapServers')]
public function testOpenProvider()
{
$openproviderToken = static::getContainer()->getParameter('openprovider_token');
if (!$openproviderToken) {
$this->markTestSkipped('Missing OpenProvider token');
}
$this->testGenericProvider(ConnectorProvider::OPENPROVIDER, [
'waiveRetractationPeriod' => true,
'acceptConditions' => true,
'ownerLegalAge' => true,
'token' => $openproviderToken,
'adminHandle' => 'HANDLE',
'billingHandle' => 'HANDLE',
'ownerHandle' => 'HANDLE',
'techHandle' => 'HANDLE',
'period' => 1,
'nsGroup' => 'dns-openprovider',
]);
}
private function testGenericProvider(ConnectorProvider $connectorProvider, array $authData): void
{
try {
@ -99,7 +122,7 @@ class AbstractProviderTest extends ApiTestCase
$domain = (new Domain())
->setLdhName((new UuidV4()).'.com')
->setDeleted(true)
->setTld($entityManager->getReference(Tld::class, 'fr'))
->setTld($entityManager->getReference(Tld::class, 'com'))
->setDelegationSigned(false);
$entityManager->persist($domain);