mailgun-php/tests/Api/Suppression/BounceTest.php

87 lines
2.2 KiB
PHP
Raw Permalink Normal View History

2018-08-05 12:43:31 +03:00
<?php
declare(strict_types=1);
2018-08-05 12:43:31 +03:00
/*
* Copyright (C) 2013 Mailgun
*
* This software may be modified and distributed under the terms
* of the MIT license. See the LICENSE file for details.
*/
namespace Mailgun\Tests\Api;
use Mailgun\Api\Suppression\Bounce;
use Mailgun\Model\Suppression\Bounce\CreateResponse;
use Mailgun\Model\Suppression\Bounce\DeleteResponse;
use Mailgun\Model\Suppression\Bounce\IndexResponse;
use Mailgun\Model\Suppression\Bounce\ShowResponse;
/**
* @author Tobias Nyholm <tobias.nyholm@gmail.com>
*/
class BounceTest extends TestCase
{
public function testIndex()
{
$this->setRequestMethod('GET');
$this->setRequestUri('/v3/example.com/bounces?limit=100');
$this->setHydrateClass(IndexResponse::class);
$api = $this->getApiInstance();
$api->index('example.com');
}
public function testShow()
{
$this->setRequestMethod('GET');
$this->setRequestUri('/v3/example.com/bounces/foo@bar.com');
$this->setHydrateClass(ShowResponse::class);
$api = $this->getApiInstance();
$api->show('example.com', 'foo@bar.com');
}
public function testCreate()
{
$this->setRequestMethod('POST');
$this->setRequestUri('/v3/example.com/bounces');
$this->setHydrateClass(CreateResponse::class);
$this->setRequestBody([
'address' => 'foo@bar.com',
2018-08-05 13:00:05 +03:00
'foo' => 'xxx',
2018-08-05 12:43:31 +03:00
]);
$api = $this->getApiInstance();
2018-08-05 13:00:05 +03:00
$api->create('example.com', 'foo@bar.com', ['foo' => 'xxx']);
2018-08-05 12:43:31 +03:00
}
public function testDelete()
{
$this->setRequestMethod('DELETE');
$this->setRequestUri('/v3/example.com/bounces/foo@bar.com');
$this->setHydrateClass(DeleteResponse::class);
$api = $this->getApiInstance();
2018-08-05 12:47:09 +03:00
$api->delete('example.com', 'foo@bar.com');
2018-08-05 12:43:31 +03:00
}
public function testDeleteAll()
{
$this->setRequestMethod('DELETE');
$this->setRequestUri('/v3/example.com/bounces');
$this->setHydrateClass(DeleteResponse::class);
$api = $this->getApiInstance();
2018-08-05 12:47:09 +03:00
$api->deleteAll('example.com');
2018-08-05 12:43:31 +03:00
}
/**
* {@inheritdoc}
*/
protected function getApiClass()
{
return Bounce::class;
}
}