PMC-1378 Create/Fix unit tests for the feature "GMail API email server"

This commit is contained in:
Roly Rudy Gutierrez Pinto
2019-12-12 11:32:20 -04:00
parent d093b959af
commit 920b791601
14 changed files with 1160 additions and 86 deletions

View File

@@ -0,0 +1,46 @@
<?php
namespace Tests\unit\workflow\engine\methods\emailServer;
use Faker\Factory;
use Google_Auth_Exception;
use ProcessMaker\GmailOAuth\GmailOAuth;
use ProcessMaker\Model\User;
use RBAC;
use Tests\TestCase;
class EmailServerGmailOAuthTest extends TestCase
{
/**
* This test expects an exception from the Google client.
* The Google client requires valid codes to obtain the clientId from a request,
* otherwise it will throw an exception.
* @test
*/
public function it_should_try_to_authenticate_on_google_oauth_with_a_fake_code()
{
$faker = Factory::create();
global $RBAC;
$user = User::where('USR_ID', '=', 1)
->get()
->first();
$_SESSION['USER_LOGGED'] = $user['USR_UID'];
$_POST['USR_UID'] = $user['USR_UID'];
$RBAC = RBAC::getSingleton(PATH_DATA, session_id());
$RBAC->initRBAC();
$RBAC->loadUserRolePermission('PROCESSMAKER', $_SESSION['USER_LOGGED']);
$_SESSION['gmailOAuth'] = new GmailOAuth();
/**
* This gets a fake code, according to the nomenclature.
*/
$_GET['code'] = $faker->regexify("/[1-9]\/[a-zA-Z]{25}-[a-zA-Z]{16}_[a-zA-Z]{19}-[a-zA-Z]{24}/");
$this->expectException(Google_Auth_Exception::class);
require_once PATH_METHODS . 'emailServer/emailServerGmailOAuth.php';
}
}