Include stories for all modeled method types
This commit is contained in:
@@ -3,7 +3,11 @@ import * as React from "react";
|
||||
import { Meta, StoryFn } from "@storybook/react";
|
||||
|
||||
import { MethodRow as MethodRowComponent } from "../../view/model-editor/MethodRow";
|
||||
import { CallClassification } from "../../model-editor/external-api-usage";
|
||||
import {
|
||||
CallClassification,
|
||||
ExternalApiUsage,
|
||||
} from "../../model-editor/external-api-usage";
|
||||
import { ModeledMethod } from "../../model-editor/modeled-method";
|
||||
import { VSCodeDataGrid } from "@vscode/webview-ui-toolkit/react";
|
||||
import { GRID_TEMPLATE_COLUMNS } from "../../view/model-editor/ModeledMethodDataGrid";
|
||||
|
||||
@@ -18,52 +22,85 @@ const Template: StoryFn<typeof MethodRowComponent> = (args) => (
|
||||
</VSCodeDataGrid>
|
||||
);
|
||||
|
||||
export const MethodRow = Template.bind({});
|
||||
MethodRow.args = {
|
||||
externalApiUsage: {
|
||||
library: "sql2o-1.6.0.jar",
|
||||
signature: "org.sql2o.Sql2o#open()",
|
||||
packageName: "org.sql2o",
|
||||
typeName: "Sql2o",
|
||||
methodName: "open",
|
||||
methodParameters: "()",
|
||||
supported: true,
|
||||
supportedType: "summary",
|
||||
usages: [
|
||||
{
|
||||
label: "open(...)",
|
||||
url: {
|
||||
uri: "file:/home/runner/work/sql2o-example/sql2o-example/src/main/java/org/example/HelloController.java",
|
||||
startLine: 14,
|
||||
startColumn: 24,
|
||||
endLine: 14,
|
||||
endColumn: 35,
|
||||
},
|
||||
classification: CallClassification.Source,
|
||||
const externalApiUsage: ExternalApiUsage = {
|
||||
library: "sql2o-1.6.0.jar",
|
||||
signature: "org.sql2o.Sql2o#open()",
|
||||
packageName: "org.sql2o",
|
||||
typeName: "Sql2o",
|
||||
methodName: "open",
|
||||
methodParameters: "()",
|
||||
supported: false,
|
||||
supportedType: "summary",
|
||||
usages: [
|
||||
{
|
||||
label: "open(...)",
|
||||
url: {
|
||||
uri: "file:/home/runner/work/sql2o-example/sql2o-example/src/main/java/org/example/HelloController.java",
|
||||
startLine: 14,
|
||||
startColumn: 24,
|
||||
endLine: 14,
|
||||
endColumn: 35,
|
||||
},
|
||||
{
|
||||
label: "open(...)",
|
||||
url: {
|
||||
uri: "file:/home/runner/work/sql2o-example/sql2o-example/src/main/java/org/example/HelloController.java",
|
||||
startLine: 25,
|
||||
startColumn: 24,
|
||||
endLine: 25,
|
||||
endColumn: 35,
|
||||
},
|
||||
classification: CallClassification.Source,
|
||||
classification: CallClassification.Source,
|
||||
},
|
||||
{
|
||||
label: "open(...)",
|
||||
url: {
|
||||
uri: "file:/home/runner/work/sql2o-example/sql2o-example/src/main/java/org/example/HelloController.java",
|
||||
startLine: 25,
|
||||
startColumn: 24,
|
||||
endLine: 25,
|
||||
endColumn: 35,
|
||||
},
|
||||
],
|
||||
},
|
||||
modeledMethod: {
|
||||
type: "summary",
|
||||
input: "Argument[this]",
|
||||
output: "ReturnValue",
|
||||
kind: "taint",
|
||||
provenance: "manual",
|
||||
signature: "org.sql2o.Sql2o#open()",
|
||||
packageName: "org.sql2o",
|
||||
typeName: "Sql2o",
|
||||
methodName: "open",
|
||||
methodParameters: "()",
|
||||
},
|
||||
classification: CallClassification.Source,
|
||||
},
|
||||
],
|
||||
};
|
||||
const modeledMethod: ModeledMethod = {
|
||||
type: "summary",
|
||||
input: "Argument[this]",
|
||||
output: "ReturnValue",
|
||||
kind: "taint",
|
||||
provenance: "manual",
|
||||
signature: "org.sql2o.Sql2o#open()",
|
||||
packageName: "org.sql2o",
|
||||
typeName: "Sql2o",
|
||||
methodName: "open",
|
||||
methodParameters: "()",
|
||||
};
|
||||
|
||||
export const Unmodeled = Template.bind({});
|
||||
Unmodeled.args = {
|
||||
externalApiUsage,
|
||||
modeledMethod: undefined,
|
||||
};
|
||||
|
||||
export const Source = Template.bind({});
|
||||
Source.args = {
|
||||
externalApiUsage,
|
||||
modeledMethod: { ...modeledMethod, type: "source" },
|
||||
};
|
||||
|
||||
export const Sink = Template.bind({});
|
||||
Sink.args = {
|
||||
externalApiUsage,
|
||||
modeledMethod: { ...modeledMethod, type: "sink" },
|
||||
};
|
||||
|
||||
export const Summary = Template.bind({});
|
||||
Summary.args = {
|
||||
externalApiUsage,
|
||||
modeledMethod: { ...modeledMethod, type: "summary" },
|
||||
};
|
||||
|
||||
export const Neutral = Template.bind({});
|
||||
Neutral.args = {
|
||||
externalApiUsage,
|
||||
modeledMethod: { ...modeledMethod, type: "neutral" },
|
||||
};
|
||||
|
||||
export const AlreadyModeled = Template.bind({});
|
||||
AlreadyModeled.args = {
|
||||
externalApiUsage: { ...externalApiUsage, supported: true },
|
||||
modeledMethod: undefined,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user