diff --git a/src/app/Backends/Helper.php b/src/app/Backends/Helper.php --- a/src/app/Backends/Helper.php +++ b/src/app/Backends/Helper.php @@ -49,7 +49,68 @@ */ public static function defaultImapFolders(): array { - // TODO: Move the list from config/imap.php - return []; + $folders = [ + 'Drafts' => [ + 'metadata' => [ + '/private/vendor/kolab/folder-type' => 'mail.drafts', + '/private/specialuse' => '\Drafts', + ], + ], + 'Sent' => [ + 'metadata' => [ + '/private/vendor/kolab/folder-type' => 'mail.sentitems', + '/private/specialuse' => '\Sent', + ], + ], + 'Trash' => [ + 'metadata' => [ + '/private/vendor/kolab/folder-type' => 'mail.wastebasket', + '/private/specialuse' => '\Trash', + ], + ], + 'Spam' => [ + 'metadata' => [ + '/private/vendor/kolab/folder-type' => 'mail.junkemail', + '/private/specialuse' => '\Junk', + ], + ], + ]; + + if (\env('IMAP_WITH_GROUPWARE_DEFAULT_FOLDERS', true)) { + $folders = array_merge($folders, [ + 'Calendar' => [ + 'metadata' => [ + '/private/vendor/kolab/folder-type' => 'event.default', + '/shared/vendor/kolab/folder-type' => 'event', + ], + ], + 'Contacts' => [ + 'metadata' => [ + '/private/vendor/kolab/folder-type' => 'contact.default', + '/shared/vendor/kolab/folder-type' => 'event', + ], + ], + 'Tasks' => [ + 'metadata' => [ + '/private/vendor/kolab/folder-type' => 'task.default', + '/shared/vendor/kolab/folder-type' => 'task', + ], + ], + 'Notes' => [ + 'metadata' => [ + '/private/vendor/kolab/folder-type' => 'note.default', + '/shared/vendor/kolab/folder-type' => 'note', + ], + ], + 'Files' => [ + 'metadata' => [ + '/private/vendor/kolab/folder-type' => 'file.default', + '/shared/vendor/kolab/folder-type' => 'file', + ], + ], + ]); + } + + return $folders; } } diff --git a/src/app/Backends/IMAP.php b/src/app/Backends/IMAP.php --- a/src/app/Backends/IMAP.php +++ b/src/app/Backends/IMAP.php @@ -123,7 +123,7 @@ */ public static function createDefaultFolders(User $user): void { - if ($defaultFolders = \config('imap.default_folders')) { + if ($defaultFolders = \config('services.imap.default_folders')) { $config = self::getConfig(); // Log in as user to set private annotations and subscription state $imap = self::initIMAP($config, $user->email); @@ -479,7 +479,7 @@ $config = self::getConfig(); $imap = self::initIMAP($config, $username); - foreach (\config('imap.default_folders') as $mb => $_metadata) { + foreach (\config('services.imap.default_folders') as $mb => $_metadata) { $mailbox = self::toUTF7($mb); if (!self::folderExists($imap, $mailbox)) { $imap->closeConnection(); @@ -740,7 +740,7 @@ */ private static function getConfig() { - $uri = \parse_url(\config('imap.uri')); + $uri = \parse_url(\config('services.imap.uri')); $default_port = 143; $ssl_mode = null; @@ -755,16 +755,16 @@ $config = [ 'host' => $uri['host'], - 'user' => \config('imap.admin_login'), - 'password' => \config('imap.admin_password'), + 'user' => \config('services.imap.admin_login'), + 'password' => \config('services.imap.admin_password'), 'options' => [ 'port' => !empty($uri['port']) ? $uri['port'] : $default_port, 'ssl_mode' => $ssl_mode, 'socket_options' => [ 'ssl' => [ - 'verify_peer' => \config('imap.verify_peer'), - 'verify_peer_name' => \config('imap.verify_peer'), - 'verify_host' => \config('imap.verify_host') + 'verify_peer' => \config('services.imap.verify_peer'), + 'verify_peer_name' => \config('services.imap.verify_peer'), + 'verify_host' => \config('services.imap.verify_host') ], ], ], diff --git a/src/app/Backends/LDAP.php b/src/app/Backends/LDAP.php --- a/src/app/Backends/LDAP.php +++ b/src/app/Backends/LDAP.php @@ -75,8 +75,8 @@ $config = self::getConfig('admin'); $ldap = self::initLDAP($config); - $mgmtRootDN = \config('ldap.admin.root_dn'); - $hostedRootDN = \config('ldap.hosted.root_dn'); + $mgmtRootDN = \config('services.ldap.admin.root_dn'); + $hostedRootDN = \config('services.ldap.hosted.root_dn'); $result = $ldap->search($mgmtRootDN, '', 'base'); if (!$result || $result->count() != 1) { @@ -101,8 +101,8 @@ $config = self::getConfig('admin'); $ldap = self::initLDAP($config); - $mgmtRootDN = \config('ldap.admin.root_dn'); - $hostedRootDN = \config('ldap.hosted.root_dn'); + $mgmtRootDN = \config('services.ldap.admin.root_dn'); + $hostedRootDN = \config('services.ldap.hosted.root_dn'); $domainBaseDN = "ou={$domain->namespace},{$hostedRootDN}"; @@ -929,8 +929,8 @@ } $bound = $ldap->bind( - \config("ldap.{$privilege}.bind_dn"), - \config("ldap.{$privilege}.bind_pw") + \config("services.ldap.{$privilege}.bind_dn"), + \config("services.ldap.{$privilege}.bind_pw") ); if (!$bound) { @@ -1131,7 +1131,7 @@ } } - $hostedRootDN = \config('ldap.hosted.root_dn'); + $hostedRootDN = \config('services.ldap.hosted.root_dn'); $entry['nsroledn'] = []; @@ -1159,10 +1159,10 @@ private static function getConfig(string $privilege) { $config = [ - 'domain_base_dn' => \config('ldap.domain_base_dn'), - 'domain_filter' => \config('ldap.domain_filter'), - 'domain_name_attribute' => \config('ldap.domain_name_attribute'), - 'hosts' => \config('ldap.hosts'), + 'domain_base_dn' => \config('services.ldap.domain_base_dn'), + 'domain_filter' => \config('services.ldap.domain_filter'), + 'domain_name_attribute' => \config('services.ldap.domain_name_attribute'), + 'hosts' => \config('services.ldap.hosts'), 'sort' => false, 'vlv' => false, 'log_hook' => 'App\Backends\LDAP::logHook', diff --git a/src/app/Backends/Roundcube.php b/src/app/Backends/Roundcube.php --- a/src/app/Backends/Roundcube.php +++ b/src/app/Backends/Roundcube.php @@ -230,7 +230,7 @@ return null; } - $uri = \parse_url(\config('imap.uri')); + $uri = \parse_url(\config('services.imap.uri')); $user_id = (int) $db->table(self::USERS_TABLE)->insertGetId( [ diff --git a/src/app/CompanionApp.php b/src/app/CompanionApp.php --- a/src/app/CompanionApp.php +++ b/src/app/CompanionApp.php @@ -37,9 +37,9 @@ { \Log::debug("sending notification to " . var_export($deviceIds, true)); - $apiKey = \config('firebase.api_key'); - $apiUrl = \config('firebase.api_url'); - $verify = \config('firebase.api_verify_tls'); + $apiKey = \config('services.firebase.api_key'); + $apiUrl = \config('services.firebase.api_url'); + $verify = \config('services.firebase.api_verify_tls'); if (empty($apiKey)) { return false; diff --git a/src/app/DataMigrator/IMAP.php b/src/app/DataMigrator/IMAP.php --- a/src/app/DataMigrator/IMAP.php +++ b/src/app/DataMigrator/IMAP.php @@ -409,9 +409,9 @@ // TODO: These configuration options make sense for "local" Kolab IMAP, // but when connecting to external one we might want to just disable // cert validation, or make it optional via Account URI parameters - 'verify_peer' => \config('imap.verify_peer'), - 'verify_peer_name' => \config('imap.verify_peer'), - 'verify_host' => \config('imap.verify_host') + 'verify_peer' => \config('services.imap.verify_peer'), + 'verify_peer_name' => \config('services.imap.verify_peer'), + 'verify_host' => \config('services.imap.verify_host') ], ], ], diff --git a/src/app/Http/Controllers/API/V4/NGINXController.php b/src/app/Http/Controllers/API/V4/NGINXController.php --- a/src/app/Http/Controllers/API/V4/NGINXController.php +++ b/src/app/Http/Controllers/API/V4/NGINXController.php @@ -320,15 +320,15 @@ private function authenticateIMAP(Request $request, $prefGuam, $password) { if ($prefGuam) { - $port = \config('imap.guam_port'); + $port = \config('services.imap.guam_port'); } else { - $port = \config('imap.imap_port'); + $port = \config('services.imap.imap_port'); } $response = response('')->withHeaders( [ "Auth-Status" => "OK", - "Auth-Server" => gethostbyname(\config('imap.host')), + "Auth-Server" => gethostbyname(\config('services.imap.host')), "Auth-Port" => $port, "Auth-Pass" => $password ] @@ -350,8 +350,8 @@ $response = response('')->withHeaders( [ "Auth-Status" => "OK", - "Auth-Server" => gethostbyname(\config('smtp.host')), - "Auth-Port" => \config('smtp.port'), + "Auth-Server" => gethostbyname(\config('services.smtp.host')), + "Auth-Port" => \config('services.smtp.port'), "Auth-Pass" => $password ] ); diff --git a/src/app/Jobs/User/CreateJob.php b/src/app/Jobs/User/CreateJob.php --- a/src/app/Jobs/User/CreateJob.php +++ b/src/app/Jobs/User/CreateJob.php @@ -38,7 +38,7 @@ return; } - if ($user->email == \config('imap.admin_login')) { + if ($user->email == \config('services.imap.admin_login')) { // Ignore Cyrus admin account return; } diff --git a/src/app/Providers/AppServiceProvider.php b/src/app/Providers/AppServiceProvider.php --- a/src/app/Providers/AppServiceProvider.php +++ b/src/app/Providers/AppServiceProvider.php @@ -25,7 +25,7 @@ * * Create a config/override.php file with content like this: * return [ - * 'imap.uri' => 'overrideValue1', + * 'services.imap.uri' => 'overrideValue1', * 'queue.connections.database.table' => 'overrideValue2', * ]; */ diff --git a/src/config/firebase.php b/src/config/firebase.php deleted file mode 100644 --- a/src/config/firebase.php +++ /dev/null @@ -1,7 +0,0 @@ - Project Settings -> CLOUD MESSAGING -> Server key*/ - 'api_key' => env('FIREBASE_API_KEY'), - 'api_url' => env('FIREBASE_API_URL', 'https://fcm.googleapis.com/fcm/send'), - 'api_verify_tls' => (bool) env('FIREBASE_API_VERIFY_TLS', true) - ]; diff --git a/src/config/imap.php b/src/config/imap.php deleted file mode 100644 --- a/src/config/imap.php +++ /dev/null @@ -1,79 +0,0 @@ - [ - 'metadata' => [ - '/private/vendor/kolab/folder-type' => 'mail.drafts', - '/private/specialuse' => '\Drafts', - ], - ], - 'Sent' => [ - 'metadata' => [ - '/private/vendor/kolab/folder-type' => 'mail.sentitems', - '/private/specialuse' => '\Sent', - ], - ], - 'Trash' => [ - 'metadata' => [ - '/private/vendor/kolab/folder-type' => 'mail.wastebasket', - '/private/specialuse' => '\Trash', - ], - ], - 'Spam' => [ - 'metadata' => [ - '/private/vendor/kolab/folder-type' => 'mail.junkemail', - '/private/specialuse' => '\Junk', - ], - ], - ]; - if (env('IMAP_WITH_GROUPWARE_DEFAULT_FOLDERS', true)) { - $folders = array_merge($folders, [ - 'Calendar' => [ - 'metadata' => [ - '/private/vendor/kolab/folder-type' => 'event.default', - '/shared/vendor/kolab/folder-type' => 'event', - ], - ], - 'Contacts' => [ - 'metadata' => [ - '/private/vendor/kolab/folder-type' => 'contact.default', - '/shared/vendor/kolab/folder-type' => 'event', - ], - ], - 'Tasks' => [ - 'metadata' => [ - '/private/vendor/kolab/folder-type' => 'task.default', - '/shared/vendor/kolab/folder-type' => 'task', - ], - ], - 'Notes' => [ - 'metadata' => [ - '/private/vendor/kolab/folder-type' => 'note.default', - '/shared/vendor/kolab/folder-type' => 'note', - ], - ], - 'Files' => [ - 'metadata' => [ - '/private/vendor/kolab/folder-type' => 'file.default', - '/shared/vendor/kolab/folder-type' => 'file', - ], - ], - ]); - } - return $folders; - } -} - -return [ - 'uri' => env('IMAP_URI', 'ssl://kolab:11993'), - 'admin_login' => env('IMAP_ADMIN_LOGIN', 'cyrus-admin'), - 'admin_password' => env('IMAP_ADMIN_PASSWORD', null), - 'verify_peer' => env('IMAP_VERIFY_PEER', true), - 'verify_host' => env('IMAP_VERIFY_HOST', true), - 'host' => env('IMAP_HOST', '172.18.0.5'), - 'imap_port' => env('IMAP_PORT', 12143), - 'guam_port' => env('IMAP_GUAM_PORT', 9143), - 'default_folders' => imap_defaultFolders() -]; diff --git a/src/config/ldap.php b/src/config/ldap.php deleted file mode 100644 --- a/src/config/ldap.php +++ /dev/null @@ -1,32 +0,0 @@ - explode(' ', env('LDAP_HOSTS', '127.0.0.1')), - 'port' => env('LDAP_PORT', 636), - 'use_tls' => (boolean)env('LDAP_USE_TLS', false), - 'use_ssl' => (boolean)env('LDAP_USE_SSL', true), - - 'admin' => [ - 'bind_dn' => env('LDAP_ADMIN_BIND_DN', null), - 'bind_pw' => env('LDAP_ADMIN_BIND_PW', null), - 'root_dn' => env('LDAP_ADMIN_ROOT_DN', null), - ], - - 'hosted' => [ - 'bind_dn' => env('LDAP_HOSTED_BIND_DN', null), - 'bind_pw' => env('LDAP_HOSTED_BIND_PW', null), - 'root_dn' => env('LDAP_HOSTED_ROOT_DN', null), - ], - - 'domain_owner' => [ - // probably proxy credentials? - ], - - 'root_dn' => env('LDAP_ROOT_DN', null), - 'service_bind_dn' => env('LDAP_SERVICE_BIND_DN', null), - 'service_bind_pw' => env('LDAP_SERVICE_BIND_PW', null), - 'login_filter' => env('LDAP_LOGIN_FILTER', '(&(objectclass=kolabinetorgperson)(uid=%s))'), - 'filter' => env('LDAP_FILTER', '(&(objectclass=kolabinetorgperson)(uid=%s))'), - 'domain_name_attribute' => env('LDAP_DOMAIN_NAME_ATTRIBUTE', 'associateddomain'), - 'domain_base_dn' => env('LDAP_DOMAIN_BASE_DN', null), - 'domain_filter' => env('LDAP_DOMAIN_FILTER', '(associateddomain=%s)') -]; diff --git a/src/config/services.php b/src/config/services.php --- a/src/config/services.php +++ b/src/config/services.php @@ -3,15 +3,9 @@ return [ /* - |-------------------------------------------------------------------------- - | Third Party Services - |-------------------------------------------------------------------------- - | - | This file is for storing the credentials for third party services such - | as Mailgun, SparkPost and others. This file provides a sane default - | location for this type of information, allowing packages to have - | a conventional file to locate the various service credentials. - | + ---------------------------------------------------------------------------- + Third Party Services + ---------------------------------------------------------------------------- */ 'mailgun' => [ @@ -52,16 +46,73 @@ 'api_verify_tls' => env('COINBASE_VERIFY_TLS', true), ], + 'firebase' => [ + // api_key available in: Firebase Console -> Project Settings -> CLOUD MESSAGING -> Server key + 'api_key' => env('FIREBASE_API_KEY'), + 'api_url' => env('FIREBASE_API_URL', 'https://fcm.googleapis.com/fcm/send'), + 'api_verify_tls' => (bool) env('FIREBASE_API_VERIFY_TLS', true) + ], + 'openexchangerates' => [ 'api_key' => env('OPENEXCHANGERATES_API_KEY', null), ], + /* + ---------------------------------------------------------------------------- + Kolab Services + ---------------------------------------------------------------------------- + */ + 'dav' => [ 'uri' => env('DAV_URI', 'https://proxy/'), 'default_folders' => \App\Backends\Helper::defaultDavFolders(), 'verify' => (bool) env('DAV_VERIFY', true), ], + 'imap' => [ + 'uri' => env('IMAP_URI', 'ssl://kolab:11993'), + 'admin_login' => env('IMAP_ADMIN_LOGIN', 'cyrus-admin'), + 'admin_password' => env('IMAP_ADMIN_PASSWORD', null), + 'verify_peer' => env('IMAP_VERIFY_PEER', true), + 'verify_host' => env('IMAP_VERIFY_HOST', true), + 'host' => env('IMAP_HOST', '172.18.0.5'), + 'imap_port' => env('IMAP_PORT', 12143), + 'guam_port' => env('IMAP_GUAM_PORT', 9143), + 'default_folders' => \App\Backends\Helper::defaultImapFolders(), + ], + + 'ldap' => [ + 'hosts' => explode(' ', env('LDAP_HOSTS', '127.0.0.1')), + 'port' => env('LDAP_PORT', 636), + 'use_tls' => (boolean)env('LDAP_USE_TLS', false), + 'use_ssl' => (boolean)env('LDAP_USE_SSL', true), + + 'admin' => [ + 'bind_dn' => env('LDAP_ADMIN_BIND_DN', null), + 'bind_pw' => env('LDAP_ADMIN_BIND_PW', null), + 'root_dn' => env('LDAP_ADMIN_ROOT_DN', null), + ], + + 'hosted' => [ + 'bind_dn' => env('LDAP_HOSTED_BIND_DN', null), + 'bind_pw' => env('LDAP_HOSTED_BIND_PW', null), + 'root_dn' => env('LDAP_HOSTED_ROOT_DN', null), + ], + + 'domain_owner' => [ + // probably proxy credentials? + ], + + 'root_dn' => env('LDAP_ROOT_DN', null), + 'service_bind_dn' => env('LDAP_SERVICE_BIND_DN', null), + 'service_bind_pw' => env('LDAP_SERVICE_BIND_PW', null), + 'login_filter' => env('LDAP_LOGIN_FILTER', '(&(objectclass=kolabinetorgperson)(uid=%s))'), + 'filter' => env('LDAP_FILTER', '(&(objectclass=kolabinetorgperson)(uid=%s))'), + 'domain_name_attribute' => env('LDAP_DOMAIN_NAME_ATTRIBUTE', 'associateddomain'), + 'domain_base_dn' => env('LDAP_DOMAIN_BASE_DN', null), + 'domain_filter' => env('LDAP_DOMAIN_FILTER', '(associateddomain=%s)') + ], + 'autodiscover' => [ 'uri' => env('AUTODISCOVER_URI', env('APP_URL', 'http://localhost')), ], @@ -70,11 +121,16 @@ 'uri' => env('ACTIVESYNC_URI', 'https://proxy/Microsoft-Server-ActiveSync'), ], + 'smtp' => [ + 'host' => env('SMTP_HOST', '172.18.0.5'), + 'port' => env('SMTP_PORT', 10465), + ], + 'wopi' => [ 'uri' => env('WOPI_URI', 'http://roundcube/chwala/'), ], 'webmail' => [ 'uri' => env('WEBMAIL_URI', 'http://roundcube/roundcubemail/'), - ] + ], ]; diff --git a/src/config/smtp.php b/src/config/smtp.php deleted file mode 100644 --- a/src/config/smtp.php +++ /dev/null @@ -1,6 +0,0 @@ - env('SMTP_HOST', '172.18.0.5'), - 'port' => env('SMTP_PORT', 10465), -]; diff --git a/src/phpunit.xml b/src/phpunit.xml --- a/src/phpunit.xml +++ b/src/phpunit.xml @@ -21,6 +21,10 @@ tests/Feature + + tests/Infrastructure + + tests/Browser tests/Browser/PaymentCoinbaseTest.php diff --git a/src/tests/Feature/Backends/DAVTest.php b/src/tests/Feature/Backends/DAVTest.php --- a/src/tests/Feature/Backends/DAVTest.php +++ b/src/tests/Feature/Backends/DAVTest.php @@ -49,7 +49,7 @@ $this->user = $user = $this->getTestUser('davtest-' . time() . '@' . \config('app.domain'), $props); // Create the IMAP mailbox, it is required otherwise DAV requests will fail - \config(['imap.default_folders' => null]); + \config(['services.imap.default_folders' => null]); IMAP::createUser($user); $dav_folders = [ diff --git a/src/tests/Feature/Backends/LDAPTest.php b/src/tests/Feature/Backends/LDAPTest.php --- a/src/tests/Feature/Backends/LDAPTest.php +++ b/src/tests/Feature/Backends/LDAPTest.php @@ -28,7 +28,7 @@ } $this->ldap_config = [ - 'ldap.hosts' => \config('ldap.hosts'), + 'services.ldap.hosts' => \config('services.ldap.hosts'), ]; $this->deleteTestUser('user-ldap-test@' . \config('app.domain')); @@ -63,7 +63,7 @@ */ public function testConnectException(): void { - \config(['ldap.hosts' => 'non-existing.host']); + \config(['services.ldap.hosts' => 'non-existing.host']); $this->expectException(\Exception::class); @@ -133,7 +133,7 @@ { Queue::fake(); - $root_dn = \config('ldap.hosted.root_dn'); + $root_dn = \config('services.ldap.hosted.root_dn'); $group = $this->getTestGroup('group@kolab.org', [ 'members' => ['member1@testldap.com', 'member2@testldap.com'] ]); @@ -225,7 +225,7 @@ { Queue::fake(); - $root_dn = \config('ldap.hosted.root_dn'); + $root_dn = \config('services.ldap.hosted.root_dn'); $resource = $this->getTestResource('test-resource@kolab.org', ['name' => 'Test1']); $resource->setSetting('invitation_policy', null); @@ -311,7 +311,7 @@ { Queue::fake(); - $root_dn = \config('ldap.hosted.root_dn'); + $root_dn = \config('services.ldap.hosted.root_dn'); $folder = $this->getTestSharedFolder('test-folder@kolab.org', ['type' => 'event']); $folder->setSetting('acl', null); @@ -399,7 +399,7 @@ 'mail' => $user->email, 'uid' => $user->email, 'nsroledn' => [ - 'cn=imap-user,' . \config('ldap.hosted.root_dn') + 'cn=imap-user,' . \config('services.ldap.hosted.root_dn') ], 'cn' => 'unknown', 'displayname' => '', @@ -491,8 +491,8 @@ $expected['inetuserstatus'] = $user->status; $expected['mailquota'] = \config('app.storage.min_qty') * 1048576; $expected['nsroledn'] = [ - 'cn=2fa-user,' . \config('ldap.hosted.root_dn'), - 'cn=degraded-user,' . \config('ldap.hosted.root_dn') + 'cn=2fa-user,' . \config('services.ldap.hosted.root_dn'), + 'cn=degraded-user,' . \config('services.ldap.hosted.root_dn') ]; $ldap_user = LDAP::getUser($user->email); diff --git a/src/tests/Feature/Controller/NGINXTest.php b/src/tests/Feature/Controller/NGINXTest.php --- a/src/tests/Feature/Controller/NGINXTest.php +++ b/src/tests/Feature/Controller/NGINXTest.php @@ -76,7 +76,7 @@ $response = $this->withHeaders($headers)->get("api/webhooks/nginx"); $response->assertStatus(200); $response->assertHeader('auth-status', 'OK'); - $response->assertHeader('auth-port', \config('imap.imap_port')); + $response->assertHeader('auth-port', \config('services.imap.imap_port')); // Invalid Password $modifiedHeaders = $headers; @@ -119,8 +119,8 @@ $response = $this->withHeaders($modifiedHeaders)->get("api/webhooks/nginx"); $response->assertStatus(200); $response->assertHeader('auth-status', 'OK'); - $response->assertHeader('auth-server', gethostbyname(\config('smtp.host'))); - $response->assertHeader('auth-port', \config('smtp.port')); + $response->assertHeader('auth-server', gethostbyname(\config('services.smtp.host'))); + $response->assertHeader('auth-port', \config('services.smtp.port')); $response->assertHeader('auth-pass', $pass); // Empty Auth Protocol @@ -136,8 +136,8 @@ $response = $this->withHeaders($headers)->get("api/webhooks/nginx"); $response->assertStatus(200); $response->assertHeader('auth-status', 'OK'); - $response->assertHeader('auth-server', gethostbyname(\config('imap.host'))); - $response->assertHeader('auth-port', \config('imap.guam_port')); + $response->assertHeader('auth-server', gethostbyname(\config('services.imap.host'))); + $response->assertHeader('auth-port', \config('services.imap.guam_port')); $companionApp = $this->getTestCompanionApp( 'testdevice', diff --git a/src/tests/Feature/DataMigrator/IMAPTest.php b/src/tests/Feature/DataMigrator/IMAPTest.php --- a/src/tests/Feature/DataMigrator/IMAPTest.php +++ b/src/tests/Feature/DataMigrator/IMAPTest.php @@ -39,7 +39,7 @@ */ public function testInitialMigration(): void { - $uri = \config('imap.uri'); + $uri = \config('services.imap.uri'); if (strpos($uri, '://') === false) { $uri = 'imap://' . $uri; @@ -103,7 +103,7 @@ */ public function testIncrementalMigration(): void { - $uri = \config('imap.uri'); + $uri = \config('services.imap.uri'); if (strpos($uri, '://') === false) { $uri = 'imap://' . $uri; diff --git a/src/tests/Feature/Jobs/Group/UpdateTest.php b/src/tests/Feature/Jobs/Group/UpdateTest.php --- a/src/tests/Feature/Jobs/Group/UpdateTest.php +++ b/src/tests/Feature/Jobs/Group/UpdateTest.php @@ -65,7 +65,7 @@ $job->handle(); $ldapGroup = LDAP::getGroup($group->email); - $root_dn = \config('ldap.hosted.root_dn'); + $root_dn = \config('services.ldap.hosted.root_dn'); $this->assertSame('uid=test1@gmail.com,ou=People,ou=kolab.org,' . $root_dn, $ldapGroup['uniquemember']);