Skip to content

Commit 6fd628b

Browse files
committed
Add endpointType in tests
1 parent c9be2ce commit 6fd628b

File tree

10 files changed

+71
-33
lines changed

10 files changed

+71
-33
lines changed

extensions/ql-vscode/src/model-editor/bqrs.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@ export function decodeBqrsToMethods(
6363
classification = CallClassification.Unknown;
6464
}
6565

66+
if ((type as string) === "") {
67+
type = "none";
68+
}
69+
6670
if (methodName === "") {
6771
endpointType = EndpointType.Class;
6872
}

extensions/ql-vscode/src/model-editor/languages/ruby/index.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ export const ruby: ModelsAsDataLanguage = {
3838
);
3939
return {
4040
type: "source",
41-
input: "",
4241
output,
4342
kind: row[2] as string,
4443
provenance: "manual",
@@ -72,7 +71,6 @@ export const ruby: ModelsAsDataLanguage = {
7271
return {
7372
type: "sink",
7473
input,
75-
output: "",
7674
kind: row[2] as string,
7775
provenance: "manual",
7876
signature: rubyMethodSignature(typeName, methodName),
@@ -131,8 +129,6 @@ export const ruby: ModelsAsDataLanguage = {
131129
const methodName = parseRubyMethodFromPath(row[1] as string);
132130
return {
133131
type: "neutral",
134-
input: "",
135-
output: "",
136132
kind: row[2] as string,
137133
provenance: "manual",
138134
signature: rubyMethodSignature(typeName, methodName),

extensions/ql-vscode/src/model-editor/languages/static/index.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ export const staticLanguage: ModelsAsDataLanguage = {
3838
],
3939
readModeledMethod: (row) => ({
4040
type: "source",
41-
input: "",
4241
output: row[6] as string,
4342
kind: row[7] as string,
4443
provenance: row[8] as Provenance,
@@ -71,7 +70,6 @@ export const staticLanguage: ModelsAsDataLanguage = {
7170
readModeledMethod: (row) => ({
7271
type: "sink",
7372
input: row[6] as string,
74-
output: "",
7573
kind: row[7] as string,
7674
provenance: row[8] as Provenance,
7775
signature: readRowToMethod(row),
@@ -131,8 +129,6 @@ export const staticLanguage: ModelsAsDataLanguage = {
131129
],
132130
readModeledMethod: (row) => ({
133131
type: "neutral",
134-
input: "",
135-
output: "",
136132
kind: row[4] as string,
137133
provenance: row[5] as Provenance,
138134
signature: `${row[0]}.${row[1]}#${row[2]}${row[3]}`,

extensions/ql-vscode/src/view/method-modeling/__tests__/MultipleModeledMethodsPanel.spec.tsx

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -167,13 +167,14 @@ describe(MultipleModeledMethodsPanel.name, () => {
167167
...modeledMethods,
168168
{
169169
signature: method.signature,
170+
endpointType: method.endpointType,
170171
packageName: method.packageName,
171172
typeName: method.typeName,
172173
methodName: method.methodName,
173174
methodParameters: method.methodParameters,
174175
type: "none",
175176
},
176-
]);
177+
] satisfies ModeledMethod[]);
177178
});
178179

179180
it("changes selection to the newly added modeling", async () => {
@@ -368,6 +369,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
368369
expect(onChange).toHaveBeenCalledWith(method.signature, [
369370
{
370371
signature: method.signature,
372+
endpointType: method.endpointType,
371373
packageName: method.packageName,
372374
typeName: method.typeName,
373375
methodName: method.methodName,
@@ -378,7 +380,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
378380
provenance: "manual",
379381
},
380382
...modeledMethods.slice(1),
381-
]);
383+
] satisfies ModeledMethod[]);
382384
});
383385

384386
it("can update the second modeling", async () => {
@@ -403,6 +405,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
403405
...modeledMethods.slice(0, 1),
404406
{
405407
signature: method.signature,
408+
endpointType: method.endpointType,
406409
packageName: method.packageName,
407410
typeName: method.typeName,
408411
methodName: method.methodName,
@@ -412,7 +415,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
412415
kind: "value",
413416
provenance: "manual",
414417
},
415-
]);
418+
] satisfies ModeledMethod[]);
416419
});
417420

418421
it("can delete modeling", async () => {
@@ -449,13 +452,14 @@ describe(MultipleModeledMethodsPanel.name, () => {
449452
...modeledMethods,
450453
{
451454
signature: method.signature,
455+
endpointType: method.endpointType,
452456
packageName: method.packageName,
453457
typeName: method.typeName,
454458
methodName: method.methodName,
455459
methodParameters: method.methodParameters,
456460
type: "none",
457461
},
458-
]);
462+
] satisfies ModeledMethod[]);
459463
});
460464

