Merge pull request #704 from appwrite/feat-extentions-tests

Feat extensions tests
This commit is contained in:
Eldad A. Fux 2020-10-25 08:41:37 +02:00 committed by GitHub
commit 0736abf50e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 282 additions and 219 deletions

View file

@ -37,7 +37,6 @@ RUN docker-php-ext-install sockets
RUN \
# Redis Extension
wget -q https://github.com/phpredis/phpredis/archive/$PHP_REDIS_VERSION.tar.gz && \
tar -xf $PHP_REDIS_VERSION.tar.gz && \
cd phpredis-$PHP_REDIS_VERSION && \
@ -45,9 +44,7 @@ RUN \
./configure && \
make && make install && \
cd .. && \
## Swoole Extension
git clone https://github.com/swoole/swoole-src.git && \
cd swoole-src && \
git checkout v$PHP_SWOOLE_VERSION && \
@ -55,16 +52,13 @@ RUN \
./configure --enable-sockets --enable-http2 && \
make && make install && \
cd .. && \
## php reader extension
## Maxminddb extension
git clone https://github.com/maxmind/MaxMind-DB-Reader-php.git && \
cd MaxMind-DB-Reader-php/ext && \
phpize && \
./configure && \
make && make install && \
cd ..
cd ../..
FROM php:7.4-cli-alpine as final
@ -125,7 +119,6 @@ RUN \
docker-cli \
libmaxminddb \
libmaxminddb-dev \
&& pecl install imagick yaml \
&& docker-php-ext-enable imagick yaml \
&& docker-php-ext-install sockets opcache pdo_mysql \

View file

