Files
keystone/tests/Feature/DriverContractTest.php

22 lines
860 B
PHP

<?php
use App\Drivers\Driver;
it('requires every configured v1 driver to expose runtime capabilities', function () {
foreach (config('keystone.drivers') as $versions) {
foreach ($versions as $driverClass) {
$driver = new $driverClass;
expect($driver)->toBeInstanceOf(Driver::class)
->and($driver->serviceType()->value)->not->toBeEmpty()
->and($driver->versionTrack())->not->toBeEmpty()
->and($driver->defaultImage())->not->toBeEmpty()
->and($driver->defaultPorts())->toBeArray()
->and($driver->firewallRules())->toBeArray()
->and($driver->environmentSchema())->toBeArray()
->and($driver->resourceDefaults())->toBeArray()
->and($driver->updateBehavior())->not->toBeEmpty();
}
}
});