diff --git a/src/Endpoints/Environments.php b/src/Endpoints/Environments.php index 0a02696c..61cc5354 100644 --- a/src/Endpoints/Environments.php +++ b/src/Endpoints/Environments.php @@ -191,6 +191,40 @@ public function disableProductionMode(string $environmentUuid): OperationRespons ); } + /** + * Enable platform email for an environment. + * + * @param string $environmentUuid + * + * @return OperationResponse + */ + public function enableEmail(string $environmentUuid): OperationResponse + { + return new OperationResponse( + $this->client->request( + 'post', + "/environments/$environmentUuid/email/actions/enable" + ) + ); + } + + /** + * Disable platform email for an environment. + * + * @param string $environmentUuid + * + * @return OperationResponse + */ + public function disableEmail(string $environmentUuid): OperationResponse + { + return new OperationResponse( + $this->client->request( + 'post', + "/environments/$environmentUuid/email/actions/disable" + ) + ); + } + /** * Add a new continuous delivery environment to an application. * diff --git a/tests/Endpoints/EnvironmentsTest.php b/tests/Endpoints/EnvironmentsTest.php index 0b4fb357..c700bcc9 100644 --- a/tests/Endpoints/EnvironmentsTest.php +++ b/tests/Endpoints/EnvironmentsTest.php @@ -117,4 +117,32 @@ public function testDeleteCDEnvironment(): void $this->assertEquals('The environment is being deleted.', $result->message); } + + public function testEnableEmail(): void + { + $response = $this->getPsr7JsonResponseForFixture('Endpoints/Environments/enableEmail.json'); + + $client = $this->getMockClient($response); + + /** @var \AcquiaCloudApi\Connector\ClientInterface $client */ + $environment = new Environments($client); + $result = $environment->enableEmail('24-a47ac10b-58cc-4372-a567-0e02b2c3d470'); + + $this->assertInstanceOf('\AcquiaCloudApi\Response\OperationResponse', $result); + $this->assertEquals('Platform Email is being enabled', $result->message); + } + + public function testDisableEmail(): void + { + $response = $this->getPsr7JsonResponseForFixture('Endpoints/Environments/disableEmail.json'); + + $client = $this->getMockClient($response); + + /** @var \AcquiaCloudApi\Connector\ClientInterface $client */ + $environment = new Environments($client); + $result = $environment->disableEmail('24-a47ac10b-58cc-4372-a567-0e02b2c3d470'); + + $this->assertInstanceOf('\AcquiaCloudApi\Response\OperationResponse', $result); + $this->assertEquals('Platform Email is being disabled', $result->message); + } } diff --git a/tests/Fixtures/Endpoints/Environments/disableEmail.json b/tests/Fixtures/Endpoints/Environments/disableEmail.json new file mode 100644 index 00000000..b1de0de4 --- /dev/null +++ b/tests/Fixtures/Endpoints/Environments/disableEmail.json @@ -0,0 +1,3 @@ +{ + "message": "Platform Email is being disabled" +} \ No newline at end of file diff --git a/tests/Fixtures/Endpoints/Environments/enableEmail.json b/tests/Fixtures/Endpoints/Environments/enableEmail.json new file mode 100644 index 00000000..a3538be7 --- /dev/null +++ b/tests/Fixtures/Endpoints/Environments/enableEmail.json @@ -0,0 +1,3 @@ +{ + "message": "Platform Email is being enabled" +} \ No newline at end of file