Changeset View
Changeset View
Standalone View
Standalone View
src/tests/TestCaseTrait.php
<?php | <?php | ||||
namespace Tests; | namespace Tests; | ||||
use App\Domain; | use App\Domain; | ||||
use App\Group; | use App\Group; | ||||
use App\Resource; | use App\Resource; | ||||
use App\SharedFolder; | |||||
use App\Sku; | use App\Sku; | ||||
use App\Transaction; | use App\Transaction; | ||||
use App\User; | use App\User; | ||||
use Carbon\Carbon; | use Carbon\Carbon; | ||||
use Illuminate\Contracts\Console\Kernel; | use Illuminate\Contracts\Console\Kernel; | ||||
use Illuminate\Support\Facades\Queue; | use Illuminate\Support\Facades\Queue; | ||||
use PHPUnit\Framework\Assert; | use PHPUnit\Framework\Assert; | ||||
▲ Show 20 Lines • Show All 133 Lines • ▼ Show 20 Lines | trait TestCaseTrait | ||||
/** | /** | ||||
* Removes all beta entitlements from the database | * Removes all beta entitlements from the database | ||||
*/ | */ | ||||
protected function clearBetaEntitlements(): void | protected function clearBetaEntitlements(): void | ||||
{ | { | ||||
$beta_handlers = [ | $beta_handlers = [ | ||||
'App\Handlers\Beta', | 'App\Handlers\Beta', | ||||
'App\Handlers\Beta\Resources', | 'App\Handlers\Beta\Resources', | ||||
'App\Handlers\Beta\SharedFolders', | |||||
'App\Handlers\Distlist', | 'App\Handlers\Distlist', | ||||
]; | ]; | ||||
$betas = Sku::whereIn('handler_class', $beta_handlers)->pluck('id')->all(); | $betas = Sku::whereIn('handler_class', $beta_handlers)->pluck('id')->all(); | ||||
\App\Entitlement::whereIn('sku_id', $betas)->delete(); | \App\Entitlement::whereIn('sku_id', $betas)->delete(); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 148 Lines • ▼ Show 20 Lines | protected function deleteTestResource($email) | ||||
$job = new \App\Jobs\Resource\DeleteJob($resource->id); | $job = new \App\Jobs\Resource\DeleteJob($resource->id); | ||||
$job->handle(); | $job->handle(); | ||||
$resource->forceDelete(); | $resource->forceDelete(); | ||||
} | } | ||||
/** | /** | ||||
* Delete a test shared folder whatever it takes. | |||||
* | |||||
* @coversNothing | |||||
*/ | |||||
protected function deleteTestSharedFolder($email) | |||||
{ | |||||
Queue::fake(); | |||||
$folder = SharedFolder::withTrashed()->where('email', $email)->first(); | |||||
if (!$folder) { | |||||
return; | |||||
} | |||||
$job = new \App\Jobs\SharedFolder\DeleteJob($folder->id); | |||||
$job->handle(); | |||||
$folder->forceDelete(); | |||||
} | |||||
/** | |||||
* Delete a test user whatever it takes. | * Delete a test user whatever it takes. | ||||
* | * | ||||
* @coversNothing | * @coversNothing | ||||
*/ | */ | ||||
protected function deleteTestUser($email) | protected function deleteTestUser($email) | ||||
{ | { | ||||
Queue::fake(); | Queue::fake(); | ||||
▲ Show 20 Lines • Show All 41 Lines • ▼ Show 20 Lines | trait TestCaseTrait | ||||
protected function getTestGroup($email, $attrib = []) | protected function getTestGroup($email, $attrib = []) | ||||
{ | { | ||||
// Disable jobs (i.e. skip LDAP oprations) | // Disable jobs (i.e. skip LDAP oprations) | ||||
Queue::fake(); | Queue::fake(); | ||||
return Group::firstOrCreate(['email' => $email], $attrib); | return Group::firstOrCreate(['email' => $email], $attrib); | ||||
} | } | ||||
/** | /** | ||||
* Get Resource object by name+domain, create it if needed. | * Get Resource object by email, create it if needed. | ||||
* Skip LDAP jobs. | * Skip LDAP jobs. | ||||
*/ | */ | ||||
protected function getTestResource($email, $attrib = []) | protected function getTestResource($email, $attrib = []) | ||||
{ | { | ||||
// Disable jobs (i.e. skip LDAP oprations) | // Disable jobs (i.e. skip LDAP oprations) | ||||
Queue::fake(); | Queue::fake(); | ||||
$resource = Resource::where('email', $email)->first(); | $resource = Resource::where('email', $email)->first(); | ||||
Show All 15 Lines | protected function getTestResource($email, $attrib = []) | ||||
} | } | ||||
$resource->save(); | $resource->save(); | ||||
return $resource; | return $resource; | ||||
} | } | ||||
/** | /** | ||||
* Get SharedFolder object by email, create it if needed. | |||||
* Skip LDAP jobs. | |||||
*/ | |||||
protected function getTestSharedFolder($email, $attrib = []) | |||||
{ | |||||
// Disable jobs (i.e. skip LDAP oprations) | |||||
Queue::fake(); | |||||
$folder = SharedFolder::where('email', $email)->first(); | |||||
if (!$folder) { | |||||
list($local, $domain) = explode('@', $email, 2); | |||||
$folder = new SharedFolder(); | |||||
$folder->email = $email; | |||||
$folder->domain = $domain; | |||||
if (!isset($attrib['name'])) { | |||||
$folder->name = $local; | |||||
} | |||||
} | |||||
foreach ($attrib as $key => $val) { | |||||
$folder->{$key} = $val; | |||||
} | |||||
$folder->save(); | |||||
return $folder; | |||||
} | |||||
/** | |||||
* Get User object by email, create it if needed. | * Get User object by email, create it if needed. | ||||
* Skip LDAP jobs. | * Skip LDAP jobs. | ||||
* | * | ||||
* @coversNothing | * @coversNothing | ||||
*/ | */ | ||||
protected function getTestUser($email, $attrib = []) | protected function getTestUser($email, $attrib = []) | ||||
{ | { | ||||
// Disable jobs (i.e. skip LDAP oprations) | // Disable jobs (i.e. skip LDAP oprations) | ||||
▲ Show 20 Lines • Show All 130 Lines • Show Last 20 Lines |