Skip to content

Commit f21769b

Browse files
committed
Fix non-string env vars handling
1 parent 1b976c2 commit f21769b

8 files changed

Lines changed: 28 additions & 16 deletions

composer.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
"phpunit/phpunit": "^7.4",
3939
"spatie/flysystem-dropbox": "^1.0",
4040
"superbalist/flysystem-google-storage": "^7.2",
41+
"symfony/dotenv": "^4.2",
4142
"symfony/var-dumper": "^4.1",
4243
"symfony/yaml": "^4.2"
4344
},

src/Adapter/Builder/FtpAdapterDefinitionBuilder.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,19 +44,19 @@ protected function configureOptions(OptionsResolver $resolver)
4444
$resolver->setAllowedTypes('password', 'string');
4545

4646
$resolver->setDefault('port', 21);
47-
$resolver->setAllowedTypes('port', 'int');
47+
$resolver->setAllowedTypes('port', 'scalar');
4848

4949
$resolver->setDefault('root', '');
5050
$resolver->setAllowedTypes('root', 'string');
5151

5252
$resolver->setDefault('passive', true);
53-
$resolver->setAllowedTypes('passive', 'boolean');
53+
$resolver->setAllowedTypes('passive', 'scalar');
5454

5555
$resolver->setDefault('ssl', false);
56-
$resolver->setAllowedTypes('ssl', 'boolean');
56+
$resolver->setAllowedTypes('ssl', 'scalar');
5757

5858
$resolver->setDefault('timeout', 90);
59-
$resolver->setAllowedTypes('timeout', 'int');
59+
$resolver->setAllowedTypes('timeout', 'scalar');
6060
}
6161

6262
protected function configureDefinition(Definition $definition, array $options)

src/Adapter/Builder/LocalAdapterDefinitionBuilder.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,26 +38,26 @@ protected function configureOptions(OptionsResolver $resolver)
3838
$resolver->setAllowedTypes('directory', 'string');
3939

4040
$resolver->setDefault('lock', 0);
41-
$resolver->setAllowedTypes('lock', 'int');
41+
$resolver->setAllowedTypes('lock', 'scalar');
4242

4343
$resolver->setDefault('skip_links', false);
44-
$resolver->setAllowedTypes('skip_links', 'boolean');
44+
$resolver->setAllowedTypes('skip_links', 'scalar');
4545

4646
$resolver->setDefault('permissions', function (OptionsResolver $subResolver) {
4747
$subResolver->setDefault('file', function (OptionsResolver $permsResolver) {
4848
$permsResolver->setDefault('public', 0644);
49-
$permsResolver->setAllowedTypes('public', 'int');
49+
$permsResolver->setAllowedTypes('public', 'scalar');
5050

5151
$permsResolver->setDefault('private', 0600);
52-
$permsResolver->setAllowedTypes('private', 'int');
52+
$permsResolver->setAllowedTypes('private', 'scalar');
5353
});
5454

5555
$subResolver->setDefault('dir', function (OptionsResolver $permsResolver) {
5656
$permsResolver->setDefault('public', 0755);
57-
$permsResolver->setAllowedTypes('public', 'int');
57+
$permsResolver->setAllowedTypes('public', 'scalar');
5858

5959
$permsResolver->setDefault('private', 0700);
60-
$permsResolver->setAllowedTypes('private', 'int');
60+
$permsResolver->setAllowedTypes('private', 'scalar');
6161
});
6262
});
6363
}

src/Adapter/Builder/SftpAdapterDefinitionBuilder.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ protected function configureOptions(OptionsResolver $resolver)
4646
$resolver->setAllowedTypes('password', 'string');
4747

4848
$resolver->setDefault('port', 22);
49-
$resolver->setAllowedTypes('port', 'int');
49+
$resolver->setAllowedTypes('port', 'scalar');
5050

5151
$resolver->setDefault('root', '');
5252
$resolver->setAllowedTypes('root', 'string');
@@ -55,7 +55,7 @@ protected function configureOptions(OptionsResolver $resolver)
5555
$resolver->setAllowedTypes('private_key', ['string', 'null']);
5656

5757
$resolver->setDefault('timeout', 90);
58-
$resolver->setAllowedTypes('timeout', 'int');
58+
$resolver->setAllowedTypes('timeout', 'scalar');
5959
}
6060

6161
protected function configureDefinition(Definition $definition, array $options)

src/Adapter/Builder/WebdavAdapterDefinitionBuilder.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ protected function configureOptions(OptionsResolver $resolver)
4444
$resolver->setAllowedTypes('prefix', 'string');
4545

4646
$resolver->setDefault('use_stream_copy', true);
47-
$resolver->setAllowedTypes('use_stream_copy', 'boolean');
47+
$resolver->setAllowedTypes('use_stream_copy', 'scalar');
4848
}
4949

5050
protected function configureDefinition(Definition $definition, array $options)

tests/DependencyInjection/FlysytemExtensionTest.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,18 @@
2020
use PHPUnit\Framework\TestCase;
2121
use Sabre\DAV\Client as WebDAVClient;
2222
use Spatie\Dropbox\Client as DropboxClient;
23+
use Symfony\Component\Dotenv\Dotenv;
2324
use Tests\League\FlysystemBundle\Kernel\FlysystemAppKernel;
2425

2526
class FlysytemExtensionTest extends TestCase
2627
{
2728
public function testCreateFileystems()
2829
{
30+
(new Dotenv())->populate([
31+
'AWS_BUCKET' => 'bucket-name',
32+
'FTP_PORT' => 21,
33+
]);
34+
2935
$kernel = new FlysystemAppKernel('test', true);
3036
$kernel->setAdapterClients($this->getClientMocks());
3137
$kernel->boot();

tests/Kernel/FrameworkAppKernel.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,12 @@ public function registerContainerConfiguration(LoaderInterface $loader)
3131
$loader->load(function (ContainerBuilder $container) {
3232
$container->loadFromExtension('framework', ['secret' => '$ecret']);
3333
$container->loadFromExtension('flysystem', [
34-
'storages' => ['uploads.storage' => ['adapter' => 'local', 'options' => ['directory' => __DIR__]]],
34+
'storages' => [
35+
'uploads.storage' => [
36+
'adapter' => 'local',
37+
'options' => ['directory' => __DIR__],
38+
],
39+
],
3540
]);
3641
});
3742
}

tests/Kernel/config/flysystem.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ flysystem:
44
adapter: 'aws'
55
options:
66
client: 'aws_client_service'
7-
bucket: 'bucket_name'
7+
bucket: '%env(AWS_BUCKET)%'
88
prefix: 'optional/path/prefix'
99

1010
fs_azure:
@@ -35,7 +35,7 @@ flysystem:
3535
host: 'ftp.example.com'
3636
username: 'username'
3737
password: 'password'
38-
port: 21
38+
port: '%env(FTP_PORT)%'
3939
root: '/path/to/root'
4040
passive: true
4141
ssl: true

0 commit comments

Comments
 (0)