9 use Symfony\Component\HttpFoundation\Request;
11 require_once(dirname(dirname(dirname(__DIR__))) .
'/lib/php/Test/Reflectory.php');
12 require_once(dirname(dirname(dirname(__DIR__))) .
'/lib/php/Plugin/FO_Plugin.php');
13 require_once(dirname(dirname(dirname(__DIR__))) .
'/lib/php/common-plugin.php');
14 require_once(__DIR__ .
'/../../ui/DeciderAgentPlugin.php');
28 protected function setUp():
void
44 $request =
new Request([
'deciderRules' =>
'not-an-array']);
47 $result = $this->plugin->scheduleAgent(1, 1, $errorMsg, $request);
49 $this->assertSame(0, $result);
59 $request =
new Request([
'agents' =>
'not-an-array']);
62 $result = $this->plugin->scheduleAgent(1, 1, $errorMsg, $request);
64 $this->assertSame(0, $result);
74 $request =
new Request([
'deciderRules' =>
'x',
'agents' =>
'y']);
77 $result = $this->plugin->scheduleAgent(1, 1, $errorMsg, $request);
79 $this->assertSame(0, $result);
90 $request =
new Request([
'deciderRules' => [],
'agents' => []]);
93 $result = $this->plugin->scheduleAgent(1, 1, $errorMsg, $request);
95 $this->assertSame(0, $result);
106 $request =
new Request([
'agents' =>
'not-an-array']);
109 Reflectory::invokeObjectsMethodnameWith(
110 $this->plugin,
'addScannerDependencies', [&$dependencies, $request]
113 $this->assertSame([], $dependencies);
123 $request =
new Request([
'agents' => [
'agent_nomos']]);
126 Reflectory::invokeObjectsMethodnameWith(
127 $this->plugin,
'addScannerDependencies', [&$dependencies, $request]
130 $this->assertSame([
'agent_nomos'], $dependencies);
141 $request =
new Request([
'Check_agent_monk' => 1,
'agents' =>
'not-an-array']);
144 Reflectory::invokeObjectsMethodnameWith(
145 $this->plugin,
'addScannerDependencies', [&$dependencies, $request]
148 $this->assertSame([
'agent_monk'], $dependencies);
160 $SysConf[
'SYSCONFIG'][
'LicenseTypes'] =
'Permissive,Copyleft';
162 $request =
new Request([
'licenseTypeConc' => [
'Permissive']]);
164 $result = Reflectory::invokeObjectsMethodnameWith(
165 $this->plugin,
'getLicenseTypeConf', [$request]
168 $this->assertSame(
'', $result);
179 $SysConf[
'SYSCONFIG'][
'LicenseTypes'] =
'Permissive,Copyleft';
181 $request =
new Request([
'licenseTypeConc' =>
'Permissive']);
183 $result = Reflectory::invokeObjectsMethodnameWith(
184 $this->plugin,
'getLicenseTypeConf', [$request]
187 $this->assertSame(
'Permissive', $result);
198 $SysConf[
'SYSCONFIG'][
'LicenseTypes'] =
'Permissive,Copyleft';
200 $request =
new Request([
'licenseTypeConc' =>
'Unknown']);
202 $result = Reflectory::invokeObjectsMethodnameWith(
203 $this->plugin,
'getLicenseTypeConf', [$request]
206 $this->assertSame(
'', $result);
Test for class DeciderAgentPlugin, covering the malformed-request guards on scheduleAgent(),...
testScheduleAgentToleratesScalarDeciderRules()
testAddScannerDependenciesChecksFlagSurvivesScalarAgents()
testGetLicenseTypeConfStillReturnsValidType()
testGetLicenseTypeConfToleratesArrayParam()
testAddScannerDependenciesStillAddsFromWellFormedArray()
testScheduleAgentStillReturnsZeroForEmptyArrays()
testScheduleAgentToleratesBothScalarParams()
testAddScannerDependenciesToleratesScalarAgents()
testGetLicenseTypeConfRejectsUnknownType()
testScheduleAgentToleratesScalarAgents()
UI plugin for DeciderAgent.