Skip to content

Commit 471af22

Browse files
committed
Continue search query improvements
1 parent b88897f commit 471af22

File tree

10 files changed

+599
-630
lines changed

10 files changed

+599
-630
lines changed

Diff for: packages/backend/jobs-manager/service/src/common-duplicates/search-query/search-query-parser.types.ts

+3
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ export type TermTypes =
2929
| 'port.id'
3030
| 'port.number'
3131
| 'port.protocol'
32+
| 'port.service'
33+
| 'port.product'
34+
| 'port.version'
3235
| 'tag.name'
3336
| 'tag.id';
3437

Diff for: packages/backend/jobs-manager/service/src/modules/database/reporting/domain/domain.service.spec.ts

+50-35
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ describe('Domain Service', () => {
5959
);
6060

6161
// Assert
62-
expect(domains.length).toBe(2);
62+
expect(domains.length).toBe(1);
6363
});
6464
});
6565

@@ -86,9 +86,9 @@ describe('Domain Service', () => {
8686
project2 = await project('project 2');
8787
[foo, bar, baz, qux] = await tags('foo', 'bar', 'baz', 'qux');
8888

89-
d1 = await domain('d1', project1, [foo, bar]);
90-
d2 = await domain('d2', project1, [foo, baz]);
91-
d3 = await domain('d3', project2, [qux]);
89+
d1 = await domain('d1.org', project1, [foo, bar]);
90+
d2 = await domain('sub.d1.org', project1, [foo, baz]);
91+
d3 = await domain('d1.biz', project2, [qux]);
9292

9393
h1 = await host('1.1.1.1', d1.name, project1);
9494
h2 = await host('1.2.2.2', d2.name, project1);
@@ -98,45 +98,60 @@ describe('Domain Service', () => {
9898
});
9999

100100
it.each([
101-
['', ['d1', 'd2', 'd3']],
101+
['', ['d1.org', 'sub.d1.org', 'd1.biz']],
102102

103103
// Projects
104-
['project: "project*"', ['d1', 'd2', 'd3']],
105-
['project: "project 1"', ['d1', 'd2']],
106-
['project: "project 2"', ['d3']],
107-
['-project: "project 2"', ['d1', 'd2']],
108-
['project.name: "project*"', ['d1', 'd2', 'd3']],
109-
['project.name: "project 1"', ['d1', 'd2']],
110-
['project.name: "project 2"', ['d3']],
111-
['-project.name: "project 2"', ['d1', 'd2']],
112-
[() => `project.id: ${project1.id}`, ['d1', 'd2']],
113-
[() => `project.id: ${project2.id}`, ['d3']],
114-
[() => `-project.id: ${project2.id}`, ['d1', 'd2']],
104+
['project: "project*"', ['d1.org', 'sub.d1.org', 'd1.biz']],
105+
['project: "project 1"', ['d1.org', 'sub.d1.org']],
106+
['project: "project 2"', ['d1.biz']],
107+
['-project: "project 2"', ['d1.org', 'sub.d1.org']],
108+
['project.name: "project*"', ['d1.org', 'sub.d1.org', 'd1.biz']],
109+
['project.name: "project 1"', ['d1.org', 'sub.d1.org']],
110+
['project.name: "project 2"', ['d1.biz']],
111+
['-project.name: "project 2"', ['d1.org', 'sub.d1.org']],
112+
[() => `project.id: ${project1.id}`, ['d1.org', 'sub.d1.org']],
113+
[() => `project.id: ${project2.id}`, ['d1.biz']],
114+
[() => `-project.id: ${project2.id}`, ['d1.org', 'sub.d1.org']],
115115

116116
// Host
117-
['host: 1.1.1.1', ['d1']],
118-
['host.ip: 1.1.1.1', ['d1']],
119-
[() => `host.id: ${h1._id}`, ['d1']],
120-
['host: 1.*', ['d1', 'd2', 'd3']],
121-
['host: 1.2.2*', ['d2', 'd3']],
122-
['-host: 1.1.1.1', ['d2', 'd3']],
123-
['-host.ip: 1.1.1.1', ['d2', 'd3']],
124-
[() => `-host.id: ${h1.id}`, ['d2', 'd3']],
125-
['-host: 1.2.2*', ['d1']],
117+
['host: 1.1.1.1', ['d1.org']],
118+
['host.ip: 1.1.1.1', ['d1.org']],
119+
[() => `host.id: ${h1._id}`, ['d1.org']],
120+
['host: 1.*', ['d1.org', 'sub.d1.org', 'd1.biz']],
121+
['host: 1.2.2*', ['sub.d1.org', 'd1.biz']],
122+
['-host: 1.1.1.1', ['sub.d1.org', 'd1.biz']],
123+
['-host.ip: 1.1.1.1', ['sub.d1.org', 'd1.biz']],
124+
[() => `-host.id: ${h1.id}`, ['sub.d1.org', 'd1.biz']],
125+
['-host: 1.2.2*', ['d1.org']],
126+
127+
// Domain
128+
['domain: d1.org', ['d1.org']],
129+
['domain: sub.d1.org', ['sub.d1.org']],
130+
['domain: d1.*', ['d1.org', 'd1.biz']],
131+
['-domain: d1.org', ['sub.d1.org', 'd1.biz']],
132+
['domain.name: d1.org', ['d1.org']],
133+
['domain.name: sub.d1.org', ['sub.d1.org']],
134+
['domain.name: d1.*', ['d1.org', 'd1.biz']],
135+
['-domain.name: d1.org', ['sub.d1.org', 'd1.biz']],
136+
[() => `domain.id: ${d1.id}`, ['d1.org']],
137+
[
138+
() => `domain.id: ${d2.id} domain.id: ${d3.id}`,
139+
['sub.d1.org', 'd1.biz'],
140+
],
126141

127142
// Tag
128-
['tag: foo', ['d1', 'd2']],
129-
['-tag: foo', ['d3']],
130-
[() => `tag.id: ${foo._id}`, ['d1', 'd2']],
131-
[() => `-tag.id: ${foo._id}`, ['d3']],
132-
['-tag: ba*', ['d3']],
133-
['tag: qux', ['d3']],
134-
['tag: foo tag: bar', ['d1']],
135-
['-tag: foo tag: qux', ['d3']],
143+
['tag: foo', ['d1.org', 'sub.d1.org']],
144+
['-tag: foo', ['d1.biz']],
145+
[() => `tag.id: ${foo._id}`, ['d1.org', 'sub.d1.org']],
146+
[() => `-tag.id: ${foo._id}`, ['d1.biz']],
147+
['-tag: ba*', ['d1.biz']],
148+
['tag: qux', ['d1.biz']],
149+
['tag: foo tag: bar', ['d1.org']],
150+
['-tag: foo tag: qux', ['d1.biz']],
136151

137152
// Is
138-
['is: blocked', ['d3']],
139-
['-is: blocked', ['d1', 'd2']],
153+
['is: blocked', ['d1.biz']],
154+
['-is: blocked', ['d1.org', 'sub.d1.org']],
140155
])(
141156
'Filter by "%s"',
142157
async (query: string | (() => string), expected: string[]) => {

0 commit comments

Comments
 (0)