/
config.php
91 lines (65 loc) 路 3.44 KB
/
config.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?php
declare(strict_types=1);
/*
* This file is part of the NucleosProfileBundle package.
*
* (c) Christian Gripp <mail@core23.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
use Nucleos\ProfileBundle\Tests\App\Entity\TestGroup;
use Nucleos\ProfileBundle\Tests\App\Entity\TestUser;
use Nucleos\UserBundle\Model\UserInterface;
use Symfony\Component\Security\Http\Attribute\IsGranted;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->extension('framework', ['secret' => 'secret']);
$containerConfigurator->extension('framework', ['test' => true]);
$containerConfigurator->extension('framework', ['session' => ['storage_factory_id' => 'session.storage.factory.mock_file', 'handler_id' => null]]);
$containerConfigurator->extension('framework', [
'mailer' => [
'dsn' => 'null://null',
],
]);
$containerConfigurator->extension('twig', ['strict_variables' => true]);
$containerConfigurator->extension('twig', ['exception_controller' => null]);
$containerConfigurator->extension('doctrine', ['dbal' => ['url' => 'sqlite:///%kernel.cache_dir%/data.db', 'logging' => false, 'use_savepoints' => true]]);
$containerConfigurator->extension('doctrine', ['orm' => [
'auto_mapping' => true,
'mappings' => [
'App' => [
'is_bundle' => false,
'type' => 'attribute',
'dir' => '%kernel.project_dir%/Entity',
'prefix' => 'Nucleos\ProfileBundle\Tests\App\Entity',
'alias' => 'App',
],
],
]]);
$securityConfig = [
'firewalls' => ['main' => ['security' => true]],
];
// TODO: Remove if when dropping support of Symfony 5.4
if (!class_exists(IsGranted::class)) {
$securityConfig['enable_authenticator_manager'] = true;
}
$containerConfigurator->extension('security', $securityConfig);
$containerConfigurator->extension('security', [
'providers' => ['nucleos_userbundle' => ['id' => 'nucleos_user.user_provider.username']],
]);
$containerConfigurator->extension('security', ['access_control' => [
['path' => '^/.*', 'role' => 'PUBLIC_ACCESS'],
]]);
$containerConfigurator->extension('security', ['password_hashers' => [UserInterface::class => [
'algorithm' => 'plaintext',
]]]);
$containerConfigurator->extension('nucleos_user', ['db_driver' => 'orm']);
$containerConfigurator->extension('nucleos_user', ['firewall_name' => 'main']);
$containerConfigurator->extension('nucleos_user', ['from_email' => 'no-reply@localhost']);
$containerConfigurator->extension('nucleos_user', ['user_class' => TestUser::class]);
$containerConfigurator->extension('nucleos_user', ['group' => ['group_class' => TestGroup::class]]);
$containerConfigurator->extension('nucleos_user', ['loggedin' => ['route' => 'nucleos_user_update_security']]);
$containerConfigurator->extension('nucleos_profile', ['registration' => ['confirmation' => ['enabled' => true, 'from_email' => 'no-reply@example.com']]]);
$containerConfigurator->extension('dama_doctrine_test', ['enable_static_connection' => true, 'enable_static_meta_data_cache' => true, 'enable_static_query_cache' => true]);
};