Files
crm.clientright.ru/libraries/HTTP_Session2/tests/test-session-doctrine.phpt
Fedor ac7467f0b4 Major CRM updates: AI Assistant, Court Status API, S3 integration improvements, and extensive file storage system
- Added comprehensive AI Assistant system (aiassist/ directory):
  * Vector search and embedding capabilities
  * Typebot proxy integration
  * Elastic search functionality
  * Message classification and chat history
  * MCP proxy for external integrations

- Implemented Court Status API (GetCourtStatus.php):
  * Real-time court document status checking
  * Integration with external court systems
  * Comprehensive error handling and logging

- Enhanced S3 integration:
  * Improved file backup system with metadata
  * Batch processing capabilities
  * Enhanced error logging and recovery
  * Copy operations with URL fixing

- Added Telegram contact creation API
- Improved error logging across all modules
- Enhanced callback system for AI responses
- Extensive backup file storage with timestamps
- Updated documentation and README files

- File storage improvements:
  * Thousands of backup files with proper metadata
  * Fix operations for broken file references
  * Project-specific backup and recovery systems
  * Comprehensive file integrity checking

Total: 26,461+ files added/modified including AWS SDK, vendor dependencies, and extensive backup system.
2025-10-16 11:17:21 +03:00

97 lines
2.4 KiB
PHP

--TEST--
HTTP_Session2 with phpDoctrine container (and sqlite) write and read
--SKIPIF--
<?php
$skip = true;
if ($skip === true) {
die('Skip This is an incomplete test.');
}
if (!extension_loaded('pdo')) {
die('Skip This test needs pdo, please make sure it\'s loaded.');
}
if (!extension_loaded('pdo_sqlite')) {
die('Skip This test needs pdo_sqlite, please make sure it\'s loaded.');
}
include_once 'Doctrine/lib/Doctrine.php';
if (!class_exists('Doctrine')) {
die('Skip This test needs phpDoctrine, please make sure it\'s installed.');
}
?>
--FILE--
<?php
$_tmp = dirname(__FILE__) . '/tmp';
$_db = $_tmp . '/test-doctrine.db';
require_once 'HTTP/Session2.php';
/**
* This is a hack.
*
* @param string $_db Path to the db.
*
* @return void
*/
function createDB($db)
{
require_once 'Doctrine/lib/Doctrine.php';
spl_autoload_register(array('Doctrine', 'autoload'));
try {
$db = Doctrine_Manager::connection("sqlite:///$db");
$path = '@include_path@/HTTP/Session2/Container/Doctrine';
if (strstr($path, '@include_path@')) { // for from VCS
$path = str_replace(
'@include_path@',
realpath(dirname(__FILE__) . '/../'),
$path
);
}
$sql = Doctrine::generateSqlFromModels($path);
$db->execute($sql);
} catch (Doctrine_Exception $e) {
if (!strstr($e->getMessage(), 'already exists')) {
die("createDB sql error: {$e->getMessage()} ({$e->getCode()})");
}
}
}
if (!file_exists($_tmp)) {
mkdir($_tmp);
}
createDB($_db);
try {
HTTP_Session2::useCookies(false);
HTTP_Session2::setContainer('Doctrine',
array('dsn' => "sqlite:///{$_db}",
'table' => 'sessiondata'));
HTTP_Session2::start('testSession');
HTTP_Session2::id('sessionTest');
$nCount = 0;
while (++$nCount <= 2) {
$_var = HTTP_Session2::get('test', 'bar');
if ($_var == 'bar') {
var_dump("Setting..");
HTTP_Session2::set('test', 'foobar');
} else {
var_dump("Retrieving..");
var_dump(HTTP_Session2::get('test'));
}
}
} catch (Exception $e) {
die($e->getMessage());
}
--CLEAN--
<?php
$_tmp = dirname(__FILE__) . '/tmp';
include dirname(__FILE__) . '/functions.php';
unlinkRecursive($_tmp);
--EXPECT--
string(9) "Setting.."
string(12) "Retrieving.."
string(6) "foobar"