Allow verification of partially verified Sender domains
[MAILPOET-5817]
This commit is contained in:
committed by
Aschepikov
parent
0eb531f675
commit
ab296401b2
@@ -121,8 +121,6 @@ class AuthorizedSenderDomainController {
|
|||||||
$records = $this->bridge->getAuthorizedSenderDomains();
|
$records = $this->bridge->getAuthorizedSenderDomains();
|
||||||
|
|
||||||
$allDomains = $this->returnAllDomains($records);
|
$allDomains = $this->returnAllDomains($records);
|
||||||
$verifiedDomains = $this->returnVerifiedDomains($records);
|
|
||||||
|
|
||||||
$alreadyExist = in_array($domain, $allDomains);
|
$alreadyExist = in_array($domain, $allDomains);
|
||||||
|
|
||||||
if (!$alreadyExist) {
|
if (!$alreadyExist) {
|
||||||
@@ -130,6 +128,7 @@ class AuthorizedSenderDomainController {
|
|||||||
throw new \InvalidArgumentException(self::AUTHORIZED_SENDER_DOMAIN_ERROR_NOT_CREATED);
|
throw new \InvalidArgumentException(self::AUTHORIZED_SENDER_DOMAIN_ERROR_NOT_CREATED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$verifiedDomains = $this->getFullyVerifiedSenderDomains(true);
|
||||||
$alreadyVerified = in_array($domain, $verifiedDomains);
|
$alreadyVerified = in_array($domain, $verifiedDomains);
|
||||||
|
|
||||||
if ($alreadyVerified) {
|
if ($alreadyVerified) {
|
||||||
|
@@ -134,12 +134,58 @@ class AuthorizedSenderDomainControllerTest extends \MailPoetTest {
|
|||||||
['status' => 'valid'],
|
['status' => 'valid'],
|
||||||
['status' => 'valid'],
|
['status' => 'valid'],
|
||||||
['status' => 'valid'],
|
['status' => 'valid'],
|
||||||
|
['status' => 'valid'],
|
||||||
]];
|
]];
|
||||||
|
|
||||||
|
$domainsRawData = [
|
||||||
|
'testdomain.com' => [
|
||||||
|
'domain' => 'testdomain.com',
|
||||||
|
'domain_status' => 'verified',
|
||||||
|
'dns' => [],
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
$getSenderDomainsExpectation = Expected::once($domains);
|
$getSenderDomainsExpectation = Expected::once($domains);
|
||||||
|
$getSenderDomainsRawDataExpectation = Expected::once($domainsRawData);
|
||||||
$verifySenderDomainsExpectation = Expected::never();
|
$verifySenderDomainsExpectation = Expected::never();
|
||||||
|
|
||||||
$bridgeMock = $this->make(Bridge::class, [
|
$bridgeMock = $this->make(Bridge::class, [
|
||||||
'getAuthorizedSenderDomains' => $getSenderDomainsExpectation,
|
'getAuthorizedSenderDomains' => $getSenderDomainsExpectation,
|
||||||
|
'getRawSenderDomainData' => $getSenderDomainsRawDataExpectation,
|
||||||
|
'verifyAuthorizedSenderDomain' => $verifySenderDomainsExpectation,
|
||||||
|
]);
|
||||||
|
$controller = $this->getController($bridgeMock);
|
||||||
|
$controller->verifyAuthorizedSenderDomain('testdomain.com');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testVerifyAuthorizedSenderDomainVerifiesPartiallyVerifiedDomains() {
|
||||||
|
$domains = ['testdomain.com' => [
|
||||||
|
['status' => 'valid'],
|
||||||
|
['status' => 'valid'],
|
||||||
|
['status' => 'valid'],
|
||||||
|
['status' => 'pending'],
|
||||||
|
]];
|
||||||
|
|
||||||
|
$domainsRawData = [
|
||||||
|
'testdomain.com' => [
|
||||||
|
'domain' => 'testdomain.com',
|
||||||
|
'domain_status' => 'partially_verified',
|
||||||
|
'dns' => [],
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
$response = [
|
||||||
|
'status' => API::RESPONSE_STATUS_OK,
|
||||||
|
'dns' => [],
|
||||||
|
];
|
||||||
|
|
||||||
|
$getSenderDomainsExpectation = Expected::once($domains);
|
||||||
|
$getSenderDomainsRawDataExpectation = Expected::once($domainsRawData);
|
||||||
|
$verifySenderDomainsExpectation = Expected::once($response);
|
||||||
|
|
||||||
|
$bridgeMock = $this->make(Bridge::class, [
|
||||||
|
'getAuthorizedSenderDomains' => $getSenderDomainsExpectation,
|
||||||
|
'getRawSenderDomainData' => $getSenderDomainsRawDataExpectation,
|
||||||
'verifyAuthorizedSenderDomain' => $verifySenderDomainsExpectation,
|
'verifyAuthorizedSenderDomain' => $verifySenderDomainsExpectation,
|
||||||
]);
|
]);
|
||||||
$controller = $this->getController($bridgeMock);
|
$controller = $this->getController($bridgeMock);
|
||||||
@@ -209,7 +255,15 @@ class AuthorizedSenderDomainControllerTest extends \MailPoetTest {
|
|||||||
$this->expectExceptionMessage($errorMessage);
|
$this->expectExceptionMessage($errorMessage);
|
||||||
|
|
||||||
$domains = ['testdomain.com' => []];
|
$domains = ['testdomain.com' => []];
|
||||||
|
$domainsRawData = [
|
||||||
|
'testdomain.com' => [
|
||||||
|
'domain' => 'testdomain.com',
|
||||||
|
'domain_status' => 'unverified',
|
||||||
|
'dns' => [],
|
||||||
|
],
|
||||||
|
];
|
||||||
$getSenderDomainsExpectation = Expected::once($domains);
|
$getSenderDomainsExpectation = Expected::once($domains);
|
||||||
|
$getSenderDomainsRawDataExpectation = Expected::once($domainsRawData);
|
||||||
$verifySenderDomainsExpectation = Expected::once([
|
$verifySenderDomainsExpectation = Expected::once([
|
||||||
'error' => $errorMessage,
|
'error' => $errorMessage,
|
||||||
'message' => $errorMessage,
|
'message' => $errorMessage,
|
||||||
@@ -218,6 +272,7 @@ class AuthorizedSenderDomainControllerTest extends \MailPoetTest {
|
|||||||
|
|
||||||
$bridgeMock = $this->make(Bridge::class, [
|
$bridgeMock = $this->make(Bridge::class, [
|
||||||
'getAuthorizedSenderDomains' => $getSenderDomainsExpectation,
|
'getAuthorizedSenderDomains' => $getSenderDomainsExpectation,
|
||||||
|
'getRawSenderDomainData' => $getSenderDomainsRawDataExpectation,
|
||||||
'verifyAuthorizedSenderDomain' => $verifySenderDomainsExpectation,
|
'verifyAuthorizedSenderDomain' => $verifySenderDomainsExpectation,
|
||||||
]);
|
]);
|
||||||
$controller = $this->getController($bridgeMock);
|
$controller = $this->getController($bridgeMock);
|
||||||
|
Reference in New Issue
Block a user