461465
it("shows an error when adding a neutral modeling", async () => {
@@ -826,13 +830,14 @@ describe(MultipleModeledMethodsPanel.name, () => {
826830
...modeledMethods.slice(0, 1),
827831
{
828832
signature: method.signature,
833+
endpointType: method.endpointType,
829834
packageName: method.packageName,
830835
typeName: method.typeName,
831836
methodName: method.methodName,
832837
methodParameters: method.methodParameters,
833838
type: "none",
834839
},
835-
]);
840+
] satisfies ModeledMethod[]);
836841
});
837842
});
838843

extensions/ql-vscode/src/view/model-editor/__tests__/MethodRow.spec.tsx

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,12 +85,13 @@ describe(MethodRow.name, () => {
8585
kind: "value",
8686
provenance: "manual",
8787
signature: method.signature,
88+
endpointType: method.endpointType,
8889
packageName: method.packageName,
8990
typeName: method.typeName,
9091
methodName: method.methodName,
9192
methodParameters: method.methodParameters,
9293
},
93-
]);
94+
] satisfies ModeledMethod[]);
9495
});
9596

9697
it("can change the kind", async () => {
@@ -111,7 +112,7 @@ describe(MethodRow.name, () => {
111112
...modeledMethod,
112113
kind: "value",
113114
},
114-
]);
115+
] satisfies ModeledMethod[]);
115116
});
116117

117118
it("changes the provenance when the kind is changed", async () => {
@@ -137,7 +138,7 @@ describe(MethodRow.name, () => {
137138
kind: "value",
138139
provenance: "df-manual",
139140
},
140-
]);
141+
] satisfies ModeledMethod[]);
141142
});
142143

143144
it("has the correct input options", () => {
@@ -232,7 +233,7 @@ describe(MethodRow.name, () => {
232233
{ ...modeledMethod, type: "source" },
233234
{ ...modeledMethod, type: "sink", kind: "sql-injection" },
234235
{ ...modeledMethod, type: "summary" },
235-
]);
236+
] satisfies ModeledMethod[]);
236237
});
237238

238239
it("renders an unmodelable method", () => {
@@ -333,12 +334,13 @@ describe(MethodRow.name, () => {
333334
{
334335
type: "none",
335336
signature: method.signature,
337+
endpointType: method.endpointType,
336338
packageName: method.packageName,
337339
typeName: method.typeName,
338340
methodName: method.methodName,
339341
methodParameters: method.methodParameters,
340342
},
341-
]);
343+
] satisfies ModeledMethod[]);
342344
});
343345

344346
it("cannot delete the first modeled method (but delete second instead)", async () => {
@@ -359,7 +361,7 @@ describe(MethodRow.name, () => {
359361
{ ...modeledMethod, type: "source" },
360362
{ ...modeledMethod, type: "none" },
361363
{ ...modeledMethod, type: "summary" },
362-
]);
364+
] satisfies ModeledMethod[]);
363365
});
364366

365367
it("can delete a modeled method in the middle", async () => {
@@ -380,7 +382,7 @@ describe(MethodRow.name, () => {
380382
{ ...modeledMethod, type: "source" },
381383
{ ...modeledMethod, type: "sink" },
382384
{ ...modeledMethod, type: "summary" },
383-
]);
385+
] satisfies ModeledMethod[]);
384386
});
385387

