Skip to content

Commit 209822e

Browse files
authored
Add auto-model mock API scenario (#2684)
1 parent 5d2e205 commit 209822e

File tree

5 files changed

+29
-3
lines changed

5 files changed

+29
-3
lines changed

extensions/ql-vscode/src/variant-analysis/gh-api/mocks/gh-api-request.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,14 @@ interface CodeSearchRequest {
9191
interface AutoModelRequest {
9292
request: {
9393
kind: RequestKind.AutoModel;
94+
body?: {
95+
candidates: string;
96+
};
9497
};
9598
response: {
9699
status: number;
97100
body?: {
98-
candidates: string;
101+
models: string;
99102
};
100103
message?: string;
101104
};

extensions/ql-vscode/src/variant-analysis/gh-api/mocks/request-handlers.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,8 +231,8 @@ function createAutoModelRequestHandler(
231231
// During automodeling there can be multiple API requests for each batch
232232
// of candidates we want to model. We need to return different responses for each request,
233233
// so keep an index of the request and return the appropriate response.
234-
return rest.get(
235-
`${baseUrl}/code-scanning/codeql/auto-model`,
234+
return rest.post(
235+
`${baseUrl}/repos/github/codeql/code-scanning/codeql/auto-model`,
236236
(_req, res, ctx) => {
237237
const request = autoModelRequests[requestIndex];
238238

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"request": {
3+
"kind": "autoModel"
4+
},
5+
"response": {
6+
"status": 200,
7+
"body": {
8+
"models": "extensions:\n- addsTo: {extensible: sinkModel, pack: codeql/java-all}\n data:\n - [javax.servlet.http, HttpServletResponse, true, sendRedirect, (String), '', 'Argument[this]',\n request-forgery, ai-generated]\n - [javax.servlet.http, HttpServletResponse, true, sendRedirect, (String), '', 'Argument[0]',\n request-forgery, ai-generated]\n"
9+
}
10+
}
11+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"request": {
3+
"kind": "autoModel"
4+
},
5+
"response": {
6+
"status": 200,
7+
"body": {
8+
"models": "extensions:\n- addsTo: {extensible: sinkModel, pack: codeql/java-all}\n data:\n - [javax.servlet, MultipartConfigElement, true, MultipartConfigElement, (String),\n '', 'Argument[0]', request-forgery, ai-generated]\n"
9+
}
10+
}
11+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
This scenario is best when modeling the `javax.servlet-api` package.

0 commit comments

Comments
 (0)