@ -604,7 +604,7 @@ App::get('/v1/account/sessions')
/** @var Utopia\Response $response */
/** @var Appwrite\Database\Document $user */
/** @var Utopia\Locale\Locale $locale */
/** @var GeoIp2\Database\Reader $geodb */
/** @var MaxMind\Db\Reader $geodb */
$tokens = $user->getAttribute('tokens', []);
$sessions = [];
@ -641,11 +641,11 @@ App::get('/v1/account/sessions')
try {
$record = $geodb->get($token->getAttribute('ip', ''));
if(isset($record)){
if (isset($record)){
$sessions[$index]['geo']['isoCode'] = \strtolower($record['country']['iso_code']);
$sessions[$index]['geo']['country'] = (isset($countries[$record['country']['iso_code']])) ? $countries[$record['country']['iso_code']] : $locale->getText('locale.country.unknown');
}
else{
}
else {
$sessions[$index]['geo']['isoCode'] = '--';
$sessions[$index]['geo']['country'] = $locale->getText('locale.country.unknown');
}
@ -674,7 +674,7 @@ App::get('/v1/account/logs')
/** @var Appwrite\Database\Document $project */
/** @var Appwrite\Database\Document $user */
/** @var Utopia\Locale\Locale $locale */
/** @var GeoIp2\Database\Reader $geodb */
/** @var MaxMind\Db\Reader $geodb */
$adapter = new AuditAdapter($register->get('db'));
$adapter->setNamespace('app_'.$project->getId());

View file

@ -15,7 +15,7 @@ App::get('/v1/locale')
/** @var Utopia\Request $request */
/** @var Utopia\Response $response */
/** @var Utopia\Locale\Locale $locale */
/** @var GeoIp2\Database\Reader $geodb */
/** @var MaxMind\Db\Reader $geodb */
$eu = Config::getParam('locale-eu');
$currencies = Config::getParam('locale-currencies');
@ -31,9 +31,12 @@ App::get('/v1/locale')
try {
$record = $geodb->get($ip);
var_dump('record');
var_dump($record);
$output['countryCode'] = $record['country']['iso_code'];
$output['country'] = (isset($countries[$record['country']['iso_code']])) ? $countries[$record['country']['iso_code']] : $locale->getText('locale.country.unknown');
//$output['countryTimeZone'] = DateTimeZone::listIdentifiers(DateTimeZone::PER_COUNTRY, $record->country->isoCode);
$output['continent'] = (isset($continents[$record['continent']['code']])) ? $continents[$record['continent']['code']] : $locale->getText('locale.country.unknown');
$output['continentCode'] = $record['continent']['code'];
$output['eu'] = (\in_array($record['country']['iso_code'], $eu)) ? true : false;

View file

@ -231,7 +231,7 @@ App::get('/v1/users/:userId/sessions')
/** @var Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
/** @var Utopia\Locale\Locale $locale */
/** @var GeoIp2\Database\Reader $geodb */
/** @var MaxMind\Db\Reader $geodb */
$user = $projectDB->getDocument($userId);
@ -272,11 +272,10 @@ App::get('/v1/users/:userId/sessions')
try {
$record = $geodb->get($token->getAttribute('ip', ''));
if(isset($record)){
if (isset($record)) {
$sessions[$index]['geo']['isoCode'] = \strtolower($record['country']['iso_code']);
$sessions[$index]['geo']['country'] = (isset($countries[$record['country']['iso_code']])) ? $countries[$record['country']['iso_code']] : $locale->getText('locale.country.unknown');
}
else{
} else {
$sessions[$index]['geo']['isoCode'] = '--';
$sessions[$index]['geo']['country'] = $locale->getText('locale.country.unknown');
}
@ -307,7 +306,7 @@ App::get('/v1/users/:userId/logs')
/** @var Appwrite\Database\Document $project */
/** @var Appwrite\Database\Database $projectDB */
/** @var Utopia\Locale\Locale $locale */
/** @var GeoIp2\Database\Reader $geodb */
/** @var MaxMind\Db\Reader $geodb */
$user = $projectDB->getDocument($userId);

View file

@ -26,6 +26,7 @@
"ext-yaml": "*",
"ext-dom": "*",
"ext-redis": "*",
"ext-swoole": "*",
"ext-pdo": "*",
"ext-openssl": "*",
"ext-zlib": "*",

344
composer.lock generated
View file

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "555bdf22c5a6417b7336ce7e616eba50",
"content-hash": "9656df44d70d14709f83846019101927",
"packages": [
{
"name": "appwrite/php-clamav",
@ -568,66 +568,6 @@
],
"time": "2020-09-18T13:24:03+00:00"
},
{
"name": "maxmind-db/reader",
"version": "v1.8.0",
"source": {
"type": "git",
"url": "https://github.com/maxmind/MaxMind-DB-Reader-php.git",
"reference": "b566d429ac9aec10594b0935be8ff38302f8d5c8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/maxmind/MaxMind-DB-Reader-php/zipball/b566d429ac9aec10594b0935be8ff38302f8d5c8",
"reference": "b566d429ac9aec10594b0935be8ff38302f8d5c8",
"shasum": ""
},
"require": {
"php": ">=7.2"
},
"conflict": {
"ext-maxminddb": "<1.8.0,>=2.0.0"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "2.*",
"php-coveralls/php-coveralls": "^2.1",
"phpunit/phpcov": ">=6.0.0",
"phpunit/phpunit": ">=8.0.0,<10.0.0",
"squizlabs/php_codesniffer": "3.*"
},
"suggest": {
"ext-bcmath": "bcmath or gmp is required for decoding larger integers with the pure PHP decoder",
"ext-gmp": "bcmath or gmp is required for decoding larger integers with the pure PHP decoder",
"ext-maxminddb": "A C-based database decoder that provides significantly faster lookups"
},
"type": "library",
"autoload": {
"psr-4": {
"MaxMind\\Db\\": "src/MaxMind/Db"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "Gregory J. Oschwald",
"email": "goschwald@maxmind.com",
"homepage": "https://www.maxmind.com/"
}
],
"description": "MaxMind DB Reader API",
"homepage": "https://github.com/maxmind/MaxMind-DB-Reader-php",
"keywords": [
"database",
"geoip",
"geoip2",
"geolocation",
"maxmind"
],
"time": "2020-10-01T17:30:21+00:00"
},
{
"name": "mustangostang/spyc",
"version": "dev-master",
@ -1068,16 +1008,16 @@
},
{
"name": "utopia-php/abuse",
"version": "0.2.1",
"version": "0.2.2",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/abuse.git",
"reference": "b485eddeda335c4f7d1a16fbf5544e37bdf195ac"
"reference": "8e65890a6d7afa9f57992f1eca9fe64508f9822e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/abuse/zipball/b485eddeda335c4f7d1a16fbf5544e37bdf195ac",
"reference": "b485eddeda335c4f7d1a16fbf5544e37bdf195ac",
"url": "https://api.github.com/repos/utopia-php/abuse/zipball/8e65890a6d7afa9f57992f1eca9fe64508f9822e",
"reference": "8e65890a6d7afa9f57992f1eca9fe64508f9822e",
"shasum": ""
},
"require": {
@ -1085,7 +1025,8 @@
"php": ">=7.1"
},
"require-dev": {
"phpunit/phpunit": "^7.0"
"phpunit/phpunit": "^9.4",
"vimeo/psalm": "4.0.1"
},
"type": "library",
"autoload": {
@ -1111,20 +1052,20 @@
"upf",
"utopia"
],
"time": "2020-06-20T11:35:08+00:00"
"time": "2020-10-23T06:51:42+00:00"
},
{
"name": "utopia-php/audit",
"version": "0.3.1",
"version": "0.3.2",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/audit.git",
"reference": "7bcceba05ed640fe910e7b6b0c82d998fb9d6495"
"reference": "544ecff78788d11f60992a721f102cafc22ab084"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/audit/zipball/7bcceba05ed640fe910e7b6b0c82d998fb9d6495",
"reference": "7bcceba05ed640fe910e7b6b0c82d998fb9d6495",
"url": "https://api.github.com/repos/utopia-php/audit/zipball/544ecff78788d11f60992a721f102cafc22ab084",
"reference": "544ecff78788d11f60992a721f102cafc22ab084",
"shasum": ""
},
"require": {
@ -1132,7 +1073,8 @@
"php": ">=7.1"
},
"require-dev": {
"phpunit/phpunit": "^7.0"
"phpunit/phpunit": "^9.3",
"vimeo/psalm": "4.0.1"
},
"type": "library",
"autoload": {
@ -1158,28 +1100,29 @@
"upf",
"utopia"
],
"time": "2020-06-20T11:36:43+00:00"
"time": "2020-10-23T08:09:44+00:00"
},
{
"name": "utopia-php/cache",
"version": "0.2.1",
"version": "0.2.3",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/cache.git",
"reference": "52a20ae1d5e3f5be11492c4bb0af9cf2a2c07e5d"
"reference": "a44b904127f88fa64673e402e5c0732ff6687d47"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/cache/zipball/52a20ae1d5e3f5be11492c4bb0af9cf2a2c07e5d",
"reference": "52a20ae1d5e3f5be11492c4bb0af9cf2a2c07e5d",
"url": "https://api.github.com/repos/utopia-php/cache/zipball/a44b904127f88fa64673e402e5c0732ff6687d47",
"reference": "a44b904127f88fa64673e402e5c0732ff6687d47",
"shasum": ""
},
"require": {
"ext-json": "*",
"php": ">=7.1"
"php": ">=7.3"
},
"require-dev": {
"phpunit/phpunit": "^7.0"
"phpunit/phpunit": "^9.3",
"vimeo/psalm": "4.0.1"
},
"type": "library",
"autoload": {
@ -1205,7 +1148,7 @@
"upf",
"utopia"
],
"time": "2020-06-20T11:43:40+00:00"
"time": "2020-10-24T10:11:01+00:00"
},
{
"name": "utopia-php/cli",
@ -1257,23 +1200,24 @@
},
{
"name": "utopia-php/config",
"version": "0.2.1",
"version": "0.2.2",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/config.git",
"reference": "48c5009c33b8426260ee7425100e716d7ed7f693"
"reference": "a3d7bc0312d7150d5e04b1362dc34b2b136908cc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/config/zipball/48c5009c33b8426260ee7425100e716d7ed7f693",
"reference": "48c5009c33b8426260ee7425100e716d7ed7f693",
"url": "https://api.github.com/repos/utopia-php/config/zipball/a3d7bc0312d7150d5e04b1362dc34b2b136908cc",
"reference": "a3d7bc0312d7150d5e04b1362dc34b2b136908cc",
"shasum": ""
},
"require": {
"php": ">=7.1"
"php": ">=7.3"
},
"require-dev": {
"phpunit/phpunit": "^7.0"
"phpunit/phpunit": "^9.3",
"vimeo/psalm": "4.0.1"
},
"type": "library",
"autoload": {
@ -1299,7 +1243,7 @@
"upf",
"utopia"
],
"time": "2020-06-20T11:38:58+00:00"
"time": "2020-10-24T09:49:09+00:00"
},
{
"name": "utopia-php/domains",
@ -1397,23 +1341,24 @@
},
{
"name": "utopia-php/locale",
"version": "0.3.2",
"version": "0.3.3",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/locale.git",
"reference": "89c488fbff65fc87c048786c3d76b6003fbaa833"
"reference": "5b5b22aab786d6e66eb3b9d546b7e606deae68e4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/locale/zipball/89c488fbff65fc87c048786c3d76b6003fbaa833",
"reference": "89c488fbff65fc87c048786c3d76b6003fbaa833",
"url": "https://api.github.com/repos/utopia-php/locale/zipball/5b5b22aab786d6e66eb3b9d546b7e606deae68e4",
"reference": "5b5b22aab786d6e66eb3b9d546b7e606deae68e4",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"require-dev": {
"phpunit/phpunit": "^7.0"
"phpunit/phpunit": "^9.3",
"vimeo/psalm": "4.0.1"
},
"type": "library",
"autoload": {
@ -1439,27 +1384,28 @@
"upf",
"utopia"
],
"time": "2020-06-29T20:53:16+00:00"
"time": "2020-10-24T08:12:55+00:00"
},
{
"name": "utopia-php/preloader",
"version": "0.2.0",
"version": "0.2.4",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/preloader.git",
"reference": "e710e7cf38605dd67c6cc599dd1150735765ad2e"
"reference": "65ef48392e72172f584b0baa2e224f9a1cebcce0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/preloader/zipball/e710e7cf38605dd67c6cc599dd1150735765ad2e",
"reference": "e710e7cf38605dd67c6cc599dd1150735765ad2e",
"url": "https://api.github.com/repos/utopia-php/preloader/zipball/65ef48392e72172f584b0baa2e224f9a1cebcce0",
"reference": "65ef48392e72172f584b0baa2e224f9a1cebcce0",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"require-dev": {
"phpunit/phpunit": "^7.0"
"phpunit/phpunit": "^9.3",
"vimeo/psalm": "4.0.1"
},
"type": "library",
"autoload": {
@ -1487,27 +1433,28 @@
"upf",
"utopia"
],
"time": "2020-08-14T23:17:55+00:00"
"time": "2020-10-24T07:04:59+00:00"
},
{
"name": "utopia-php/registry",
"version": "0.2.3",
"version": "0.2.4",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/registry.git",
"reference": "948aa82942a1bde8b97ec74fdc1a83fb24122788"
"reference": "428a94f1a36147e7b7221e778c01e1be08db2893"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/registry/zipball/948aa82942a1bde8b97ec74fdc1a83fb24122788",
"reference": "948aa82942a1bde8b97ec74fdc1a83fb24122788",
"url": "https://api.github.com/repos/utopia-php/registry/zipball/428a94f1a36147e7b7221e778c01e1be08db2893",
"reference": "428a94f1a36147e7b7221e778c01e1be08db2893",
"shasum": ""
},
"require": {
"php": ">=7.1"
"php": ">=7.3"
},
"require-dev": {
"phpunit/phpunit": "^7.0"
"phpunit/phpunit": "^9.3",
"vimeo/psalm": "4.0.1"
},
"type": "library",
"autoload": {
@ -1534,7 +1481,7 @@
"upf",
"utopia"
],
"time": "2020-07-04T22:14:07+00:00"
"time": "2020-10-24T08:51:37+00:00"
}
],
"packages-dev": [
@ -2179,12 +2126,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "e33667ac376b7f4dbe97ab556f8e7c8daee383d3"
"reference": "709a404472c4aabdf54c64d5ce98c6f3113f6bb4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/e33667ac376b7f4dbe97ab556f8e7c8daee383d3",
"reference": "e33667ac376b7f4dbe97ab556f8e7c8daee383d3",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/709a404472c4aabdf54c64d5ce98c6f3113f6bb4",
"reference": "709a404472c4aabdf54c64d5ce98c6f3113f6bb4",
"shasum": ""
},
"require": {
@ -2244,7 +2191,7 @@
"type": "github"
}
],
"time": "2020-10-15T05:14:52+00:00"
"time": "2020-10-25T04:48:50+00:00"
},
{
"name": "phpunit/php-file-iterator",
@ -2252,12 +2199,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
"reference": "8a1b0bfa74eba894f241e23261febb84c7ffbd8d"
"reference": "9261b419918657b8414f50bad5dd7259ab883144"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/8a1b0bfa74eba894f241e23261febb84c7ffbd8d",
"reference": "8a1b0bfa74eba894f241e23261febb84c7ffbd8d",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/9261b419918657b8414f50bad5dd7259ab883144",
"reference": "9261b419918657b8414f50bad5dd7259ab883144",
"shasum": ""
},
"require": {
@ -2300,7 +2247,7 @@
"type": "github"
}
],
"time": "2020-10-15T05:05:12+00:00"
"time": "2020-10-25T04:50:35+00:00"
},
{
"name": "phpunit/php-invoker",
@ -2308,12 +2255,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-invoker.git",
"reference": "dcc4b2e39d6cb5ba5435a0177ebe947c0c0d05ff"
"reference": "4438206001579af6dd8cb5fde02ff6d1a7b56b83"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/dcc4b2e39d6cb5ba5435a0177ebe947c0c0d05ff",
"reference": "dcc4b2e39d6cb5ba5435a0177ebe947c0c0d05ff",
"url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/4438206001579af6dd8cb5fde02ff6d1a7b56b83",
"reference": "4438206001579af6dd8cb5fde02ff6d1a7b56b83",
"shasum": ""
},
"require": {
@ -2359,7 +2306,7 @@
"type": "github"
}
],
"time": "2020-10-15T05:05:21+00:00"
"time": "2020-10-25T04:50:46+00:00"
},
{
"name": "phpunit/php-text-template",
@ -2367,12 +2314,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
"reference": "0b11f04dcd54d149c3904cda577ea8ef8735e377"
"reference": "da49b59805800de599d36c873d06d968212d4833"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0b11f04dcd54d149c3904cda577ea8ef8735e377",
"reference": "0b11f04dcd54d149c3904cda577ea8ef8735e377",
"url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/da49b59805800de599d36c873d06d968212d4833",
"reference": "da49b59805800de599d36c873d06d968212d4833",
"shasum": ""
},
"require": {
@ -2414,7 +2361,7 @@
"type": "github"
}
],
"time": "2020-10-15T05:06:00+00:00"
"time": "2020-10-25T04:51:25+00:00"
},
{
"name": "phpunit/php-timer",
@ -2422,12 +2369,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
"reference": "7fe57355ba7462b1cd940d93aa003660b4e6db20"
"reference": "ef5018a5d81904ae1a8b5d998f1d16138b86aa42"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/7fe57355ba7462b1cd940d93aa003660b4e6db20",
"reference": "7fe57355ba7462b1cd940d93aa003660b4e6db20",
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/ef5018a5d81904ae1a8b5d998f1d16138b86aa42",
"reference": "ef5018a5d81904ae1a8b5d998f1d16138b86aa42",
"shasum": ""
},
"require": {
@ -2469,7 +2416,7 @@
"type": "github"
}
],
"time": "2020-10-15T05:05:31+00:00"
"time": "2020-10-25T04:50:56+00:00"
},
{
"name": "phpunit/phpunit",
@ -2477,12 +2424,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "b2a9914fd2057a72ec65bc9b3cd963c831a1b14b"
"reference": "bf6442de9f2867600e30acc538803a5911237f72"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b2a9914fd2057a72ec65bc9b3cd963c831a1b14b",
"reference": "b2a9914fd2057a72ec65bc9b3cd963c831a1b14b",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/bf6442de9f2867600e30acc538803a5911237f72",
"reference": "bf6442de9f2867600e30acc538803a5911237f72",
"shasum": ""
},
"require": {
@ -2568,7 +2515,7 @@
"type": "github"
}
],
"time": "2020-10-22T06:06:02+00:00"
"time": "2020-10-25T04:47:12+00:00"
},
{
"name": "sebastian/cli-parser",
@ -2576,12 +2523,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
"reference": "bb13fcea306b784ef38fc1cda21c1395c233f4bc"
"reference": "20af41a47fef3a828e400b9fa65a9e70014821fa"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/bb13fcea306b784ef38fc1cda21c1395c233f4bc",
"reference": "bb13fcea306b784ef38fc1cda21c1395c233f4bc",
"url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/20af41a47fef3a828e400b9fa65a9e70014821fa",
"reference": "20af41a47fef3a828e400b9fa65a9e70014821fa",
"shasum": ""
},
"require": {
@ -2620,7 +2567,7 @@
"type": "github"
}
],
"time": "2020-10-15T05:19:54+00:00"
"time": "2020-10-25T04:59:31+00:00"
},
{
"name": "sebastian/code-unit",
@ -2628,12 +2575,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit.git",
"reference": "46a6ff3fabc0449fa17ca3ec485c44ab792f65c1"
"reference": "f18e2644f5c453eb800569ad19d829c50a5c231a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/46a6ff3fabc0449fa17ca3ec485c44ab792f65c1",
"reference": "46a6ff3fabc0449fa17ca3ec485c44ab792f65c1",
"url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/f18e2644f5c453eb800569ad19d829c50a5c231a",
"reference": "f18e2644f5c453eb800569ad19d829c50a5c231a",
"shasum": ""
},
"require": {
@ -2672,7 +2619,7 @@
"type": "github"
}
],
"time": "2020-10-15T05:03:44+00:00"
"time": "2020-10-25T04:49:06+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
@ -2680,12 +2627,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
"reference": "a801a24d7681090e8334c631b99181df063ea457"
"reference": "c46c6a70d436c927b8a7c4a22b93219e0a57f116"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/a801a24d7681090e8334c631b99181df063ea457",
"reference": "a801a24d7681090e8334c631b99181df063ea457",
"url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/c46c6a70d436c927b8a7c4a22b93219e0a57f116",
"reference": "c46c6a70d436c927b8a7c4a22b93219e0a57f116",
"shasum": ""
},
"require": {
@ -2723,7 +2670,7 @@
"type": "github"
}
],
"time": "2020-10-15T05:03:53+00:00"
"time": "2020-10-25T04:49:16+00:00"
},
{
"name": "sebastian/comparator",
@ -2731,12 +2678,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
"reference": "d43148f588efca5b5dd0c3d98da467f5aafdac6b"
"reference": "1374f447d5707d2d1e690c6400c3034973007b1d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/d43148f588efca5b5dd0c3d98da467f5aafdac6b",
"reference": "d43148f588efca5b5dd0c3d98da467f5aafdac6b",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1374f447d5707d2d1e690c6400c3034973007b1d",
"reference": "1374f447d5707d2d1e690c6400c3034973007b1d",
"shasum": ""
},
"require": {
@ -2793,7 +2740,7 @@
"type": "github"
}
],
"time": "2020-10-15T05:04:03+00:00"
"time": "2020-10-25T04:49:26+00:00"
},
{
"name": "sebastian/complexity",
@ -2801,12 +2748,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
"reference": "6d4cf3e8224f1e8527ab434b4ba902978af523db"
"reference": "6536228719815a632cf51b28d0871fc2aa3b79c5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/6d4cf3e8224f1e8527ab434b4ba902978af523db",
"reference": "6d4cf3e8224f1e8527ab434b4ba902978af523db",
"url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/6536228719815a632cf51b28d0871fc2aa3b79c5",
"reference": "6536228719815a632cf51b28d0871fc2aa3b79c5",
"shasum": ""
},
"require": {
@ -2846,7 +2793,7 @@
"type": "github"
}
],
"time": "2020-10-15T05:06:11+00:00"
"time": "2020-10-25T04:51:35+00:00"
},
{
"name": "sebastian/diff",
@ -2854,12 +2801,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
"reference": "c25d82b5b776a3ba4e3b232a8688e969477444e0"
"reference": "531bfd6f8d3deb09cf51f7a3f628ea6e1e8c8c03"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c25d82b5b776a3ba4e3b232a8688e969477444e0",
"reference": "c25d82b5b776a3ba4e3b232a8688e969477444e0",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/531bfd6f8d3deb09cf51f7a3f628ea6e1e8c8c03",
"reference": "531bfd6f8d3deb09cf51f7a3f628ea6e1e8c8c03",
"shasum": ""
},
"require": {
@ -2908,7 +2855,7 @@
"type": "github"
}
],
"time": "2020-10-15T05:04:12+00:00"
"time": "2020-10-25T04:49:36+00:00"
},
{
"name": "sebastian/environment",
@ -2916,12 +2863,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
"reference": "40fcf803a36737ce1d2c46c489fb5d1ec2db45d4"
"reference": "6e46ab7acfa9793f848ea444355ad8407508b604"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/40fcf803a36737ce1d2c46c489fb5d1ec2db45d4",
"reference": "40fcf803a36737ce1d2c46c489fb5d1ec2db45d4",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6e46ab7acfa9793f848ea444355ad8407508b604",
"reference": "6e46ab7acfa9793f848ea444355ad8407508b604",
"shasum": ""
},
"require": {
@ -2967,7 +2914,7 @@
"type": "github"
}
],
"time": "2020-10-15T05:04:22+00:00"
"time": "2020-10-25T04:49:45+00:00"
},
{
"name": "sebastian/exporter",
@ -2975,12 +2922,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
"reference": "dbdc89af25883b35be6ddd4b88a8bc5d22bb819d"
"reference": "fcfea176bfa64c9b76e9e326754fddcff97c0b91"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/dbdc89af25883b35be6ddd4b88a8bc5d22bb819d",
"reference": "dbdc89af25883b35be6ddd4b88a8bc5d22bb819d",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/fcfea176bfa64c9b76e9e326754fddcff97c0b91",
"reference": "fcfea176bfa64c9b76e9e326754fddcff97c0b91",
"shasum": ""
},
"require": {
@ -3040,7 +2987,7 @@
"type": "github"
}
],
"time": "2020-10-15T05:04:32+00:00"
"time": "2020-10-25T04:49:55+00:00"
},
{
"name": "sebastian/global-state",
@ -3048,12 +2995,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
"reference": "3a606041b47fb201c1d62ae03078d0e8a62569a6"
"reference": "baec50db0ae2a69ecc95381249d04410da1f408d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3a606041b47fb201c1d62ae03078d0e8a62569a6",
"reference": "3a606041b47fb201c1d62ae03078d0e8a62569a6",
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/baec50db0ae2a69ecc95381249d04410da1f408d",
"reference": "baec50db0ae2a69ecc95381249d04410da1f408d",
"shasum": ""
},
"require": {
@ -3100,7 +3047,7 @@
"type": "github"
}
],
"time": "2020-10-15T05:04:42+00:00"
"time": "2020-10-25T04:50:06+00:00"
},
{
"name": "sebastian/lines-of-code",
@ -3108,12 +3055,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
"reference": "5835b6f4707e022ae53a2a67420a3388b318715a"
"reference": "a1c2dd0ac77460dde453c7d50a51feca4d7eec97"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/5835b6f4707e022ae53a2a67420a3388b318715a",
"reference": "5835b6f4707e022ae53a2a67420a3388b318715a",
"url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/a1c2dd0ac77460dde453c7d50a51feca4d7eec97",
"reference": "a1c2dd0ac77460dde453c7d50a51feca4d7eec97",
"shasum": ""
},
"require": {
@ -3153,7 +3100,7 @@
"type": "github"
}
],
"time": "2020-10-15T05:06:21+00:00"
"time": "2020-10-25T04:51:46+00:00"
},
{
"name": "sebastian/object-enumerator",
@ -3161,12 +3108,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
"reference": "192362c78b33b0231e1e8841678be93ce6f31830"
"reference": "fb188a20279fcdb1e31646765f477f6909d2425d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/192362c78b33b0231e1e8841678be93ce6f31830",
"reference": "192362c78b33b0231e1e8841678be93ce6f31830",
"url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/fb188a20279fcdb1e31646765f477f6909d2425d",
"reference": "fb188a20279fcdb1e31646765f477f6909d2425d",
"shasum": ""
},
"require": {
@ -3206,7 +3153,7 @@
"type": "github"
}
],
"time": "2020-10-15T05:04:51+00:00"
"time": "2020-10-25T04:50:16+00:00"
},
{
"name": "sebastian/object-reflector",
@ -3214,12 +3161,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
"reference": "da3d1ade6fef132f2486d297c35cf61e45930a0b"
"reference": "243921e7a4a5d7123446151debe9d2c5dbe51001"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/da3d1ade6fef132f2486d297c35cf61e45930a0b",
"reference": "da3d1ade6fef132f2486d297c35cf61e45930a0b",
"url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/243921e7a4a5d7123446151debe9d2c5dbe51001",
"reference": "243921e7a4a5d7123446151debe9d2c5dbe51001",
"shasum": ""
},
"require": {
@ -3257,7 +3204,7 @@
"type": "github"
}
],
"time": "2020-10-15T05:05:01+00:00"
"time": "2020-10-25T04:50:26+00:00"
},
{
"name": "sebastian/recursion-context",
@ -3265,12 +3212,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
"reference": "3767a68ada0fc1d50b22db067cd2256b1b722faa"
"reference": "8853f5bc9d57f00f3eeec81d21844766d1ab3d64"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3767a68ada0fc1d50b22db067cd2256b1b722faa",
"reference": "3767a68ada0fc1d50b22db067cd2256b1b722faa",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/8853f5bc9d57f00f3eeec81d21844766d1ab3d64",
"reference": "8853f5bc9d57f00f3eeec81d21844766d1ab3d64",
"shasum": ""
},
"require": {
@ -3316,7 +3263,7 @@
"type": "github"
}
],
"time": "2020-10-15T05:05:41+00:00"
"time": "2020-10-25T04:51:06+00:00"
},
{
"name": "sebastian/resource-operations",
@ -3375,12 +3322,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
"reference": "5eb6a85e349cab8a411886cb52c070393d71bc7e"
"reference": "1680f27f4bb5977f9be4fb25c21bd89e2cf91792"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/5eb6a85e349cab8a411886cb52c070393d71bc7e",
"reference": "5eb6a85e349cab8a411886cb52c070393d71bc7e",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/1680f27f4bb5977f9be4fb25c21bd89e2cf91792",
"reference": "1680f27f4bb5977f9be4fb25c21bd89e2cf91792",
"shasum": ""
},
"require": {
@ -3419,7 +3366,7 @@
"type": "github"
}
],
"time": "2020-10-15T05:05:50+00:00"
"time": "2020-10-25T04:51:16+00:00"
},
{
"name": "sebastian/version",
@ -3510,16 +3457,16 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "325e20642232b66e3f140a76f795b58b50a08787"
"reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/325e20642232b66e3f140a76f795b58b50a08787",
"reference": "325e20642232b66e3f140a76f795b58b50a08787",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f4ba089a5b6366e453971d3aad5fe8e897b37f41",
"reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
"php": ">=7.1"
},
"suggest": {
"ext-ctype": "For best performance"
@ -3527,7 +3474,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.19-dev"
"dev-main": "1.20-dev"
},
"thanks": {
"name": "symfony/polyfill",
@ -3578,7 +3525,7 @@
"type": "tidelift"
}
],
"time": "2020-10-21T09:57:48+00:00"
"time": "2020-10-23T14:02:19+00:00"
},
{
"name": "symfony/polyfill-mbstring",
@ -3586,16 +3533,16 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "15e533d0893e58cc6c7a1971046a3dfc219435f2"
"reference": "39d483bdf39be819deabf04ec872eb0b2410b531"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/15e533d0893e58cc6c7a1971046a3dfc219435f2",
"reference": "15e533d0893e58cc6c7a1971046a3dfc219435f2",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/39d483bdf39be819deabf04ec872eb0b2410b531",
"reference": "39d483bdf39be819deabf04ec872eb0b2410b531",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
"php": ">=7.1"
},
"suggest": {
"ext-mbstring": "For best performance"
@ -3603,7 +3550,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.19-dev"
"dev-main": "1.20-dev"
},
"thanks": {
"name": "symfony/polyfill",
@ -3655,7 +3602,7 @@
"type": "tidelift"
}
],
"time": "2020-10-21T09:57:48+00:00"
"time": "2020-10-23T14:02:19+00:00"
},
{
"name": "theseer/tokenizer",
@ -3842,6 +3789,7 @@
"ext-yaml": "*",
"ext-dom": "*",
"ext-redis": "*",
"ext-swoole": "*",
"ext-pdo": "*",
"ext-openssl": "*",
"ext-zlib": "*",

View file

@ -62,6 +62,8 @@ class PDO extends PDONative
public function reconnect()
{
$this->pdo = new PDONative($this->dsn, $this->username, $this->passwd, $this->options);
echo '[PDO] MySQL connection restarted'.PHP_EOL;
// Connection settings
$this->pdo->setAttribute(PDONative::ATTR_DEFAULT_FETCH_MODE, PDONative::FETCH_ASSOC); // Return arrays

View file

@ -0,0 +1,117 @@
<?php
namespace Appwrite\Tests;
use Appwrite\Network\Validator\CNAME;
use PHPUnit\Framework\TestCase;
class ExtensionsTest extends TestCase
{
public function setUp(): void
{
// Core
// ctype
// curl
// date
// fileinfo
// filter
// ftp
// hash
// iconv
// libxml
// mysqlnd
// pcre
// pdo_mysql
// pdo_sqlite
// Phar
// posix
// readline
// Reflection
// session
// SimpleXML
// sockets
// sodium
// SPL
// sqlite3
// standard
// tokenizer
// xml
// xmlreader
// xmlwriter
// zlib
}
public function tearDown(): void
{
}
public function testPHPRedis()
{
$this->assertEquals(true, extension_loaded('redis'));
}
public function testSwoole()
{
$this->assertEquals(true, extension_loaded('swoole'));
}
public function testYAML()
{
$this->assertEquals(true, extension_loaded('yaml'));
}
public function testOPCache()
{
$this->assertEquals(true, extension_loaded('Zend OPcache'));
}
public function testDOM()
{
$this->assertEquals(true, extension_loaded('dom'));
}
public function testPDO()
{
$this->assertEquals(true, extension_loaded('PDO'));
}
public function testImagick()
{
$this->assertEquals(true, extension_loaded('imagick'));
}
public function testJSON()
{
$this->assertEquals(true, extension_loaded('json'));
}
public function testCURL()
{
$this->assertEquals(true, extension_loaded('curl'));
}
public function testMBString()
{
$this->assertEquals(true, extension_loaded('mbstring'));
}
public function testOPENSSL()
{
$this->assertEquals(true, extension_loaded('openssl'));
}
public function testZLIB()
{
$this->assertEquals(true, extension_loaded('zlib'));
}
public function testSockets()
{
$this->assertEquals(true, extension_loaded('sockets'));
}
public function testMaxminddb()
{
$this->assertEquals(true, extension_loaded('maxminddb'));
}
}