386388
it("does not display validation errors when everything is valid", () => {

extensions/ql-vscode/test/unit-tests/model-editor/bqrs.test.ts

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
import { decodeBqrsToMethods } from "../../../src/model-editor/bqrs";
22
import type { DecodedBqrsChunk } from "../../../src/common/bqrs-cli-types";
3-
import { CallClassification } from "../../../src/model-editor/method";
3+
import type { Method } from "../../../src/model-editor/method";
4+
import {
5+
CallClassification,
6+
EndpointType,
7+
} from "../../../src/model-editor/method";
48
import { Mode } from "../../../src/model-editor/shared/mode";
59
import { QueryLanguage } from "../../../src/common/query-language";
610

@@ -245,6 +249,7 @@ describe("decodeBqrsToMethods", () => {
245249
library: "rt",
246250
libraryVersion: undefined,
247251
signature: "java.io.PrintStream#println(String)",
252+
endpointType: EndpointType.Method,
248253
packageName: "java.io",
249254
typeName: "PrintStream",
250255
methodName: "println",
@@ -271,6 +276,7 @@ describe("decodeBqrsToMethods", () => {
271276
libraryVersion: "3.0.2",
272277
signature:
273278
"org.springframework.boot.SpringApplication#run(Class,String[])",
279+
endpointType: EndpointType.Method,
274280
packageName: "org.springframework.boot",
275281
typeName: "SpringApplication",
276282
methodName: "run",
@@ -296,6 +302,7 @@ describe("decodeBqrsToMethods", () => {
296302
library: "sql2o",
297303
libraryVersion: "1.6.0",
298304
signature: "org.sql2o.Connection#createQuery(String)",
305+
endpointType: EndpointType.Method,
299306
packageName: "org.sql2o",
300307
typeName: "Connection",
301308
methodName: "createQuery",
@@ -333,6 +340,7 @@ describe("decodeBqrsToMethods", () => {
333340
library: "sql2o",
334341
libraryVersion: "1.6.0",
335342
signature: "org.sql2o.Query#executeScalar(Class)",
343+
endpointType: EndpointType.Method,
336344
packageName: "org.sql2o",
337345
typeName: "Query",
338346
methodName: "executeScalar",
@@ -370,6 +378,7 @@ describe("decodeBqrsToMethods", () => {
370378
library: "sql2o",
371379
libraryVersion: "1.6.0",
372380
signature: "org.sql2o.Sql2o#open()",
381+
endpointType: EndpointType.Method,
373382
packageName: "org.sql2o",
374383
typeName: "Sql2o",
375384
methodName: "open",
@@ -407,6 +416,7 @@ describe("decodeBqrsToMethods", () => {
407416
library: "sql2o",
408417
libraryVersion: "1.6.0",
409418
signature: "org.sql2o.Sql2o#Sql2o(String,String,String)",
419+
endpointType: EndpointType.Method,
410420
packageName: "org.sql2o",
411421
typeName: "Sql2o",
412422
methodName: "Sql2o",
@@ -432,6 +442,7 @@ describe("decodeBqrsToMethods", () => {
432442
library: "sql2o",
433443
libraryVersion: "1.6.0",
434444
signature: "org.sql2o.Sql2o#Sql2o(String)",
445+
endpointType: EndpointType.Method,
435446
packageName: "org.sql2o",
436447
typeName: "Sql2o",
437448
methodName: "Sql2o",
@@ -453,7 +464,7 @@ describe("decodeBqrsToMethods", () => {
453464
},
454465
],
455466
},
456-
]);
467+
] satisfies Method[]);
457468
});
458469
});
459470

@@ -519,12 +530,13 @@ describe("decodeBqrsToMethods", () => {
519530
library: "",
520531
libraryVersion: undefined,
521532
signature: "org.example.HelloController#connect(String)",
533+
endpointType: EndpointType.Method,
522534
packageName: "org.example",
523535
typeName: "HelloController",
524536
methodName: "connect",
525537
methodParameters: "(String)",
526538
supported: false,
527-
supportedType: "",
539+
supportedType: "none",
528540
usages: [
529541
{
530542
label: "connect",
@@ -544,6 +556,7 @@ describe("decodeBqrsToMethods", () => {
544556
library: "",
545557
libraryVersion: undefined,
546558
signature: "org.example.HelloController#index(String)",
559+
endpointType: EndpointType.Method,
547560
packageName: "org.example",
548561
typeName: "HelloController",
549562
methodName: "index",
@@ -565,7 +578,7 @@ describe("decodeBqrsToMethods", () => {
565578
},
566579
],
567580
},
568-
]);
581+
] satisfies Method[]);
569582
});
570583
});
571584
});
@@ -619,6 +632,7 @@ describe("decodeBqrsToMethods", () => {
619632
libraryVersion: "4.0.0.0",
620633
signature:
621634
"System.Reflection.RuntimeReflectionExtensions#GetMethodInfo(System.Delegate)",
635+
endpointType: EndpointType.Method,
622636
packageName: "System.Reflection",
623637
typeName: "RuntimeReflectionExtensions",
624638
methodName: "GetMethodInfo",
@@ -640,7 +654,7 @@ describe("decodeBqrsToMethods", () => {
640654
},
641655
],
642656
},
643-
]);
657+
] satisfies Method[]);
644658
});
645659
});
646660

@@ -687,12 +701,13 @@ describe("decodeBqrsToMethods", () => {
687701
library: "Times",
688702
libraryVersion: undefined,
689703
signature: "Moq.Times#Validate(System.Int32)",
704+
endpointType: EndpointType.Method,
690705
packageName: "Moq",
691706
typeName: "Times",
692707
methodName: "Validate",
693708
methodParameters: "(System.Int32)",
694709
supported: false,
695-
supportedType: "",
710+
supportedType: "none",
696711
usages: [
697712
{
698713
label: "Validate",
@@ -708,7 +723,7 @@ describe("decodeBqrsToMethods", () => {
708723
},
709724
],
710725
},
711-
]);
726+
] satisfies Method[]);
712727
});
713728
});
714729
});

0 commit comments

Comments
 (0)