Release 0.9a: Move ng to main, modernize PHP 8.1+ client, update documentation and add Gitea workflow
This commit is contained in:
1 parent
76e09c0b96
commit
67bc8aa462
9 files changed
+1560
-1455
No files matched your search
+214
@@ -0,0 +1,214 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
require_once __DIR__ . '/ninjamail.class.php';
|
||||
|
||||
/**
|
||||
* ninjaMail API teljes körű tesztelő szkript
|
||||
*
|
||||
* Anonimizált tesztkörnyezet. Valós környezetben a konfiguráció
|
||||
* a NINJAMAIL_HOST és NINJAMAIL_KEY környezeti változókon keresztül
|
||||
* vagy az alábbi változók megadásával állítható be.
|
||||
*/
|
||||
$host = getenv('NINJAMAIL_HOST') ?: 'https://example.org';
|
||||
$key = getenv('NINJAMAIL_KEY') ?: '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef';
|
||||
|
||||
$testEmail = 'teszt.felhasznalo@example.com';
|
||||
$sendEmail = 'cimzett@example.com';
|
||||
|
||||
echo "====================================================\n";
|
||||
echo "ninjaMail API funkciók tesztelése\n";
|
||||
echo "Host: $host\n";
|
||||
echo "Key: " . substr($key, 0, 8) . "..." . substr($key, -8) . "\n";
|
||||
echo "====================================================\n\n";
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// 1. Alaposztály
|
||||
// ---------------------------------------------------------------------------
|
||||
echo "=== 1. ninjaMail ALAPOSZTÁLY TESZTELÉSE ===\n";
|
||||
$base = new ninjaMail($host, $key);
|
||||
echo "[+] check(): ";
|
||||
var_dump($base->check());
|
||||
|
||||
echo "[+] login(): ";
|
||||
try {
|
||||
$login = $base->login();
|
||||
echo json_encode($login, JSON_UNESCAPED_UNICODE) . "\n";
|
||||
} catch (Throwable $e) {
|
||||
echo "Hiba: " . $e->getMessage() . "\n";
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// 2. Lista műveletek
|
||||
// ---------------------------------------------------------------------------
|
||||
echo "\n=== 2. LISTA MŰVELETEK (ninjaMail::process) ===\n";
|
||||
$listId = null;
|
||||
try {
|
||||
echo "[+] Lista létrehozása (list -> new): ";
|
||||
$createdList = $base->process('list', ['new' => true, 'name' => 'Teszt Lista 2026']);
|
||||
echo json_encode($createdList, JSON_UNESCAPED_UNICODE) . "\n";
|
||||
$listId = $createdList->id ?? null;
|
||||
|
||||
echo "[+] Listák lekérdezése (list -> get): ";
|
||||
$lists = $base->process('list', ['get' => true]);
|
||||
echo json_encode($lists, JSON_UNESCAPED_UNICODE) . "\n";
|
||||
} catch (Throwable $e) {
|
||||
echo "Hiba: " . $e->getMessage() . "\n";
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// 3. Feliratkozások
|
||||
// ---------------------------------------------------------------------------
|
||||
echo "\n=== 3. ninjaMailSubscription TESZTELÉSE ===\n";
|
||||
$sub = new ninjaMailSubscription($host, $key);
|
||||
$activeListId = $listId ? (int)$listId : 1;
|
||||
|
||||
echo "[+] list($activeListId): ";
|
||||
var_dump($sub->list($activeListId));
|
||||
|
||||
echo "[+] activated(true): ";
|
||||
var_dump($sub->activated(true));
|
||||
|
||||
echo "[+] namechange(true): ";
|
||||
var_dump($sub->namechange(true));
|
||||
|
||||
try {
|
||||
echo "[+] subscribe(\"$testEmail\", \"Teszt Elek\"): ";
|
||||
$subRes = $sub->subscribe($testEmail, 'Teszt Elek');
|
||||
var_dump($subRes);
|
||||
echo " Válasz: " . json_encode($sub->data, JSON_UNESCAPED_UNICODE) . "\n";
|
||||
|
||||
echo "[+] unsubscribe(\"$testEmail\"): ";
|
||||
$unsubRes = $sub->unsubscribe($testEmail);
|
||||
var_dump($unsubRes);
|
||||
echo " Válasz: " . json_encode($sub->data, JSON_UNESCAPED_UNICODE) . "\n";
|
||||
} catch (Throwable $e) {
|
||||
echo "Hiba: " . $e->getMessage() . "\n";
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// 4. Hírlevelek
|
||||
// ---------------------------------------------------------------------------
|
||||
echo "\n=== 4. ninjaMailNewsletter TESZTELÉSE ===\n";
|
||||
$nl = new ninjaMailNewsletter($host, $key);
|
||||
echo "[+] subject(): ";
|
||||
var_dump($nl->subject('Rendszertesztek 2026 - Hírlevél'));
|
||||
|
||||
echo "[+] message(): ";
|
||||
$longContent = '<h1>Kedves Feliratkozónk!</h1><p>Ez egy hivatalos teszt hírlevél, amely a ninjaMail API funkcionalitását teszteli. A hírlevél tartalma megfelelően hosszú szöveget tartalmaz, hogy teljesítse a rendszer tartalmi és formai követelményeit. További információkért látogasson el weboldalunkra vagy keresse ügyfélszolgálatunkat.</p><p>Üdvözlettel,<br>A rendszer üzemeltetője</p>';
|
||||
var_dump($nl->message($longContent));
|
||||
|
||||
$newsletterId = null;
|
||||
try {
|
||||
echo "[+] create(): ";
|
||||
$newsletterId = $nl->create();
|
||||
var_dump($newsletterId);
|
||||
echo " Válasz: " . json_encode($nl->data, JSON_UNESCAPED_UNICODE) . "\n";
|
||||
|
||||
echo "[+] newsletter() getter: ";
|
||||
var_dump($nl->newsletter());
|
||||
|
||||
echo "[+] update(): ";
|
||||
$nl->subject('Rendszertesztek 2026 - Frissített hírlevél tárgy');
|
||||
$nlUp = $nl->update();
|
||||
var_dump($nlUp);
|
||||
echo " Válasz: " . json_encode($nl->data, JSON_UNESCAPED_UNICODE) . "\n";
|
||||
|
||||
echo "[+] get(): ";
|
||||
$allNl = $nl->get();
|
||||
echo json_encode($allNl, JSON_UNESCAPED_UNICODE) . "\n";
|
||||
|
||||
echo "[+] send() (időzítve +1 évre): ";
|
||||
$sendNl = $nl->send(strtotime('+1 year'));
|
||||
var_dump($sendNl);
|
||||
echo " Válasz: " . json_encode($nl->data, JSON_UNESCAPED_UNICODE) . "\n";
|
||||
} catch (Throwable $e) {
|
||||
echo "Hiba: " . $e->getMessage() . "\n";
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// 5. Kampányok
|
||||
// ---------------------------------------------------------------------------
|
||||
echo "\n=== 5. ninjaMailCampaign TESZTELÉSE ===\n";
|
||||
$camp = new ninjaMailCampaign($host, $key);
|
||||
$campaignId = null;
|
||||
try {
|
||||
echo "[+] create(\"API Teszt Kampány\"): ";
|
||||
$campaignId = $camp->create('API Teszt Kampány');
|
||||
var_dump($campaignId);
|
||||
echo " Válasz: " . json_encode($camp->data, JSON_UNESCAPED_UNICODE) . "\n";
|
||||
|
||||
echo "[+] campaign() getter: ";
|
||||
var_dump($camp->campaign());
|
||||
|
||||
echo "[+] update() (lista csatolása): ";
|
||||
$campUp = $camp->update([(int)$activeListId]);
|
||||
var_dump($campUp);
|
||||
echo " Válasz: " . json_encode($camp->data, JSON_UNESCAPED_UNICODE) . "\n";
|
||||
|
||||
echo "[+] attach(" . ($newsletterId ?? 1) . ") (hírlevél csatolása): ";
|
||||
$campAtt = $camp->attach((int)($newsletterId ?? 1));
|
||||
var_dump($campAtt);
|
||||
echo " Válasz: " . json_encode($camp->data, JSON_UNESCAPED_UNICODE) . "\n";
|
||||
|
||||
echo "[+] remove() (kampány törlése): ";
|
||||
$campRem = $camp->remove();
|
||||
var_dump($campRem);
|
||||
echo " Válasz: " . json_encode($camp->data, JSON_UNESCAPED_UNICODE) . "\n";
|
||||
} catch (Throwable $e) {
|
||||
echo "Hiba: " . $e->getMessage() . "\n";
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// 6. Egyedi levélküldés
|
||||
// ---------------------------------------------------------------------------
|
||||
echo "\n=== 6. ninjaMailSend TESZTELÉSE ===\n";
|
||||
$sender = new ninjaMailSend($host, $key);
|
||||
echo "[+] to(\"$sendEmail\"): ";
|
||||
var_dump($sender->to($sendEmail));
|
||||
|
||||
echo "[+] subject(): ";
|
||||
var_dump($sender->subject('Tranzakciós teszt e-mail'));
|
||||
|
||||
echo "[+] message(): ";
|
||||
var_dump($sender->message('<p>Ez egy egyedi tranzakciós teszt e-mail.</p>'));
|
||||
|
||||
try {
|
||||
echo "[+] send(): ";
|
||||
$sendRes = $sender->send();
|
||||
var_dump($sendRes);
|
||||
echo " Válasz: " . json_encode($sender->data, JSON_UNESCAPED_UNICODE) . "\n";
|
||||
} catch (Throwable $e) {
|
||||
echo "Hiba: " . $e->getMessage() . "\n";
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// 7. Statisztika
|
||||
// ---------------------------------------------------------------------------
|
||||
echo "\n=== 7. ninjaMailStatistics TESZTELÉSE ===\n";
|
||||
$stat = new ninjaMailStatistics($host, $key);
|
||||
try {
|
||||
$statNlId = (int)($newsletterId ?? 1);
|
||||
echo "[+] get($statNlId): ";
|
||||
$statRes = $stat->get($statNlId);
|
||||
echo json_encode($statRes, JSON_UNESCAPED_UNICODE) . "\n";
|
||||
} catch (Throwable $e) {
|
||||
echo "Hiba: " . $e->getMessage() . "\n";
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// 8. Takarítás (ha hoztunk létre listát)
|
||||
// ---------------------------------------------------------------------------
|
||||
if ($listId) {
|
||||
echo "\n=== 8. TAKARÍTÁS (Teszt lista törlése) ===\n";
|
||||
try {
|
||||
echo "[+] remove list $listId: ";
|
||||
$delList = $base->process('list', ['remove' => true, 'id' => $listId]);
|
||||
echo json_encode($delList, JSON_UNESCAPED_UNICODE) . "\n";
|
||||
} catch (Throwable $e) {
|
||||
echo "Hiba: " . $e->getMessage() . "\n";
|
||||
}
|
||||
}
|
||||
|
||||
echo "\nTesztelés befejezve.\n";
|
||||
Reference in new issue
Block a user