create(); $provider = Provider::factory()->forOrganisation($organisation)->create(); $network = $organisation->networks()->create([ 'name' => 'keystone', 'external_id' => 'net-12345', 'provider_id' => $provider->id, 'ip_range' => fake()->ipv4().'/24', ]); $server = Server::factory()->create([ 'organisation_id' => $organisation->id, 'provider_id' => $provider->id, 'network_id' => $network->id, ]); $response = $this->get(route('provision-script', [ 'sudo_password' => 'secret-password', 'hostname' => 'keystone-test', 'server_id' => $server->id, ])); $response->assertOk(); expect($response->content()) ->toContain('docker-compose-plugin') ->toContain('fail2ban') ->toContain('ufw --force enable') ->toContain('PasswordAuthentication no') ->toContain('ssh-ed25519 keystone-public-key') ->toContain('chmod 600 /home/keystone/.ssh/id_ed25519') ->not->toContain('[!hostname!]') ->not->toContain('[!sudo_password!]') ->not->toContain('[!server_id!]') ->not->toContain('[!keystonepublickey!]'); });