forked from laravel/valet
-
Notifications
You must be signed in to change notification settings - Fork 158
/
Copy pathRequirementsTest.php
93 lines (77 loc) · 2.77 KB
/
RequirementsTest.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
92
93
<?php
use Illuminate\Container\Container;
use PHPUnit\Framework\TestCase;
use Valet\CommandLine;
use Valet\Requirements;
class RequirementsTest extends TestCase
{
protected function setUp(): void
{
$_SERVER['SUDO_USER'] = user();
Container::setInstance(new Container);
}
protected function tearDown(): void
{
Mockery::close();
}
public function test_home_path_is_inside_root()
{
// TODO: Move VALET_HOME_PATH to something changeable
}
public function test_home_path_is_not_inside_root()
{
// TODO: Move VALET_HOME_PATH to something changeable
}
public function test_selinux_is_enabled()
{
$this->expectException(RuntimeException::class);
$cli = Mockery::mock(CommandLine::class);
$cli->shouldReceive('run')->once()->with('sestatus')->andReturn('SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 30
');
swap(CommandLine::class, $cli);
$requirements = resolve(Requirements::class);
$requirements->seLinuxIsEnabled();
}
public function test_selinux_is_in_permissive_mode()
{
$cli = Mockery::mock(CommandLine::class);
$cli->shouldReceive('run')->once()->with('sestatus')->andReturn('SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: permissive
Mode from config file: permissive
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 30
');
swap(CommandLine::class, $cli);
$requirements = resolve(Requirements::class);
$requirements->seLinuxIsEnabled();
}
public function test_selinux_is_disabled()
{
$cli = Mockery::mock(CommandLine::class);
$cli->shouldReceive('run')->once()->with('sestatus')->andReturn('SELinux status: disabled' . PHP_EOL);
swap(CommandLine::class, $cli);
$requirements = resolve(Requirements::class);
$requirements->seLinuxIsEnabled();
}
public function test_selinux_is_enabled_but_ignore_flag_is_set()
{
$cli = Mockery::mock(CommandLine::class);
$cli->shouldNotReceive('run');
swap(CommandLine::class, $cli);
$requirements = resolve(Requirements::class);
$requirements->setIgnoreSELinux(true);
$requirements->seLinuxIsEnabled();
}
}