mirror of https://github.com/MISP/MISP
chg: [Cerebrates] tests previewOrgs previewSG
parent
8bda0592a1
commit
575c90b5b0
|
@ -13,10 +13,115 @@ class CerebratesFixture extends TestFixture
|
|||
|
||||
public const SERVER_A_ID = 1000;
|
||||
public const SERVER_A_NAME = 'Cerebrate A';
|
||||
public const SERVER_A_URL = 'http://foobar.local';
|
||||
|
||||
public const SERVER_B_ID = 2000;
|
||||
public const SERVER_B_NAME = 'Cerebrate B';
|
||||
|
||||
public const CEREBRATE_ORG_LIST = [
|
||||
[
|
||||
"id" => 1,
|
||||
"uuid" => "1e3492dd-4123-42d6-a0be-8d45951cf6a5",
|
||||
"name" => "default_organisation",
|
||||
"url" => null,
|
||||
"nationality" => null,
|
||||
"sector" => null,
|
||||
"type" => null,
|
||||
"contacts" => null,
|
||||
"created" => "2023-12-09T11:05:30+00:00",
|
||||
"modified" => "2023-12-09T11:05:30+00:00",
|
||||
"tags" => [],
|
||||
"meta_fields" => [],
|
||||
"org_groups" => [],
|
||||
"alignments" => [],
|
||||
"MetaTemplates" => []
|
||||
],
|
||||
[
|
||||
"id" => 2,
|
||||
"uuid" => "833f8b50-e201-4395-b5d8-ac645594e3d5",
|
||||
"name" => "ORGNAME",
|
||||
"url" => null,
|
||||
"nationality" => "",
|
||||
"sector" => "",
|
||||
"type" => "ADMIN",
|
||||
"contacts" => null,
|
||||
"created" => "2023-12-10T14:09:20+00:00",
|
||||
"modified" => "2023-12-10T14:09:20+00:00",
|
||||
"tags" => [],
|
||||
"meta_fields" => [],
|
||||
"org_groups" => [],
|
||||
"alignments" => [],
|
||||
"MetaTemplates" => []
|
||||
]
|
||||
];
|
||||
public const CEREBRATE_SG_LIST = [
|
||||
[
|
||||
"id" => 1,
|
||||
"uuid" => "6b6742b7-babc-42c2-9c9b-4b6b1e81ea38",
|
||||
"name" => "SG_cerebrate_1",
|
||||
"releasability" => "BEL",
|
||||
"description" => "",
|
||||
"organisation_id" => 1,
|
||||
"user_id" => 1,
|
||||
"active" => true,
|
||||
"local" => true,
|
||||
"created" => "2024-01-13T09:33:54+00:00",
|
||||
"modified" => "2024-01-13T09:33:54+00:00",
|
||||
"user" => [
|
||||
"id" => 1,
|
||||
"username" => "admin"
|
||||
],
|
||||
"organisation" => [
|
||||
"id" => 1,
|
||||
"uuid" => "1e3492dd-4123-42d6-a0be-8d45951cf6a5",
|
||||
"name" => "default_organisation",
|
||||
"url" => null,
|
||||
"nationality" => null,
|
||||
"sector" => null,
|
||||
"type" => null,
|
||||
"contacts" => null,
|
||||
"created" => "2023-12-09T11:05:30+00:00",
|
||||
"modified" => "2023-12-09T11:05:30+00:00"
|
||||
],
|
||||
"sharing_group_orgs" => [
|
||||
[
|
||||
"id" => 1,
|
||||
"uuid" => "1e3492dd-4123-42d6-a0be-8d45951cf6a5",
|
||||
"name" => "default_organisation",
|
||||
"url" => null,
|
||||
"nationality" => null,
|
||||
"sector" => null,
|
||||
"type" => null,
|
||||
"contacts" => null,
|
||||
"created" => "2023-12-09T11:05:30+00:00",
|
||||
"modified" => "2023-12-09T11:05:30+00:00",
|
||||
"_joinData" => [
|
||||
"sharing_group_id" => 1,
|
||||
"organisation_id" => 1,
|
||||
"deleted" => false,
|
||||
"extend" => false]
|
||||
],
|
||||
[
|
||||
"id" => 2,
|
||||
"uuid" => "833f8b50-e201-4395-b5d8-ac645594e3d5",
|
||||
"name" => "ORGNAME",
|
||||
"url" => null,
|
||||
"nationality" => "",
|
||||
"sector" => "",
|
||||
"type" => "ADMIN",
|
||||
"contacts" => null,
|
||||
"created" => "2023-12-10T14:09:20+00:00",
|
||||
"modified" => "2023-12-10T14:09:20+00:00",
|
||||
"_joinData" => [
|
||||
"sharing_group_id" => 1,
|
||||
"organisation_id" => 2,
|
||||
"deleted" => false,
|
||||
"extend" => false]
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
|
||||
/**
|
||||
* Init method
|
||||
*
|
||||
|
@ -30,7 +135,7 @@ class CerebratesFixture extends TestFixture
|
|||
[
|
||||
'id' => self::SERVER_A_ID,
|
||||
'name' => self::SERVER_A_NAME,
|
||||
'url' => $faker->url(),
|
||||
'url' => self::SERVER_A_URL,
|
||||
'authkey' => $faker->sha1(),
|
||||
// 'open' => 1,
|
||||
'org_id' => OrganisationsFixture::ORGANISATION_A_ID,
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Test\TestCase\Api\Cerebrates;
|
||||
|
||||
use App\Test\Fixture\AuthKeysFixture;
|
||||
use App\Test\Fixture\CerebratesFixture;
|
||||
use App\Test\Helper\ApiTestTrait;
|
||||
use Cake\Http\TestSuite\HttpClientTrait;
|
||||
use Cake\TestSuite\TestCase;
|
||||
|
||||
|
||||
class PreviewOrgsCerebrateApiTest extends TestCase
|
||||
{
|
||||
use ApiTestTrait;
|
||||
use HttpClientTrait;
|
||||
|
||||
protected const ENDPOINT = '/cerebrates/preview_orgs';
|
||||
|
||||
protected $fixtures = [
|
||||
'app.Organisations',
|
||||
'app.Cerebrates',
|
||||
'app.Roles',
|
||||
'app.Users',
|
||||
'app.AuthKeys'
|
||||
];
|
||||
|
||||
|
||||
public function testPreviewOrgs(): void
|
||||
{
|
||||
$this->skipOpenApiValidations();
|
||||
$this->setAuthToken(AuthKeysFixture::ADMIN_API_KEY);
|
||||
$headers = [
|
||||
'Content-Type: application/json',
|
||||
'Connection: close',
|
||||
];
|
||||
$response = json_encode(CerebratesFixture::CEREBRATE_ORG_LIST);
|
||||
$this->mockClientGet(
|
||||
CerebratesFixture::SERVER_A_URL.'/organisations/index',
|
||||
$this->newClientResponse(200, $headers, $response)
|
||||
);
|
||||
$url = sprintf('%s/%d', self::ENDPOINT, CerebratesFixture::SERVER_A_ID);
|
||||
$this->get($url);
|
||||
$this->assertResponseOk();
|
||||
$this->assertResponseContains('"name": "ORGNAME"');
|
||||
}
|
||||
|
||||
public function testPreviewOrgsNotAllowedAsRegularUser(): void
|
||||
{
|
||||
$this->skipOpenApiValidations();
|
||||
$this->setAuthToken(AuthKeysFixture::REGULAR_USER_API_KEY);
|
||||
$url = sprintf('%s/%d', self::ENDPOINT, CerebratesFixture::SERVER_A_ID);
|
||||
$this->get($url);
|
||||
|
||||
$this->assertResponseCode(405);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Test\TestCase\Api\Cerebrates;
|
||||
|
||||
use App\Test\Fixture\AuthKeysFixture;
|
||||
use App\Test\Fixture\CerebratesFixture;
|
||||
use App\Test\Helper\ApiTestTrait;
|
||||
use Cake\Http\TestSuite\HttpClientTrait;
|
||||
use Cake\TestSuite\TestCase;
|
||||
|
||||
|
||||
class PreviewSharingGroupsCerebrateApiTest extends TestCase
|
||||
{
|
||||
use ApiTestTrait;
|
||||
use HttpClientTrait;
|
||||
|
||||
protected const ENDPOINT = '/cerebrates/preview_sharing_groups';
|
||||
|
||||
protected $fixtures = [
|
||||
'app.Organisations',
|
||||
'app.Cerebrates',
|
||||
'app.Roles',
|
||||
'app.Users',
|
||||
'app.AuthKeys'
|
||||
];
|
||||
|
||||
|
||||
public function testPreviewSharingGroups(): void
|
||||
{
|
||||
$this->skipOpenApiValidations();
|
||||
$this->setAuthToken(AuthKeysFixture::ADMIN_API_KEY);
|
||||
$headers = [
|
||||
'Content-Type: application/json',
|
||||
'Connection: close',
|
||||
];
|
||||
$response = json_encode(CerebratesFixture::CEREBRATE_SG_LIST);
|
||||
$this->mockClientGet(
|
||||
CerebratesFixture::SERVER_A_URL.'/sharingGroups/index',
|
||||
$this->newClientResponse(200, $headers, $response)
|
||||
);
|
||||
$url = sprintf('%s/%d', self::ENDPOINT, CerebratesFixture::SERVER_A_ID);
|
||||
$this->get($url);
|
||||
$this->assertResponseOk();
|
||||
$this->assertResponseContains('"name": "SG_cerebrate_1"');
|
||||
}
|
||||
|
||||
public function testPreviewSharingGroupsNotAllowedAsRegularUser(): void
|
||||
{
|
||||
$this->skipOpenApiValidations();
|
||||
$this->setAuthToken(AuthKeysFixture::REGULAR_USER_API_KEY);
|
||||
$url = sprintf('%s/%d', self::ENDPOINT, CerebratesFixture::SERVER_A_ID);
|
||||
$this->get($url);
|
||||
|
||||
$this->assertResponseCode(405);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue