0
0
mirror of https://github.com/PHPMailer/PHPMailer.git synced 2024-09-20 01:52:15 +02:00

Add simple OAuthTokenProvider tests

This commit is contained in:
Marcus Bointon 2022-02-28 15:06:17 +01:00
parent 5a4f1f3a2a
commit d8002e5482
No known key found for this signature in database
GPG Key ID: DE31CD6EB646AA24

View File

@ -14,6 +14,7 @@
namespace PHPMailer\Test\OAuth;
use PHPMailer\PHPMailer\OAuth;
use PHPMailer\PHPMailer\OAuthTokenProvider;
use PHPMailer\PHPMailer\PHPMailer;
use Yoast\PHPUnitPolyfills\TestCases\TestCase;
@ -28,10 +29,11 @@ final class OAuthTest extends TestCase
* @covers PHPMailer\PHPMailer\PHPMailer::getOAuth
* @covers PHPMailer\PHPMailer\PHPMailer::setOAuth
* @covers PHPMailer\PHPMailer\OAuth::__construct
* @covers PHPMailer\PHPMailer\OAuthTokenProvider
*/
public function testOAuth()
{
$PHPMailer = new PHPMailer();
$PHPMailer = new PHPMailer(true);
$reflection = new \ReflectionClass($PHPMailer);
$property = $reflection->getProperty('oauth');
$property->setAccessible(true);
@ -48,6 +50,7 @@ final class OAuthTest extends TestCase
$oauth = new OAuth($options);
self::assertInstanceOf(OAuth::class, $oauth, 'Instantiation of OAuth class failed');
self::assertInstanceOf(OAuthTokenProvider::class, $oauth, 'Instantiation of OAuth class failed');
$subject = $PHPMailer->setOAuth($oauth);
self::assertNull($subject, 'setOAuth() is not a void function');
self::assertInstanceOf(
@ -55,5 +58,16 @@ final class OAuthTest extends TestCase
$PHPMailer->getOAuth(),
'Setting Oauth property to an instance of the OAuth class failed'
);
$this->expectException(\TypeError::class);
$PHPMailer->setOAuth(new \stdClass());
$PHPMailer->setOAuth(new testOAuthProvider());
}
}
class testOAuthProvider implements OAuthTokenProvider
{
public function getOauth64()
{
return 'oauth';
}
}