diff --git a/config/config.sample.php b/config/config.sample.php
index 114c6a9..1467847 100644
--- a/config/config.sample.php
+++ b/config/config.sample.php
@@ -37,6 +37,7 @@ define('RSS_ENABLED', false);
define('ACTIVITYPUB_ENABLED', false);
define('MYSQL_ENABLED', false);
define('CSV_ENABLED', false);
+define('CURL_ENABLED', true);
define('AUTH_ENABLED', false);
define('AUTH_REGISTER_ENABLED', false);
define('COPYRIGHT_YEAR', '2018-'.date('Y'));
diff --git a/src/Site/Test/LibAuth.php b/src/Site/Test/LibAuth.php
index 40386d1..6b676ba 100644
--- a/src/Site/Test/LibAuth.php
+++ b/src/Site/Test/LibAuth.php
@@ -6,218 +6,224 @@ require_once __DIR__.'/../../../autoload.php';
use Site\Lib\Tester;
use Site\Lib\Auth;
-$test = new Tester([
- 'colorOutput' => true,
- 'verboseOutput' => true
-]);
+if (AUTH_ENABLED) {
+ $test = new Tester([
+ 'colorOutput' => true,
+ 'verboseOutput' => true
+ ]);
-$test->describe('ユーザー登録', function($test): void {
- $test->it('アカウントを作成出来るはず', function($test): void {
- $user = "admin1234";
- $pass = "testTEST1234!#$%@[]:;";
- $passVerify = "testTEST1234!#$%@[]:;";
- $email = "test@076.co.jp";
+ if (AUTH_REGISTER_ENABLED) {
+ $test->describe('ユーザー登録', function($test): void {
+ $test->it('アカウントを作成出来るはず', function($test): void {
+ $user = "admin1234";
+ $pass = "testTEST1234!#$%@[]:;";
+ $passVerify = "testTEST1234!#$%@[]:;";
+ $email = "test@076.co.jp";
- $auth = new Auth();
- $res = $auth->mkUser($user, $pass, $passVerify, $email);
+ $auth = new Auth();
+ $res = $auth->mkUser($user, $pass, $passVerify, $email);
- $expect = true;
+ $expect = true;
- $test->assertNotNull($res);
- $test->assertEquals($res->isSuccess, $expect);
- });
+ $test->assertNotNull($res);
+ $test->assertEquals($res->isSuccess, $expect);
+ });
- $test->it('空フィールドでアカウントを作成出来ないはず', function($test): void {
- $user = "";
- $pass = "testTEST1234!#$%@[]:;";
- $passVerify = "testTEST1234!#$%@[]:;";
- $email = "test@076.ne.jp";
+ $test->it('空フィールドでアカウントを作成出来ないはず', function($test): void {
+ $user = "";
+ $pass = "testTEST1234!#$%@[]:;";
+ $passVerify = "testTEST1234!#$%@[]:;";
+ $email = "test@076.ne.jp";
- $auth = new Auth();
- $res = $auth->mkUser($user, $pass, $passVerify, $email);
+ $auth = new Auth();
+ $res = $auth->mkUser($user, $pass, $passVerify, $email);
- $expect = 'エラー:ユーザー名をご入力下さい。'.'
';
+ $expect = 'エラー:ユーザー名をご入力下さい。'.'
';
- $test->assertNotNull($res);
- $test->assertEquals($res->message, $expect);
+ $test->assertNotNull($res);
+ $test->assertEquals($res->message, $expect);
- $user = "admin5678";
- $pass = "";
- $res = $auth->mkUser($user, $pass, $passVerify, $email);
+ $user = "admin5678";
+ $pass = "";
+ $res = $auth->mkUser($user, $pass, $passVerify, $email);
- $expect = 'エラー:パスワードをご入力下さい。'.'
';
+ $expect = 'エラー:パスワードをご入力下さい。'.'
';
- $test->assertNotNull($res);
- $test->assertEquals($res->message, $expect);
+ $test->assertNotNull($res);
+ $test->assertEquals($res->message, $expect);
- $pass = "testTEST1234!#$%@[]:;";
- $email = "";
- $res = $auth->mkUser($user, $pass, $passVerify, $email);
+ $pass = "testTEST1234!#$%@[]:;";
+ $email = "";
+ $res = $auth->mkUser($user, $pass, $passVerify, $email);
- $expect = 'エラー:メールアドレスをご入力下さい。'.'
';
+ $expect = 'エラー:メールアドレスをご入力下さい。'.'
';
- $test->assertNotNull($res);
- $test->assertEquals($res->message, $expect);
- });
+ $test->assertNotNull($res);
+ $test->assertEquals($res->message, $expect);
+ });
- $test->it('既にユーザー名やメールアドレスが存在するアカウントを作成出来ないはず', function($test): void {
- $user = "admin1234";
- $pass = "testTEST1234!#$%@[]:;";
- $passVerify = "testTEST1234!#$%@[]:;";
- $email = "test@076.ne.jp";
+ $test->it('既にユーザー名やメールアドレスが存在するアカウントを作成出来ないはず', function($test): void {
+ $user = "admin1234";
+ $pass = "testTEST1234!#$%@[]:;";
+ $passVerify = "testTEST1234!#$%@[]:;";
+ $email = "test@076.ne.jp";
- $auth = new Auth();
- $res = $auth->mkUser($user, $pass, $passVerify, $email);
+ $auth = new Auth();
+ $res = $auth->mkUser($user, $pass, $passVerify, $email);
- $expect = 'ユーザー「admin1234」は既に存在します。'.'
';
+ $expect = 'ユーザー「admin1234」は既に存在します。'.'
';
- $test->assertNotNull($res);
- $test->assertEquals($res->message, $expect);
+ $test->assertNotNull($res);
+ $test->assertEquals($res->message, $expect);
- $user = "admin5678";
- $email = "test@076.co.jp";
- $res = $auth->mkUser($user, $pass, $passVerify, $email);
+ $user = "admin5678";
+ $email = "test@076.co.jp";
+ $res = $auth->mkUser($user, $pass, $passVerify, $email);
- $expect = 'ユーザー「test@076.co.jp」は既に存在します。'.'
';
+ $expect = 'ユーザー「test@076.co.jp」は既に存在します。'.'
';
- $test->assertNotNull($res);
- $test->assertEquals($res->message, $expect);
- });
+ $test->assertNotNull($res);
+ $test->assertEquals($res->message, $expect);
+ });
- $test->it('一致しない、短い、又は不安なパスワードでアカウントを作成出来ないはず', function($test): void {
- $user = "admin5678";
- $pass = "testtest1234!#$%@[]:;";
- $passVerify = "testTEST1234!#$%@[]:;";
- $email = "test@076.ne.jp";
+ $test->it('一致しない、短い、又は不安なパスワードでアカウントを作成出来ないはず', function($test): void {
+ $user = "admin5678";
+ $pass = "testtest1234!#$%@[]:;";
+ $passVerify = "testTEST1234!#$%@[]:;";
+ $email = "test@076.ne.jp";
- $auth = new Auth();
- $res = $auth->mkUser($user, $pass, $passVerify, $email);
+ $auth = new Auth();
+ $res = $auth->mkUser($user, $pass, $passVerify, $email);
- $expect = 'エラー:パスワードは一致していません。'.'
';
+ $expect = 'エラー:パスワードは一致していません。'.'
';
- $test->assertNotNull($res);
- $test->assertEquals($res->message, $expect);
+ $test->assertNotNull($res);
+ $test->assertEquals($res->message, $expect);
- $pass = "testTEST1234";
- $passVerify = "testTEST1234";
- $res = $auth->mkUser($user, $pass, $passVerify, $email);
+ $pass = "testTEST1234";
+ $passVerify = "testTEST1234";
+ $res = $auth->mkUser($user, $pass, $passVerify, $email);
- $expect = 'エラー:パスワードは20以上をご入力下さい。'.'
';
+ $expect = 'エラー:パスワードは20以上をご入力下さい。'.'
';
- $test->assertNotNull($res);
- $test->assertEquals($res->message, $expect);
+ $test->assertNotNull($res);
+ $test->assertEquals($res->message, $expect);
- $pass = "testTEST1234testTEST";
- $passVerify = "testTEST1234testTEST";
- $res = $auth->mkUser($user, $pass, $passVerify, $email);
+ $pass = "testTEST1234testTEST";
+ $passVerify = "testTEST1234testTEST";
+ $res = $auth->mkUser($user, $pass, $passVerify, $email);
- $expect = 'エラー:パスワードは2つ以上の大文字、2つ以上の小文字、2つ以上の数字、及び2つ以上の特別文字を含む事が必須です。'.'
';
+ $expect = 'エラー:パスワードは2つ以上の大文字、2つ以上の小文字、2つ以上の数字、及び2つ以上の特別文字を含む事が必須です。'.'
';
- $test->assertNotNull($res);
- $test->assertEquals($res->message, $expect);
- });
+ $test->assertNotNull($res);
+ $test->assertEquals($res->message, $expect);
+ });
- $test->it('不正なメールアドレスでアカウントを作成出来ないはず', function($test): void {
- $user = "admin5678";
- $pass = "testTEST1234!#$%@[]:;";
- $passVerify = "testTEST1234!#$%@[]:;";
- $email = "test@076.niggerballs";
+ $test->it('不正なメールアドレスでアカウントを作成出来ないはず', function($test): void {
+ $user = "admin5678";
+ $pass = "testTEST1234!#$%@[]:;";
+ $passVerify = "testTEST1234!#$%@[]:;";
+ $email = "test@076.niggerballs";
- $auth = new Auth();
- $res = $auth->mkUser($user, $pass, $passVerify, $email);
+ $auth = new Auth();
+ $res = $auth->mkUser($user, $pass, $passVerify, $email);
- $expect = 'エラー:メールアドレスは不正です。'.'
';
+ $expect = 'エラー:メールアドレスは不正です。'.'
';
- $test->assertNotNull($res);
- $test->assertEquals($res->message, $expect);
+ $test->assertNotNull($res);
+ $test->assertEquals($res->message, $expect);
- $email = "test@076";
- $res = $auth->mkUser($user, $pass, $passVerify, $email);
+ $email = "test@076";
+ $res = $auth->mkUser($user, $pass, $passVerify, $email);
- $expect = 'エラー:メールアドレスは不正です。'.'
';
+ $expect = 'エラー:メールアドレスは不正です。'.'
';
- $test->assertNotNull($res);
- $test->assertEquals($res->message, $expect);
- });
+ $test->assertNotNull($res);
+ $test->assertEquals($res->message, $expect);
+ });
- // ユーザーの削除
- $users = scandir(ROOT.'/data/user');
- $userFile = '';
- foreach ($users as $u) {
- if (str_contains($u, 'admin1234')) {
- $userFile = $u;
- break;
- }
+ // ユーザーの削除
+ $users = scandir(ROOT.'/data/user');
+ $userFile = '';
+ foreach ($users as $u) {
+ if (str_contains($u, 'admin1234')) {
+ $userFile = $u;
+ break;
+ }
+ }
+ unlink(ROOT.'/data/user/'.$userFile);
+ rmdir(ROOT.'/public/static/user/admin1234');
+ });
}
- unlink(ROOT.'/data/user/'.$userFile);
- rmdir(ROOT.'/public/static/user/admin1234');
-});
-// TODO: CLIからクッキーを設定出来ないから、「Site\Lib\Auth::getUserData(): Return value must be of type stdClass, null returned」って発生する・・・
-// $test->describe('ログインとログアウト', function($test): void {
-// $user = "admin1234";
-// $pass = "testTEST1234!#$%@[]:;";
-// $passVerify = "testTEST1234!#$%@[]:;";
-// $email = "test@076.co.jp";
+ // TODO: CLIからクッキーを設定出来ないから、「Site\Lib\Auth::getUserData(): Return value must be of type stdClass, null returned」って発生する・・・
+ // $test->describe('ログインとログアウト', function($test): void {
+ // $user = "admin1234";
+ // $pass = "testTEST1234!#$%@[]:;";
+ // $passVerify = "testTEST1234!#$%@[]:;";
+ // $email = "test@076.co.jp";
-// $auth = new Auth();
-// $res = $auth->mkUser($user, $pass, $passVerify, $email);
-// unset($auth);
+ // $auth = new Auth();
+ // $res = $auth->mkUser($user, $pass, $passVerify, $email);
+ // unset($auth);
-// $test->it('正しい認証情報でログイン出来るはず', function($test) use ($user, $pass): void {
-// $auth = new Auth();
-// $res = $auth->setToken($user, $pass);
+ // $test->it('正しい認証情報でログイン出来るはず', function($test) use ($user, $pass): void {
+ // $auth = new Auth();
+ // $res = $auth->setToken($user, $pass);
-// $test->assertTrue($res->isSuccess);
-// $test->assertEquals('ログイン成功', $res->message);
+ // $test->assertTrue($res->isSuccess);
+ // $test->assertEquals('ログイン成功', $res->message);
-// $auth2 = new Auth();
-// $usr = $auth2->getLoggedInUser();
+ // $auth2 = new Auth();
+ // $usr = $auth2->getLoggedInUser();
-// $test->assertNotNull($usr);
-// $test->assertEquals($user, $usr->username);
-// });
+ // $test->assertNotNull($usr);
+ // $test->assertEquals($user, $usr->username);
+ // });
-// $test->it('間違ったパスワードでログイン出来ないはず', function($test) use ($user): void {
-// $auth = new Auth();
-// $res = $auth->setToken($user, 'fuseipassword');
+ // $test->it('間違ったパスワードでログイン出来ないはず', function($test) use ($user): void {
+ // $auth = new Auth();
+ // $res = $auth->setToken($user, 'fuseipassword');
-// $test->assertFalse($res->isSuccess);
-// $test->assertEquals('ユーザー名又はパスワードが一致していません', $res->message);
-// });
+ // $test->assertFalse($res->isSuccess);
+ // $test->assertEquals('ユーザー名又はパスワードが一致していません', $res->message);
+ // });
-// $test->it('存在しないユーザーでログイン出来ないはず', function($test) use ($pass): void {
-// $auth = new Auth();
-// $res = $auth->setToken('fumeiuser', $pass);
+ // $test->it('存在しないユーザーでログイン出来ないはず', function($test) use ($pass): void {
+ // $auth = new Auth();
+ // $res = $auth->setToken('fumeiuser', $pass);
-// $test->assertFalse($res->isSuccess);
-// $test->assertEquals('ユーザー名又はパスワードが一致していません', $res->message);
-// });
+ // $test->assertFalse($res->isSuccess);
+ // $test->assertEquals('ユーザー名又はパスワードが一致していません', $res->message);
+ // });
-// $test->it('ログアウト出来るはず', function($test) use ($user, $pass): void {
-// $auth = new Auth();
-// $auth->setToken($user, $pass);
+ // $test->it('ログアウト出来るはず', function($test) use ($user, $pass): void {
+ // $auth = new Auth();
+ // $auth->setToken($user, $pass);
-// $res = $auth->logout();
+ // $res = $auth->logout();
-// $test->assertTrue($res->isSuccess);
-// $test->assertEquals('ログイン成功', $res->message);
+ // $test->assertTrue($res->isSuccess);
+ // $test->assertEquals('ログイン成功', $res->message);
-// $auth2 = new Auth();
-// $usr = $auth2->getLoggedInUser();
+ // $auth2 = new Auth();
+ // $usr = $auth2->getLoggedInUser();
-// $test->assertNull($usr);
-// });
+ // $test->assertNull($usr);
+ // });
-// // ユーザーの削除
-// $users = scandir(ROOT.'/data/user');
-// $userFile = '';
-// foreach ($users as $u) {
-// if (str_contains($u, 'admin1234')) {
-// $userFile = $u;
-// break;
-// }
-// }
-// unlink(ROOT.'/data/user/'.$userFile);
-// rmdir(ROOT.'/public/static/user/admin1234');
-// });
\ No newline at end of file
+ // // ユーザーの削除
+ // $users = scandir(ROOT.'/data/user');
+ // $userFile = '';
+ // foreach ($users as $u) {
+ // if (str_contains($u, 'admin1234')) {
+ // $userFile = $u;
+ // break;
+ // }
+ // }
+ // unlink(ROOT.'/data/user/'.$userFile);
+ // rmdir(ROOT.'/public/static/user/admin1234');
+ // });
+
+ $test->printSummary();
+}
\ No newline at end of file
diff --git a/src/Site/Test/LibCsv.php b/src/Site/Test/LibCsv.php
index ef6ed71..e383322 100644
--- a/src/Site/Test/LibCsv.php
+++ b/src/Site/Test/LibCsv.php
@@ -7,116 +7,120 @@ use Site\Lib\Tester;
use Site\Lib\Csv;
use Site\Lib\Delimiter;
-$test = new Tester([
- 'colorOutput' => true,
- 'verboseOutput' => true
-]);
+if (CSV_ENABLED) {
+ $test = new Tester([
+ 'colorOutput' => true,
+ 'verboseOutput' => true
+ ]);
-$test->describe('Csvの基本的なパーシング', function($test): void {
- $test->it('簡単なCSVファイルをパーシングするはず', function($test): void {
- $str = "岩田聡,プロジューサー\n宮本茂,デザイナー\nJeffrey Epstein,幼児性愛者";
+ $test->describe('Csvの基本的なパーシング', function($test): void {
+ $test->it('簡単なCSVファイルをパーシングするはず', function($test): void {
+ $str = "岩田聡,プロジューサー\n宮本茂,デザイナー\nJeffrey Epstein,幼児性愛者";
- $tmpFile = tempnam(sys_get_temp_dir(), 'csv_test');
- file_put_contents($tmpFile, $str);
+ $tmpFile = tempnam(sys_get_temp_dir(), 'csv_test');
+ file_put_contents($tmpFile, $str);
- $csv = new Csv($tmpFile);
- $res = $csv->parse();
+ $csv = new Csv($tmpFile);
+ $res = $csv->parse();
- unlink($tmpFile);
+ unlink($tmpFile);
- $expect = [
- ["岩田聡", "プロジューサー"],
- ["宮本茂", "デザイナー"],
- ["Jeffrey Epstein", "幼児性愛者"]
- ];
-
- $test->assertNotNull($res);
- $test->assertEquals($res, $expect);
- });
-
- $test->it('異なるデリミタでCSVをパーシングするはず', function ($test): void {
- // セミコロン
- $semiStr = "岩田聡;プロジューサー\n宮本茂;デザイナー";
- $tmpFile = tempnam(sys_get_temp_dir(), 'csv_semi_test');
- file_put_contents($tmpFile, $semiStr);
-
- $csv = new Csv($tmpFile);
- $res = $csv->parse(Delimiter::SEMICOLON);
-
- unlink($tmpFile);
-
- $expect = [
- ["岩田聡", "プロジューサー"],
- ["宮本茂", "デザイナー"]
- ];
-
- $test->assertEquals($res, $expect, "セミコロンデリミタでパーシングに失敗");
-
- // タブ
- $tabStr = "岩田聡\tプロジューサー\n宮本茂\tデザイナー";
- $tmpFile = tempnam(sys_get_temp_dir(), 'csv_tab_test');
- file_put_contents($tmpFile, $tabStr);
-
- $csv = new Csv($tmpFile);
- $res = $csv->parse(Delimiter::TAB);
-
- unlink($tmpFile);
-
- $test->assertEquals($res, $expect, "タブデリミタでパーシングに失敗");
-
- // パイプ
- $pipeStr = "岩田聡|プロジューサー\n宮本茂|デザイナー";
- $tmpFile = tempnam(sys_get_temp_dir(), 'csv_pipe_test');
- file_put_contents($tmpFile, $pipeStr);
-
- $csv = new Csv($tmpFile);
- $res = $csv->parse(Delimiter::PIPE);
-
- unlink($tmpFile);
-
- $test->assertEquals($res, $expect, "パイプデリミタでパーシングに失敗");
- });
-
- $test->it('ヘッダー付きCSVをパーシングするはず', function ($test) {
- $str = "name,job title\n岩田聡,プロジューサー\n宮本茂,デザイナー";
-
- $tmpFile = tempnam(sys_get_temp_dir(), 'csv_header_test');
- file_put_contents($tmpFile, $str);
-
- $csv = new Csv($tmpFile);
- $res = $csv->parse(Delimiter::COMMA, true); // isHeader = true
-
- unlink($tmpFile);
-
- $expect = [
- 'header' => ["name", "job title"],
- 'body' => [
+ $expect = [
["岩田聡", "プロジューサー"],
["宮本茂", "デザイナー"],
- ],
- ];
+ ["Jeffrey Epstein", "幼児性愛者"]
+ ];
- $test->assertNotNull($res);
- $test->assertEquals($res, $expect, "ヘッダーパーシングに失敗");
+ $test->assertNotNull($res);
+ $test->assertEquals($res, $expect);
+ });
+
+ $test->it('異なるデリミタでCSVをパーシングするはず', function ($test): void {
+ // セミコロン
+ $semiStr = "岩田聡;プロジューサー\n宮本茂;デザイナー";
+ $tmpFile = tempnam(sys_get_temp_dir(), 'csv_semi_test');
+ file_put_contents($tmpFile, $semiStr);
+
+ $csv = new Csv($tmpFile);
+ $res = $csv->parse(Delimiter::SEMICOLON);
+
+ unlink($tmpFile);
+
+ $expect = [
+ ["岩田聡", "プロジューサー"],
+ ["宮本茂", "デザイナー"]
+ ];
+
+ $test->assertEquals($res, $expect, "セミコロンデリミタでパーシングに失敗");
+
+ // タブ
+ $tabStr = "岩田聡\tプロジューサー\n宮本茂\tデザイナー";
+ $tmpFile = tempnam(sys_get_temp_dir(), 'csv_tab_test');
+ file_put_contents($tmpFile, $tabStr);
+
+ $csv = new Csv($tmpFile);
+ $res = $csv->parse(Delimiter::TAB);
+
+ unlink($tmpFile);
+
+ $test->assertEquals($res, $expect, "タブデリミタでパーシングに失敗");
+
+ // パイプ
+ $pipeStr = "岩田聡|プロジューサー\n宮本茂|デザイナー";
+ $tmpFile = tempnam(sys_get_temp_dir(), 'csv_pipe_test');
+ file_put_contents($tmpFile, $pipeStr);
+
+ $csv = new Csv($tmpFile);
+ $res = $csv->parse(Delimiter::PIPE);
+
+ unlink($tmpFile);
+
+ $test->assertEquals($res, $expect, "パイプデリミタでパーシングに失敗");
+ });
+
+ $test->it('ヘッダー付きCSVをパーシングするはず', function ($test) {
+ $str = "name,job title\n岩田聡,プロジューサー\n宮本茂,デザイナー";
+
+ $tmpFile = tempnam(sys_get_temp_dir(), 'csv_header_test');
+ file_put_contents($tmpFile, $str);
+
+ $csv = new Csv($tmpFile);
+ $res = $csv->parse(Delimiter::COMMA, true); // isHeader = true
+
+ unlink($tmpFile);
+
+ $expect = [
+ 'header' => ["name", "job title"],
+ 'body' => [
+ ["岩田聡", "プロジューサー"],
+ ["宮本茂", "デザイナー"],
+ ],
+ ];
+
+ $test->assertNotNull($res);
+ $test->assertEquals($res, $expect, "ヘッダーパーシングに失敗");
+ });
+
+ $test->it('セル内にカンマを含むCSVをパーシングするはず', function ($test): void {
+ $str = "\"守矢, 諏訪子\",エンジニア\n\"青, 猫ちゃん\",サーバー管理者";
+
+ $tmpFile = tempnam(sys_get_temp_dir(), 'csv_quoted_comma_test');
+ file_put_contents($tmpFile, $str);
+
+ $csv = new Csv($tmpFile);
+ $res = $csv->parse(\Site\Lib\delimiter::COMMA);
+
+ unlink($tmpFile);
+
+ $expect = [
+ ["守矢, 諏訪子", "エンジニア"],
+ ["青, 猫ちゃん", "サーバー管理者"]
+ ];
+
+ $test->assertNotNull($res);
+ $test->assertEquals($res, $expect, "セル内にカンマを含むパーシングに失敗");
+ });
});
- $test->it('セル内にカンマを含むCSVをパーシングするはず', function ($test): void {
- $str = "\"守矢, 諏訪子\",エンジニア\n\"青, 猫ちゃん\",サーバー管理者";
-
- $tmpFile = tempnam(sys_get_temp_dir(), 'csv_quoted_comma_test');
- file_put_contents($tmpFile, $str);
-
- $csv = new Csv($tmpFile);
- $res = $csv->parse(\Site\Lib\delimiter::COMMA);
-
- unlink($tmpFile);
-
- $expect = [
- ["守矢, 諏訪子", "エンジニア"],
- ["青, 猫ちゃん", "サーバー管理者"]
- ];
-
- $test->assertNotNull($res);
- $test->assertEquals($res, $expect, "セル内にカンマを含むパーシングに失敗");
- });
-});
+ $test->printSummary();
+}
\ No newline at end of file
diff --git a/src/Site/Test/LibCurl.php b/src/Site/Test/LibCurl.php
index afded6b..f08c62c 100644
--- a/src/Site/Test/LibCurl.php
+++ b/src/Site/Test/LibCurl.php
@@ -6,87 +6,89 @@ require_once __DIR__.'/../../../autoload.php';
use Site\Lib\Tester;
use Site\Lib\Curl;
-$test = new Tester([
- 'colorOutput' => true,
- 'verboseOutput' => true
-]);
+if (CURL_ENABLED) {
+ $test = new Tester([
+ 'colorOutput' => true,
+ 'verboseOutput' => true
+ ]);
-$test->describe('Curlの基本的な機能性', function($test): void {
- $test->it('URLで使って新しいインスタンスを作成するはず', function($test): void {
- $curl = new Curl('https://076.moe');
- $test->assertNotNull($curl);
+ $test->describe('Curlの基本的な機能性', function($test): void {
+ $test->it('URLで使って新しいインスタンスを作成するはず', function($test): void {
+ $curl = new Curl('https://076.moe');
+ $test->assertNotNull($curl);
+ });
+
+ $test->it('メソッドでURLを設定出来るはす', function($test): void {
+ $curl = new Curl();
+ $curl->setUrl('https://076.moe');
+ $test->assertNotNull($curl);
+ });
+
+ $test->it('ヘッダー文字を作成出来るはず', function($test): void {
+ $curl = new Curl('https://076.moe');
+ $curl->setHeaders([
+ 'Accept' => 'application/json',
+ 'User-Agent' => 'LoliTest/1.0'
+ ]);
+
+ $reflectionClass = new \ReflectionClass($curl);
+ $method = $reflectionClass->getMethod('buildHeaderString');
+ $method->setAccessible(true);
+
+ $headerString = $method->invoke($curl);
+ $test->assertStringContains('Accept: application/json', $headerString);
+ $test->assertStringContains('User-Agent: LoliTest/1.0', $headerString);
+ });
+
+ $test->skip('移転を対応するはず', '作成中・・・');
+
+ $test->it('メソッドチェーニングを対応するはず', function($test): void {
+ $curl = new Curl();
+ $result = $curl->setUrl('https://076.moe')
+ ->setMethod('GET')
+ ->setTimeout(30);
+
+ $test->assertSame($curl, $result);
+ });
});
- $test->it('メソッドでURLを設定出来るはす', function($test): void {
- $curl = new Curl();
- $curl->setUrl('https://076.moe');
- $test->assertNotNull($curl);
+ $test->describe('Curl HTTP リクエスト', function($test): void {
+ $networkAvailable = true;
+
+ if (!$networkAvailable) {
+ $test->skip('076.moeでGETリクエストの確認', 'ネットワークが無効です。');
+ $test->skip('postman-echo.comでPOSTリクエストの確認', 'ネットワークが無効です。');
+ return;
+ }
+
+ $test->it('076.moeでGETリクエストの確認', function($test): void {
+ $curl = new Curl('https://076.moe');
+ $result = $curl->execute();
+
+ $test->assertTrue($result);
+ $test->assertEquals(200, $curl->getResponseCode());
+ $test->assertNotNull($curl->getResponseBody());
+ $test->assertStringContains('getResponseBody());
+ });
+
+ $test->it('postman-echo.comでPOSTリクエストの確認', function($test): void {
+ $curl = new Curl();
+ $curl->setUrl('https://postman-echo.com/post')
+ ->setMethod('POST')
+ ->setPostFields([
+ 'name' => '山田太郎',
+ 'email' => 't.yamada@example.com'
+ ]);
+
+ $result = $curl->execute();
+ $test->assertTrue($result);
+ $test->assertEquals(200, $curl->getResponseCode());
+
+ $responseBody = $curl->getResponseBody();
+ $test->assertStringContains('山田太郎', $responseBody);
+ $test->assertStringContains('t.yamada@example.com', $responseBody);
+ });
});
- $test->it('ヘッダー文字を作成出来るはず', function($test): void {
- $curl = new Curl('https://076.moe');
- $curl->setHeaders([
- 'Accept' => 'application/json',
- 'User-Agent' => 'LoliTest/1.0'
- ]);
-
- $reflectionClass = new \ReflectionClass($curl);
- $method = $reflectionClass->getMethod('buildHeaderString');
- $method->setAccessible(true);
-
- $headerString = $method->invoke($curl);
- $test->assertStringContains('Accept: application/json', $headerString);
- $test->assertStringContains('User-Agent: LoliTest/1.0', $headerString);
- });
-
- $test->skip('移転を対応するはず', '作成中・・・');
-
- $test->it('メソッドチェーニングを対応するはず', function($test): void {
- $curl = new Curl();
- $result = $curl->setUrl('https://076.moe')
- ->setMethod('GET')
- ->setTimeout(30);
-
- $test->assertSame($curl, $result);
- });
-});
-
-$test->describe('Curl HTTP リクエスト', function($test): void {
- $networkAvailable = true;
-
- if (!$networkAvailable) {
- $test->skip('076.moeでGETリクエストの確認', 'ネットワークが無効です。');
- $test->skip('postman-echo.comでPOSTリクエストの確認', 'ネットワークが無効です。');
- return;
- }
-
- $test->it('076.moeでGETリクエストの確認', function($test): void {
- $curl = new Curl('https://076.moe');
- $result = $curl->execute();
-
- $test->assertTrue($result);
- $test->assertEquals(200, $curl->getResponseCode());
- $test->assertNotNull($curl->getResponseBody());
- $test->assertStringContains('getResponseBody());
- });
-
- $test->it('postman-echo.comでPOSTリクエストの確認', function($test): void {
- $curl = new Curl();
- $curl->setUrl('https://postman-echo.com/post')
- ->setMethod('POST')
- ->setPostFields([
- 'name' => '山田太郎',
- 'email' => 't.yamada@example.com'
- ]);
-
- $result = $curl->execute();
- $test->assertTrue($result);
- $test->assertEquals(200, $curl->getResponseCode());
-
- $responseBody = $curl->getResponseBody();
- $test->assertStringContains('山田太郎', $responseBody);
- $test->assertStringContains('t.yamada@example.com', $responseBody);
- });
-});
-
-$test->printSummary();
\ No newline at end of file
+ $test->printSummary();
+}
\ No newline at end of file
diff --git a/src/Site/Test/LibMysql.php b/src/Site/Test/LibMysql.php
index 664a60b..7d9317f 100644
--- a/src/Site/Test/LibMysql.php
+++ b/src/Site/Test/LibMysql.php
@@ -6,61 +6,63 @@ require_once __DIR__.'/../../../autoload.php';
use Site\Lib\Tester;
use Site\Lib\Mysql;
-$test = new Tester([
- 'colorOutput' => true,
- 'verboseOutput' => true
-]);
+if (MYSQL_ENABLED) {
+ $test = new Tester([
+ 'colorOutput' => true,
+ 'verboseOutput' => true
+ ]);
-$test->describe('パケットのデバッグ', function($test): void {
- try {
- $db = new Mysql();
+ $test->describe('パケットのデバッグ', function($test): void {
+ try {
+ $db = new Mysql();
- $db->setDebug(true);
- $db->connect();
+ $db->setDebug(true);
+ $db->connect();
- $result = $db->query('SELECT * FROM user WHERE id = 1');
+ $result = $db->query('SELECT * FROM user WHERE id = 1');
- foreach ($result['rows'] as $row) {
- echo "ユーザー名: ".$row['nickname']."\n";
+ foreach ($result['rows'] as $row) {
+ echo "ユーザー名: ".$row['nickname']."\n";
+ }
+
+ $db->savePacketLogToFile('mysql_log.txt');
+ $db->close();
+ } catch (\Exception $e) {
+ echo 'エラー: '.$e->getMessage()."\n";
}
+ });
- $db->savePacketLogToFile('mysql_log.txt');
- $db->close();
- } catch (\Exception $e) {
- echo 'エラー: '.$e->getMessage()."\n";
- }
-});
+ $test->describe('プリペアドステートメント', function($test): void {
+ try {
+ $db = new Mysql();
+ $db->connect();
-$test->describe('プリペアドステートメント', function($test): void {
- try {
- $db = new Mysql();
- $db->connect();
+ // データの入り
+ $stmt = $db->prepare('INSERT INTO users (name, age) VALUES (?, ?)');
+ $test->assertTrue($stmt);
- // データの入り
- $stmt = $db->prepare('INSERT INTO users (name, age) VALUES (?, ?)');
- $test->assertTrue($stmt);
+ $db->execute($stmt, ['山田太郎', 25]);
+ // TODO: assert
- $db->execute($stmt, ['山田太郎', 25]);
- // TODO: assert
+ $close = $db->demolish($stmt);
+ $this->assertTrue($close);
- $close = $db->demolish($stmt);
- $this->assertTrue($close);
+ // データの受け取り
+ $stmt = $db->prepare('SELECT * FROM users WHERE age > ?');
+ $test->assertTrue($stmt);
- // データの受け取り
- $stmt = $db->prepare('SELECT * FROM users WHERE age > ?');
- $test->assertTrue($stmt);
+ $res = $db->execute($stmt, [20]);
+ // TODO: assert
+ print_r($res);
- $res = $db->execute($stmt, [20]);
- // TODO: assert
- print_r($res);
+ $close = $db->demolish($stmt);
+ $this->assertTrue($close);
- $close = $db->demolish($stmt);
- $this->assertTrue($close);
+ $db->close();
+ } catch (\Exception $e) {
+ echo 'エラー: '.$e->getMessage()."\n";
+ }
+ });
- $db->close();
- } catch (\Exception $e) {
- echo 'エラー: '.$e->getMessage()."\n";
- }
-});
-
-$test->printSummary();
\ No newline at end of file
+ $test->printSummary();
+}
\ No newline at end of file
diff --git a/tester.php b/tester.php
index 87dc5ea..26e286e 100644
--- a/tester.php
+++ b/tester.php
@@ -1,13 +1,13 @@