Skip to content

Commit d1971ad

Browse files
committed
Convert unittests to PHP 8 attributes
1 parent a0627b0 commit d1971ad

File tree

9 files changed

+76
-81
lines changed

9 files changed

+76
-81
lines changed

src/test/php/security/credentials/unittest/AbstractSecretsTest.class.php

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
<?php namespace security\credentials\unittest;
22

3-
abstract class AbstractSecretsTest extends \unittest\TestCase {
3+
use unittest\{Test, TestCase, Values};
4+
5+
abstract class AbstractSecretsTest extends TestCase {
46

57
/** @return security.vaults.Secrets */
68
protected abstract function newFixture();
@@ -44,7 +46,7 @@ function($s) { return $s->reveal(); },
4446
}
4547
}
4648

47-
#[@test]
49+
#[Test]
4850
public function open_and_close_can_be_called_twice() {
4951
$fixture= $this->newFixture();
5052
$fixture->open();
@@ -54,25 +56,17 @@ public function open_and_close_can_be_called_twice() {
5456
$fixture->close();
5557
}
5658

57-
#[@test, @values([
58-
# ['test_db_password', 'db'],
59-
# ['test_ldap_password', 'ldap'],
60-
# ['prod_master_key', 'master']
61-
#])]
59+
#[Test, Values([['test_db_password', 'db'], ['test_ldap_password', 'ldap'], ['prod_master_key', 'master']])]
6260
public function credential($name, $result) {
6361
$this->assertCredential($this->newFixture(), $result, $name);
6462
}
6563

66-
#[@test, @values([
67-
# ['test_*', ['test_db_password' => 'db', 'test_ldap_password' => 'ldap']],
68-
# ['prod_*', ['prod_master_key' => 'master']],
69-
# ['non_existant_*', []]
70-
#])]
64+
#[Test, Values([['test_*', ['test_db_password' => 'db', 'test_ldap_password' => 'ldap']], ['prod_*', ['prod_master_key' => 'master']], ['non_existant_*', []]])]
7165
public function credentials($filter, $result) {
7266
$this->assertCredentials($this->newFixture(), $result, $filter);
7367
}
7468

75-
#[@test]
69+
#[Test]
7670
public function non_existant_credential() {
7771
$fixture= $this->newFixture();
7872
$fixture->open();

src/test/php/security/credentials/unittest/CredentialsTest.class.php

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
<?php namespace security\credentials\unittest;
22

3-
use lang\ElementNotFoundException;
4-
use lang\IllegalArgumentException;
5-
use security\credentials\Credentials;
6-
use security\credentials\Secrets;
3+
use lang\{ElementNotFoundException, IllegalArgumentException};
4+
use security\credentials\{Credentials, Secrets};
5+
use unittest\{Expect, Test, Values};
76
use util\Secret;
87

98
class CredentialsTest extends \unittest\TestCase {
109

11-
#[@test]
10+
#[Test]
1211
public function can_create() {
1312
new Credentials(newinstance(Secrets::class, [], [
1413
'open' => function() { },
@@ -18,12 +17,12 @@ public function can_create() {
1817
]));
1918
}
2019

21-
#[@test, @expect(IllegalArgumentException::class)]
20+
#[Test, Expect(IllegalArgumentException::class)]
2221
public function cannot_create_without_secrets() {
2322
new Credentials();
2423
}
2524

26-
#[@test]
25+
#[Test]
2726
public function credential() {
2827
$secret= new Secret('test');
2928
$credentials= new Credentials(newinstance(Secrets::class, [], [
@@ -36,7 +35,7 @@ public function credential() {
3635
$this->assertEquals($secret, $credentials->named('test'));
3736
}
3837

39-
#[@test, @values(['test', '*'])]
38+
#[Test, Values(['test', '*'])]
4039
public function credentials($pattern) {
4140
$secret= new Secret('test');
4241
$credentials= new Credentials(newinstance(Secrets::class, [], [
@@ -49,7 +48,7 @@ public function credentials($pattern) {
4948
$this->assertEquals(['test' => $secret], iterator_to_array($credentials->all($pattern)));
5049
}
5150

52-
#[@test, @expect(ElementNotFoundException::class)]
51+
#[Test, Expect(ElementNotFoundException::class)]
5352
public function non_existant_credential() {
5453
$credentials= new Credentials(newinstance(Secrets::class, [], [
5554
'open' => function() { return $this; },
@@ -61,7 +60,7 @@ public function non_existant_credential() {
6160
$credentials->named('test');
6261
}
6362

64-
#[@test]
63+
#[Test]
6564
public function explicit_open() {
6665
$opened= false;
6766
$credentials= new Credentials(newinstance(Secrets::class, [], [
@@ -75,7 +74,7 @@ public function explicit_open() {
7574
$this->assertEquals(true, $opened);
7675
}
7776

78-
#[@test]
77+
#[Test]
7978
public function secrets_not_opened_until_actually_needed() {
8079
$secret= new Secret('test');
8180
$credentials= new Credentials(
@@ -96,7 +95,7 @@ public function secrets_not_opened_until_actually_needed() {
9695
$this->assertEquals($secret, $credentials->named('test'));
9796
}
9897

99-
#[@test]
98+
#[Test]
10099
public function secrets_opened_during_all() {
101100
$credentials= new Credentials(
102101
newinstance(Secrets::class, [], [

src/test/php/security/credentials/unittest/FromDockerSecretsTest.class.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<?php namespace security\credentials\unittest;
22

3+
use io\{Folder, Path};
4+
use lang\Environment;
35
use security\credentials\FromDockerSecrets;
6+
use unittest\Test;
47
use util\Secret;
5-
use lang\Environment;
6-
use io\Folder;
7-
use io\Path;
88

99
class FromDockerSecretsTest extends AbstractSecretsTest {
1010

@@ -34,24 +34,24 @@ public function tearDown() {
3434
$this->path->exists() && $this->path->unlink();
3535
}
3636

37-
#[@test]
37+
#[Test]
3838
public function path() {
3939
$path= new Path('.');
4040
$this->assertEquals($path, (new FromDockerSecrets($path))->path());
4141
}
4242

43-
#[@test]
43+
#[Test]
4444
public function string_path() {
4545
$this->assertEquals(new Path('.'), (new FromDockerSecrets('.'))->path());
4646
}
4747

48-
#[@test]
48+
#[Test]
4949
public function folder_path() {
5050
$folder= new Folder('.');
5151
$this->assertEquals(new Path($folder->getURI()), (new FromDockerSecrets($folder))->path());
5252
}
5353

54-
#[@test]
54+
#[Test]
5555
public function default_path() {
5656
$this->assertNotEquals(null, (new FromDockerSecrets())->path());
5757
}

src/test/php/security/credentials/unittest/FromEnvironmentTest.class.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
use lang\Environment;
44
use security\credentials\FromEnvironment;
5+
use unittest\Test;
56
use util\Secret;
67

78
class FromEnvironmentTest extends AbstractSecretsTest {
@@ -18,12 +19,12 @@ public function setUp() {
1819
]);
1920
}
2021

21-
#[@test]
22+
#[Test]
2223
public function can_create() {
2324
new FromEnvironment();
2425
}
2526

26-
#[@test]
27+
#[Test]
2728
public function removed_after_use() {
2829
$before= Environment::variable('TEST_DB_PASSWORD', null);
2930

src/test/php/security/credentials/unittest/FromFileTest.class.php

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
<?php namespace security\credentials\unittest;
22

3-
use io\File;
4-
use io\TempFile;
5-
use io\streams\MemoryInputStream;
6-
use io\streams\Streams;
3+
use io\streams\{MemoryInputStream, Streams};
4+
use io\{File, TempFile};
75
use security\credentials\FromFile;
6+
use unittest\{Test, Values};
87

98
class FromFileTest extends AbstractSecretsTest {
109

@@ -18,15 +17,18 @@ protected function newFixture() {
1817
)));
1918
}
2019

21-
#[@test, @values([
22-
# [new File("filename"), "files"],
23-
# ["filename", "filenames"]
24-
#])]
20+
/** @return iterable */
21+
private function files() {
22+
yield [new File('filename'), 'files'];
23+
yield ['filename', 'filenames'];
24+
}
25+
26+
#[Test, Values('files')]
2527
public function can_create($arg, $from) {
2628
new FromFile($arg);
2729
}
2830

29-
#[@test]
31+
#[Test]
3032
public function file_kept_by_default() {
3133
$file= new TempFile($this->name);
3234
$fixture= new FromFile($file);
@@ -35,7 +37,7 @@ public function file_kept_by_default() {
3537
$this->assertTrue($file->exists());
3638
}
3739

38-
#[@test]
40+
#[Test]
3941
public function can_optionally_be_removed_after_close() {
4042
$file= new TempFile($this->name);
4143
$fixture= new FromFile($file, FromFile::REMOVE);
@@ -44,7 +46,7 @@ public function can_optionally_be_removed_after_close() {
4446
$this->assertFalse($file->exists());
4547
}
4648

47-
#[@test]
49+
#[Test]
4850
public function byte_escape_sequence() {
4951
$this->assertCredential($this->newFixture(), "S\xa7T", 'cloud_secret');
5052
}

src/test/php/security/credentials/unittest/FromKeePassTest.class.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
use lang\ClassLoader;
44
use security\credentials\FromKeePass;
5+
use unittest\{Test, Values};
56
use util\Secret;
67

78
class FromKeePassTest extends AbstractSecretsTest {
@@ -15,12 +16,12 @@ protected function newFixture($group= '/') {
1516
);
1617
}
1718

18-
#[@test, @values(['xp/app', '/xp/app', '/xp/app/'])]
19+
#[Test, Values(['xp/app', '/xp/app', '/xp/app/'])]
1920
public function using_group($group) {
2021
$this->assertCredential($this->newFixture($group), 'test', 'mysql');
2122
}
2223

23-
#[@test, @values(['xp/app', '/xp/app', '/xp/app/'])]
24+
#[Test, Values(['xp/app', '/xp/app', '/xp/app/'])]
2425
public function all_in_group($group) {
2526
$this->assertCredentials($this->newFixture($group), ['mysql' => 'test'], '*');
2627
}

src/test/php/security/credentials/unittest/FromStreamTest.class.php

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<?php namespace security\credentials\unittest;
22

3+
use io\File;
4+
use io\streams\{MemoryInputStream, TextReader};
35
use security\credentials\FromStream;
6+
use unittest\{Test, Values};
47
use util\Secret;
5-
use io\File;
6-
use io\streams\MemoryInputStream;
7-
use io\streams\TextReader;
88

99
class FromStreamTest extends AbstractSecretsTest {
1010

@@ -18,12 +18,15 @@ protected function newFixture() {
1818
));
1919
}
2020

21-
#[@test, @values([
22-
# [new TextReader(new MemoryInputStream("")), "readers"],
23-
# [new MemoryInputStream(""), "streams"],
24-
# [new File("filename"), "files"],
25-
# ["filename", "filenames"]
26-
#])]
21+
/** @return iterable */
22+
private function streams() {
23+
yield [new TextReader(new MemoryInputStream('')), 'readers'];
24+
yield [new MemoryInputStream(''), 'streams'];
25+
yield [new File('filename'), 'files'];
26+
yield ['filename', 'filenames'];
27+
}
28+
29+
#[Test, Values('streams')]
2730
public function can_create($arg, $from) {
2831
new FromStream($arg);
2932
}

src/test/php/security/credentials/unittest/FromVaultTest.class.php

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,9 @@
55
use peer\URL;
66
use peer\http\HttpResponse;
77
use security\credentials\FromVault;
8+
use unittest\{Expect, Test, Values};
89
use util\Secret;
9-
use webservices\rest\Endpoint;
10-
use webservices\rest\RestRequest;
11-
use webservices\rest\RestResponse;
10+
use webservices\rest\{Endpoint, RestRequest, RestResponse};
1211

1312
class FromVaultTest extends AbstractSecretsTest {
1413

@@ -45,44 +44,42 @@ protected function newFixture() {
4544
]));
4645
}
4746

48-
#[@test, @values([
49-
# ['http://vault:8200'],
50-
# [new URL('http://vault:8200')],
51-
# [new Endpoint('http://vault:8200')]
52-
#])]
47+
/** @return iterable */
48+
private function endpoints() {
49+
yield ['http://vault:8200'];
50+
yield [new URL('http://vault:8200')];
51+
yield [new Endpoint('http://vault:8200')];
52+
}
53+
54+
55+
#[Test, Values('endpoints')]
5356
public function can_create_with($arg) {
5457
new FromVault($arg);
5558
}
5659

57-
#[@test, @values(['secret', new Secret('for-vault')])]
60+
#[Test, Values(eval: '["secret", new Secret("for-vault")]')]
5861
public function can_create_with_token($token) {
5962
new FromVault('http://vault:8200', $token);
6063
}
6164

62-
#[@test]
65+
#[Test]
6366
public function can_create_with_token_and_group() {
6467
new FromVault('http://vault:8200', 'SECRET_VAULT_TOKEN', '/vendor/name');
6568
}
6669

67-
#[@test]
70+
#[Test]
6871
public function uses_environment_variable_by_default() {
6972
putenv('VAULT_ADDR=http://127.0.0.1:8200');
7073
new FromVault();
7174
}
7275

73-
#[@test, @expect(FormatException::class)]
76+
#[Test, Expect(FormatException::class)]
7477
public function fails_if_environment_variable_missing() {
7578
putenv('VAULT_ADDR=');
7679
new FromVault();
7780
}
7881

79-
#[@test, @values(['map' => [
80-
# '/' => '/',
81-
# '/vendor/name' => '/vendor/name/',
82-
# '/vendor/name/' => '/vendor/name/',
83-
# 'vendor/name' => '/vendor/name/',
84-
# 'vendor/name/' => '/vendor/name/',
85-
#]])]
82+
#[Test, Values(['map' => ['/' => '/', '/vendor/name' => '/vendor/name/', '/vendor/name/' => '/vendor/name/', 'vendor/name' => '/vendor/name/', 'vendor/name/' => '/vendor/name/',]])]
8683
public function using_group($group, $path) {
8784
$endpoint= newinstance(Endpoint::class, ['http://test'], [
8885
'execute' => function(RestRequest $request) use(&$requested) {

src/test/php/security/credentials/unittest/PropertiesTest.class.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
<?php namespace security\credentials\unittest;
22

33
use io\streams\MemoryInputStream;
4-
use security\credentials\Credentials;
5-
use security\credentials\Secrets;
6-
use unittest\TestCase;
7-
use util\Properties;
8-
use util\Secret;
4+
use security\credentials\{Credentials, Secrets};
5+
use unittest\{Test, TestCase};
6+
use util\{Properties, Secret};
97

108
class PropertiesTest extends TestCase {
119

12-
#[@test]
10+
#[Test]
1311
public function expanding() {
1412
$secret= new Secret('Expanded!');
1513
$credentials= new Credentials(newinstance(Secrets::class, [], [

0 commit comments

Comments
 (0)