DSP Project first push, date: 29/01/2026

This commit is contained in:
Sok Ponlork
2026-01-29 14:31:48 +07:00
parent 951262afb3
commit 644b624d2d
1857 changed files with 163516 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
<?php
declare(strict_types=1);
use PHPUnit\Framework\TestCase;
final class JupyterHelpersTest extends TestCase
{
protected function tearDown(): void
{
putenv('JUPYTERHUB_USERNAME_TEMPLATE');
}
public function testResolveJupyterHubUsernameWithDefaultTemplate(): void
{
$username = dsp_resolve_jupyterhub_username(42, 'alice', 'alice@example.com');
$this->assertSame('user_42', $username);
}
public function testResolveJupyterHubUsernameUsesCustomTemplate(): void
{
putenv('JUPYTERHUB_USERNAME_TEMPLATE=hub-{username}-{person_id}');
$username = dsp_resolve_jupyterhub_username(7, 'bob', 'bob@example.com');
$this->assertSame('hub-bob-7', $username);
}
public function testResolveJupyterHubUsernameSanitisesOutput(): void
{
putenv('JUPYTERHUB_USERNAME_TEMPLATE={email}');
$username = dsp_resolve_jupyterhub_username(99, 'carol', 'carol+demo@example.com');
$this->assertSame('carol-demo-example.com', $username);
}
public function testResolveJupyterHubUsernameRejectsMissingPersonId(): void
{
$this->assertNull(dsp_resolve_jupyterhub_username(null, 'dave', 'dave@example.com'));
}
}