|
1 | | -import useCollectionStore from 'stores/CollectionStore'; |
2 | 1 | import GraphLogger, { LogLevel } from './GraphLogger'; |
3 | 2 | import Graph from './Graph'; |
4 | 3 | import { useTabStore } from 'stores/TabStore'; |
5 | 4 | import { cloneDeep } from 'lodash'; |
6 | 5 | import { uploadGraphRunLogs } from 'service/collection'; |
7 | 6 | import { toast } from 'react-toastify'; |
8 | 7 |
|
| 8 | +const postResult = async (tab, status, time, logs) => { |
| 9 | + const response = await uploadGraphRunLogs(tab.name, status, time, logs); |
| 10 | + useTabStore.getState().updateFlowTestLogs(tab.id, status, logs, response); |
| 11 | + useTabStore.getState().updateFlowTestRunStatus(tab.id, false); |
| 12 | + if (status == 'Success') { |
| 13 | + toast.success(`FlowTest Run Success!`); |
| 14 | + } else if (status == 'Failed') { |
| 15 | + toast.error(`FlowTest Run Failed!`); |
| 16 | + } |
| 17 | +}; |
| 18 | + |
9 | 19 | export const graphRun = async (tab, nodes, edges, timeout, collectionPath, selectedEnv) => { |
10 | 20 | useTabStore.getState().updateFlowTestRunStatus(tab.id, true); |
11 | 21 |
|
12 | | - //runnableEdges(true); |
13 | 22 | const startTime = Date.now(); |
14 | 23 | const logger = new GraphLogger(); |
15 | 24 | try { |
16 | 25 | let envVariables = {}; |
17 | 26 |
|
18 | | - //const activeCollection = useCollectionStore.getState().collections.find((c) => c.id === collectionId); |
19 | | - //const activeEnv = activeCollection?.environments.find((e) => e.name === useTabStore.getState().selectedEnv); |
20 | 27 | if (selectedEnv) { |
21 | 28 | envVariables = cloneDeep(selectedEnv.variables); |
22 | 29 | } |
23 | 30 |
|
24 | 31 | // ============= flow ===================== |
25 | | - const g = new Graph( |
26 | | - nodes, //cloneDeep(reactFlowInstance.getNodes()), |
27 | | - edges, //cloneDeep(reactFlowInstance.getEdges()), |
28 | | - startTime, |
29 | | - envVariables, |
30 | | - logger, |
31 | | - //'main', |
32 | | - collectionPath, |
33 | | - timeout, |
34 | | - tab, |
35 | | - ); |
| 32 | + const g = new Graph(nodes, edges, startTime, envVariables, logger, collectionPath, timeout, tab); |
36 | 33 | const result = await g.run(); |
37 | 34 | const time = Date.now() - startTime; |
38 | 35 | logger.add(LogLevel.INFO, `Total time: ${time} ms`); |
39 | | - //useTabStore.getState().updateFlowTestRunStatus(tab.id, false); |
40 | | - const logs = logger.get(); |
41 | | - console.log(logs); |
42 | | - const response = await uploadGraphRunLogs(tab.name, result.status, time, logs); |
43 | | - useTabStore.getState().updateFlowTestLogs(tab.id, result.status, logs, response); |
44 | | - useTabStore.getState().updateFlowTestRunStatus(tab.id, false); |
45 | | - if (result.status == 'Success') { |
46 | | - toast.success(`FlowTest Run Success!`); |
47 | | - } else if (result.status == 'Failed') { |
48 | | - toast.error(`FlowTest Run Failed!`); |
49 | | - } |
50 | | - //await onGraphComplete(result.status, time, logger.get()); |
| 36 | + |
| 37 | + await postResult(tab, result.status, time, logger.get()); |
51 | 38 | } catch (error) { |
52 | 39 | const time = Date.now() - startTime; |
| 40 | + logger.add(LogLevel.ERROR, 'Internal error running graph'); |
53 | 41 | logger.add(LogLevel.INFO, `Total time: ${time} ms`); |
54 | | - useTabStore.getState().updateFlowTestRunStatus(tab.id, false); |
55 | | - //await onGraphComplete('Failed', time, logger.get()); |
56 | | - //toast.error(`Internal error running graph`); |
57 | | - //runnableEdges(false); |
| 42 | + await postResult(tab, 'Failed', time, logger.get()); |
58 | 43 | } |
59 | 44 | }; |
0 commit comments