mirror of
https://github.com/laravel/valet.git
synced 2026-02-08 17:20:08 +01:00
Ensure base configuration is correct even if file already exists
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
namespace Valet;
|
||||
|
||||
use Exception;
|
||||
|
||||
class Configuration
|
||||
{
|
||||
public function __construct(public Filesystem $files)
|
||||
@@ -18,7 +20,7 @@ public function install(): void
|
||||
$this->createSitesDirectory();
|
||||
$this->createLogDirectory();
|
||||
$this->createCertificatesDirectory();
|
||||
$this->writeBaseConfiguration();
|
||||
$this->ensureBaseConfiguration();
|
||||
|
||||
$this->files->chown($this->path(), user());
|
||||
}
|
||||
@@ -84,7 +86,23 @@ public function createCertificatesDirectory(): void
|
||||
}
|
||||
|
||||
/**
|
||||
* Write the base, initial configuration for Valet.
|
||||
* Ensure the base initial configuration has been installed.
|
||||
*/
|
||||
public function ensureBaseConfiguration(): void
|
||||
{
|
||||
$this->writeBaseConfiguration();
|
||||
|
||||
if (empty($this->read()['tld'])) {
|
||||
$this->updateKey('tld', 'test');
|
||||
}
|
||||
|
||||
if (empty($this->read()['loopback'])) {
|
||||
$this->updateKey('loopback', '127.0.0.1');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Write the base initial configuration for Valet.
|
||||
*/
|
||||
public function writeBaseConfiguration(): void
|
||||
{
|
||||
|
||||
@@ -100,9 +100,7 @@ function (ConsoleCommandEvent $event) {
|
||||
/**
|
||||
* Upgrade helper: ensure the tld config exists and the loopback config exists.
|
||||
*/
|
||||
if (empty(Configuration::read()['tld']) || empty(Configuration::read()['loopback'])) {
|
||||
Configuration::writeBaseConfiguration();
|
||||
}
|
||||
Configuration::ensureBaseConfiguration();
|
||||
|
||||
/**
|
||||
* Get or set the TLD currently being used by Valet.
|
||||
|
||||
@@ -132,4 +132,14 @@ public function test_trust_adds_the_sudoer_files()
|
||||
resolve(Brew::class)->createSudoersEntry();
|
||||
resolve(Valet::class)->createSudoersEntry();
|
||||
}
|
||||
|
||||
public function test_ensure_configuration_exists_writes_tld_and_loopback_if_empty()
|
||||
{
|
||||
$config = Mockery::mock(Configuration::class.'[writeBaseConfiguration,read,updateKey]', [new Filesystem]);
|
||||
$config->shouldReceive('writeBaseConfiguration')->once();
|
||||
$config->shouldReceive('read')->times(2)->andReturn([]);
|
||||
$config->shouldReceive('updateKey')->with('tld', 'test');
|
||||
$config->shouldReceive('updateKey')->with('loopback', '127.0.0.1');
|
||||
$config->ensureBaseConfiguration();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user