38 lines
1.1 KiB
PHP
38 lines
1.1 KiB
PHP
![]() |
<?php
|
||
|
use PHPUnit\Framework\TestCase;
|
||
|
use Microsoft\Graph\Test\GraphTestBase;
|
||
|
use Microsoft\Graph\Model;
|
||
|
|
||
|
class WebhooksTest extends TestCase
|
||
|
{
|
||
|
private $_client;
|
||
|
|
||
|
protected function setUp(): void
|
||
|
{
|
||
|
$graphTestBase = new GraphTestBase();
|
||
|
$this->_client = $graphTestBase->graphClient;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @group functional
|
||
|
*/
|
||
|
public function testWebhooks()
|
||
|
{
|
||
|
$sub = new Model\Subscription();
|
||
|
$sub->setChangeType("created,updated");
|
||
|
$sub->setNotificationUrl("https://webhook-sub-test.azurewebsites.net/api/WebhookTrigger");
|
||
|
$sub->setResource("/me/mailfolders('inbox')/messages");
|
||
|
$time = new \DateTime();
|
||
|
$time->add(new DateInterval("PT1H"));
|
||
|
$sub->setExpirationDateTime($time);
|
||
|
|
||
|
$this->_client->setApiVersion("beta");
|
||
|
$subResult = $this->_client->createRequest("POST", "/subscriptions")
|
||
|
->attachBody($sub)
|
||
|
->setReturnType(Model\Subscription::class)
|
||
|
|
||
|
->execute();
|
||
|
$this->assertNotNull($subResult);
|
||
|
$this->assertEquals($sub->getResource(), $subResult->getResource());
|
||
|
}
|
||
|
}
|