Skip to content

Commit

Permalink
[backend] backend tests for representative filter (#6799)
Browse files Browse the repository at this point in the history
  • Loading branch information
Archidoit committed May 13, 2024
1 parent 430b408 commit 13db5f9
Show file tree
Hide file tree
Showing 2 changed files with 106 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import stixIncidents from '../../data/stream-events/stream-event-stix2-incidents
import stixRfis from '../../data/stream-events/stream-event-stix2-rfis.json';
import stixSightings from '../../data/stream-events/stream-event-stix2-sightings.json';
import stixRelationships from '../../data/stream-events/stream-event-stix2-relationships.json';
import stixObservables from '../../data/stream-events/stream-event-stix2-observables.json';

import * as testers from '../../../src/utils/filtering/filtering-stix/stix-testers';
import type { Filter } from '../../../src/generated/graphql';
Expand Down Expand Up @@ -695,4 +696,83 @@ describe('Stix filter testers', () => {
expect(testers.testConnectedToSideEvents(stixSighting, filter)).toEqual(false);
});
});

describe('by Representative (key=representative)', () => {
const reportContainingTest = stixReports[0];
const rfiEndingWithTest = stixRfis[0];
const indicator = stixIndicators[1];
const observableEqualTest = stixObservables[0];

it('should test positive for a stix object with matching filter', () => {
let filter: Filter = {
key: ['representative'],
mode: 'and',
operator: 'eq',
values: ['www.xolod-teplo.ru']
} as Filter;
expect(testers.testRepresentative(indicator, filter)).toEqual(true);
expect(testers.testRepresentative(observableEqualTest, filter)).toEqual(false);

filter = {
key: ['representative'],
mode: 'and',
operator: 'eq',
values: ['www.xolod-teplo.ru', 'test']
} as Filter;
expect(testers.testRepresentative(indicator, filter)).toEqual(false);
expect(testers.testRepresentative(observableEqualTest, filter)).toEqual(false);

filter = {
key: ['representative'],
mode: 'and',
operator: 'eq',
values: ['www.xolod-teplo.ru', 'test']
} as Filter;
expect(testers.testRepresentative(indicator, filter)).toEqual(true);
expect(testers.testRepresentative(observableEqualTest, filter)).toEqual(true);

filter = {
key: ['representative'],
mode: 'and',
operator: 'contains',
values: ['test']
} as Filter;
expect(testers.testRepresentative(reportContainingTest, filter)).toEqual(true);
expect(testers.testRepresentative(rfiEndingWithTest, filter)).toEqual(true);
expect(testers.testRepresentative(indicator, filter)).toEqual(false);
expect(testers.testRepresentative(observableEqualTest, filter)).toEqual(true);

filter = {
key: ['representative'],
mode: 'and',
operator: 'ends_with',
values: ['test']
} as Filter;
expect(testers.testRepresentative(reportContainingTest, filter)).toEqual(false);
expect(testers.testRepresentative(rfiEndingWithTest, filter)).toEqual(true);
expect(testers.testRepresentative(indicator, filter)).toEqual(false);
expect(testers.testRepresentative(observableEqualTest, filter)).toEqual(true);

filter = {
key: ['representative'],
mode: 'and',
operator: 'not_ends_with',
values: ['test']
} as Filter;
expect(testers.testRepresentative(reportContainingTest, filter)).toEqual(true);
expect(testers.testRepresentative(rfiEndingWithTest, filter)).toEqual(false);
expect(testers.testRepresentative(indicator, filter)).toEqual(true);
expect(testers.testRepresentative(observableEqualTest, filter)).toEqual(false);

filter = {
key: ['representative'],
mode: 'and',
operator: 'starts_with',
values: ['Disco Team']
} as Filter;
expect(testers.testRepresentative(stixRelationships[0], filter)).toEqual(true);
expect(testers.testRepresentative(rfiEndingWithTest, filter)).toEqual(false);
expect(testers.testRepresentative(observableEqualTest, filter)).toEqual(false);
});
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[
{
"id": "directory--8cdc9b17-880f-566c-a1ba-eb9a04063df7",
"spec_version": "2.1",
"type": "directory",
"extensions": {
"extension-definition--ea279b3e-5c71-4632-ac08-831c66a786ba": {
"extension_type": "property-extension",
"id": "12b94bf1-f6cb-447e-806a-98e41479feeb",
"type": "Directory",
"created_at": "2024-05-10T12:50:00.951Z",
"updated_at": "2024-05-10T13:49:47.464Z",
"is_inferred": false,
"creator_ids": [
"88ec0c6a-13ce-5e39-b486-354fe4a7084f"
]
},
"extension-definition--f93e2c80-4231-4f9a-af8b-95c9bd566a82": {
"extension_type": "property-extension",
"description": "test",
"score": 50
}
},
"path": "test"
}
]

0 comments on commit 13db5f9

Please sign in to comment.