@jupiterone/integration-sdk-cli 9.9.2 → 9.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/jest.config.js CHANGED
@@ -1,4 +1,4 @@
1
1
  module.exports = {
2
2
  ...require('../../jest.config.base'),
3
- setupFilesAfterEnv: ['./jest.setup.ts'],
3
+ setupFilesAfterEnv: ['jest-extended/all', './jest.setup.ts'],
4
4
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupiterone/integration-sdk-cli",
3
- "version": "9.9.2",
3
+ "version": "9.9.3",
4
4
  "description": "The SDK for developing JupiterOne integrations",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -25,8 +25,8 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@jupiterone/data-model": "^0.54.0",
28
- "@jupiterone/integration-sdk-core": "^9.9.2",
29
- "@jupiterone/integration-sdk-runtime": "^9.9.2",
28
+ "@jupiterone/integration-sdk-core": "^9.9.3",
29
+ "@jupiterone/integration-sdk-runtime": "^9.9.3",
30
30
  "chalk": "^4",
31
31
  "commander": "^9.4.0",
32
32
  "fs-extra": "^10.1.0",
@@ -44,7 +44,7 @@
44
44
  "vis": "^4.21.0-EOL"
45
45
  },
46
46
  "devDependencies": {
47
- "@jupiterone/integration-sdk-private-test-utils": "^9.9.2",
47
+ "@jupiterone/integration-sdk-private-test-utils": "^9.9.3",
48
48
  "@pollyjs/adapter-node-http": "^6.0.5",
49
49
  "@pollyjs/core": "^6.0.5",
50
50
  "@pollyjs/persister-fs": "^6.0.5",
@@ -56,5 +56,5 @@
56
56
  "memfs": "^3.2.0",
57
57
  "neo-forgery": "^2.0.0"
58
58
  },
59
- "gitHead": "c00d829021fa6a275625e5797956e39a56624570"
59
+ "gitHead": "d38419116133dfc28a35dd326178eb6e06b84228"
60
60
  }
@@ -14,7 +14,7 @@ JupiterOne. This may require provisioning some resources on the provider's side
14
14
  <!--
15
15
  ********************************************************************************
16
16
  NOTE: ALL OF THE FOLLOWING DOCUMENTATION IS GENERATED USING THE
17
- \\"j1-integration document\\" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
17
+ "j1-integration document" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
18
18
  DOCUMENTATION FOR USAGE INFORMATION:
19
19
 
20
20
  https://github.com/JupiterOne/sdk/blob/main/docs/integrations/development.md
@@ -56,7 +56,7 @@ JupiterOne. This may require provisioning some resources on the provider's side
56
56
  <!--
57
57
  ********************************************************************************
58
58
  NOTE: ALL OF THE FOLLOWING DOCUMENTATION IS GENERATED USING THE
59
- \\"j1-integration document\\" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
59
+ "j1-integration document" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
60
60
  DOCUMENTATION FOR USAGE INFORMATION:
61
61
 
62
62
  https://github.com/JupiterOne/sdk/blob/main/docs/integrations/development.md
@@ -97,7 +97,7 @@ JupiterOne. This may require provisioning some resources on the provider's side
97
97
  <!--
98
98
  ********************************************************************************
99
99
  NOTE: ALL OF THE FOLLOWING DOCUMENTATION IS GENERATED USING THE
100
- \\"j1-integration document\\" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
100
+ "j1-integration document" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
101
101
  DOCUMENTATION FOR USAGE INFORMATION:
102
102
 
103
103
  https://github.com/JupiterOne/sdk/blob/main/docs/integrations/development.md
@@ -136,7 +136,7 @@ JupiterOne. This may require provisioning some resources on the provider's side
136
136
  <!--
137
137
  ********************************************************************************
138
138
  NOTE: ALL OF THE FOLLOWING DOCUMENTATION IS GENERATED USING THE
139
- \\"j1-integration document\\" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
139
+ "j1-integration document" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
140
140
  DOCUMENTATION FOR USAGE INFORMATION:
141
141
 
142
142
  https://github.com/JupiterOne/sdk/blob/main/docs/integrations/development.md
@@ -174,7 +174,7 @@ JupiterOne. This may require provisioning some resources on the provider's side
174
174
  <!--
175
175
  ********************************************************************************
176
176
  NOTE: ALL OF THE FOLLOWING DOCUMENTATION IS GENERATED USING THE
177
- \\"j1-integration document\\" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
177
+ "j1-integration document" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
178
178
  DOCUMENTATION FOR USAGE INFORMATION:
179
179
 
180
180
  https://github.com/JupiterOne/sdk/blob/main/docs/integrations/development.md
@@ -223,7 +223,7 @@ JupiterOne. This may require provisioning some resources on the provider's side
223
223
  <!--
224
224
  ********************************************************************************
225
225
  NOTE: ALL OF THE FOLLOWING DOCUMENTATION IS GENERATED USING THE
226
- \\"j1-integration document\\" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
226
+ "j1-integration document" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
227
227
  DOCUMENTATION FOR USAGE INFORMATION:
228
228
 
229
229
  https://github.com/JupiterOne/sdk/blob/main/docs/integrations/development.md
@@ -262,7 +262,7 @@ JupiterOne. This may require provisioning some resources on the provider's side
262
262
  <!--
263
263
  ********************************************************************************
264
264
  NOTE: ALL OF THE FOLLOWING DOCUMENTATION IS GENERATED USING THE
265
- \\"j1-integration document\\" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
265
+ "j1-integration document" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
266
266
  DOCUMENTATION FOR USAGE INFORMATION:
267
267
 
268
268
  https://github.com/JupiterOne/sdk/blob/main/docs/integrations/development.md
@@ -310,7 +310,7 @@ JupiterOne. This may require provisioning some resources on the provider's side
310
310
  <!--
311
311
  ********************************************************************************
312
312
  NOTE: ALL OF THE FOLLOWING DOCUMENTATION IS GENERATED USING THE
313
- \\"j1-integration document\\" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
313
+ "j1-integration document" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
314
314
  DOCUMENTATION FOR USAGE INFORMATION:
315
315
 
316
316
  https://github.com/JupiterOne/sdk/blob/main/docs/integrations/development.md
@@ -357,7 +357,7 @@ JupiterOne. This may require provisioning some resources on the provider's side
357
357
  <!--
358
358
  ********************************************************************************
359
359
  NOTE: ALL OF THE FOLLOWING DOCUMENTATION IS GENERATED USING THE
360
- \\"j1-integration document\\" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
360
+ "j1-integration document" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
361
361
  DOCUMENTATION FOR USAGE INFORMATION:
362
362
 
363
363
  https://github.com/JupiterOne/sdk/blob/main/docs/integrations/development.md
@@ -396,7 +396,7 @@ JupiterOne. This may require provisioning some resources on the provider's side
396
396
  <!--
397
397
  ********************************************************************************
398
398
  NOTE: ALL OF THE FOLLOWING DOCUMENTATION IS GENERATED USING THE
399
- \\"j1-integration document\\" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
399
+ "j1-integration document" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
400
400
  DOCUMENTATION FOR USAGE INFORMATION:
401
401
 
402
402
  https://github.com/JupiterOne/sdk/blob/main/docs/integrations/development.md
@@ -437,7 +437,7 @@ JupiterOne. This may require provisioning some resources on the provider's side
437
437
  <!--
438
438
  ********************************************************************************
439
439
  NOTE: ALL OF THE FOLLOWING DOCUMENTATION IS GENERATED USING THE
440
- \\"j1-integration document\\" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
440
+ "j1-integration document" COMMAND. DO NOT EDIT BY HAND! PLEASE SEE THE DEVELOPER
441
441
  DOCUMENTATION FOR USAGE INFORMATION:
442
442
 
443
443
  https://github.com/JupiterOne/sdk/blob/main/docs/integrations/development.md
@@ -462,6 +462,6 @@ END OF GENERATED DOCUMENTATION AFTER BELOW MARKER
462
462
  <!-- {J1_DOCUMENTATION_MARKER_END} -->"
463
463
  `;
464
464
 
465
- exports[`generate-integration-graph-schema should generate integration graph schema with TypeScript integration 1`] = `"{\\"entities\\":[{\\"resourceName\\":\\"The User\\",\\"_class\\":\\"User\\",\\"_type\\":\\"my_user\\"},{\\"resourceName\\":\\"The Group\\",\\"_class\\":[\\"Group\\",\\"Other\\"],\\"_type\\":\\"my_group\\"}],\\"relationships\\":[{\\"_class\\":\\"HAS\\",\\"sourceType\\":\\"my_group\\",\\"targetType\\":\\"my_user\\"}],\\"mappedRelationships\\":[{\\"sourceType\\":\\"my_user\\",\\"_class\\":\\"IS\\",\\"targetType\\":\\"employee\\",\\"direction\\":\\"FORWARD\\"}]}"`;
465
+ exports[`generate-integration-graph-schema should generate integration graph schema with TypeScript integration 1`] = `"{"entities":[{"resourceName":"The User","_class":"User","_type":"my_user"},{"resourceName":"The Group","_class":["Group","Other"],"_type":"my_group"}],"relationships":[{"_class":"HAS","sourceType":"my_group","targetType":"my_user"}],"mappedRelationships":[{"sourceType":"my_user","_class":"IS","targetType":"employee","direction":"FORWARD"}]}"`;
466
466
 
467
- exports[`generate-integration-graph-schema should generate integration graph schema with integration JavaScript dist 1`] = `"{\\"entities\\":[{\\"resourceName\\":\\"The User\\",\\"_class\\":\\"User\\",\\"_type\\":\\"my_user\\"},{\\"resourceName\\":\\"The Group\\",\\"_class\\":[\\"Group\\",\\"Other\\"],\\"_type\\":\\"my_group\\"}],\\"relationships\\":[{\\"_class\\":\\"HAS\\",\\"sourceType\\":\\"my_group\\",\\"targetType\\":\\"my_user\\"}],\\"mappedRelationships\\":[{\\"sourceType\\":\\"my_user\\",\\"_class\\":\\"IS\\",\\"targetType\\":\\"employee\\",\\"direction\\":\\"FORWARD\\"}]}"`;
467
+ exports[`generate-integration-graph-schema should generate integration graph schema with integration JavaScript dist 1`] = `"{"entities":[{"resourceName":"The User","_class":"User","_type":"my_user"},{"resourceName":"The Group","_class":["Group","Other"],"_type":"my_group"}],"relationships":[{"_class":"HAS","sourceType":"my_group","targetType":"my_user"}],"mappedRelationships":[{"sourceType":"my_user","_class":"IS","targetType":"employee","direction":"FORWARD"}]}"`;
@@ -2,25 +2,25 @@
2
2
 
3
3
  exports[`visualize integration metadata creates graph based on integration data with entities and relationships 1`] = `
4
4
  "<!DOCTYPE html>
5
- <html lang=\\"en\\">
5
+ <html lang="en">
6
6
  <head>
7
- <meta charset=\\"UTF-8\\">
8
- <meta name=\\"viewport\\" content=\\"width=device-width, initial-scale=1.0\\">
7
+ <meta charset="UTF-8">
8
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
9
  <title>Integration SDK Graph</title>
10
10
  </head>
11
- <body style=\\"height:100vh;width:100%\\">
12
- <div id=\\"integration-graph\\" style=\\"height:100vh;width:100%\\"></div>
13
- <script type=\\"text/javascript\\" src=\\"https://unpkg.com/vis-network@7.6.1/standalone/umd/vis-network.min.js\\"></script>
14
- <script type=\\"text/javascript\\">
15
- var nodes = new vis.DataSet([{\\"id\\":\\"my_account\\",\\"label\\":\\"Account\\\\nmy_account\\\\nAccount\\"},{\\"id\\":\\"my_account_1\\",\\"label\\":\\"Account 1\\\\nmy_account_1\\\\nAccount\\"},{\\"id\\":\\"my_account_2\\",\\"label\\":\\"Account 2\\\\nmy_account_2\\\\nAccount\\"},{\\"id\\":\\"the_root\\",\\"label\\":\\"The Root\\\\nthe_root\\\\nRoot\\"}]);
16
- var edges = new vis.DataSet([{\\"from\\":\\"the_root\\",\\"to\\":\\"my_account\\",\\"label\\":\\"HAS\\"},{\\"from\\":\\"the_root\\",\\"to\\":\\"my_account_1\\",\\"label\\":\\"HAS\\"},{\\"from\\":\\"the_root\\",\\"to\\":\\"my_account_2\\",\\"label\\":\\"HAS\\"}]);
11
+ <body style="height:100vh;width:100%">
12
+ <div id="integration-graph" style="height:100vh;width:100%"></div>
13
+ <script type="text/javascript" src="https://unpkg.com/vis-network@7.6.1/standalone/umd/vis-network.min.js"></script>
14
+ <script type="text/javascript">
15
+ var nodes = new vis.DataSet([{"id":"my_account","label":"Account\\nmy_account\\nAccount"},{"id":"my_account_1","label":"Account 1\\nmy_account_1\\nAccount"},{"id":"my_account_2","label":"Account 2\\nmy_account_2\\nAccount"},{"id":"the_root","label":"The Root\\nthe_root\\nRoot"}]);
16
+ var edges = new vis.DataSet([{"from":"the_root","to":"my_account","label":"HAS"},{"from":"the_root","to":"my_account_1","label":"HAS"},{"from":"the_root","to":"my_account_2","label":"HAS"}]);
17
17
  // create a network
18
- var container = document.getElementById(\\"integration-graph\\");
18
+ var container = document.getElementById("integration-graph");
19
19
  var data = {
20
20
  nodes: nodes,
21
21
  edges: edges
22
22
  };
23
- var options = {\\"edges\\":{\\"color\\":\\"#6647ff\\",\\"arrows\\":{\\"to\\":{\\"enabled\\":true}}},\\"nodes\\":{\\"color\\":{\\"border\\":\\"#6647ff\\",\\"background\\":\\"#3ce3b5\\"}},\\"physics\\":{\\"barnesHut\\":{\\"springLength\\":300,\\"centralGravity\\":0.03}}};
23
+ var options = {"edges":{"color":"#6647ff","arrows":{"to":{"enabled":true}}},"nodes":{"color":{"border":"#6647ff","background":"#3ce3b5"}},"physics":{"barnesHut":{"springLength":300,"centralGravity":0.03}}};
24
24
  var network = new vis.Network(container, data, options);
25
25
  </script>
26
26
  </body>
@@ -29,25 +29,25 @@ exports[`visualize integration metadata creates graph based on integration data
29
29
 
30
30
  exports[`visualize integration metadata creates graph filtered by --type flag 1`] = `
31
31
  "<!DOCTYPE html>
32
- <html lang=\\"en\\">
32
+ <html lang="en">
33
33
  <head>
34
- <meta charset=\\"UTF-8\\">
35
- <meta name=\\"viewport\\" content=\\"width=device-width, initial-scale=1.0\\">
34
+ <meta charset="UTF-8">
35
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
36
36
  <title>Integration SDK Graph</title>
37
37
  </head>
38
- <body style=\\"height:100vh;width:100%\\">
39
- <div id=\\"integration-graph\\" style=\\"height:100vh;width:100%\\"></div>
40
- <script type=\\"text/javascript\\" src=\\"https://unpkg.com/vis-network@7.6.1/standalone/umd/vis-network.min.js\\"></script>
41
- <script type=\\"text/javascript\\">
42
- var nodes = new vis.DataSet([{\\"id\\":\\"my_account\\",\\"label\\":\\"Account\\\\nmy_account\\\\nAccount\\"},{\\"id\\":\\"the_root\\",\\"label\\":\\"The Root\\\\nthe_root\\\\nRoot\\"}]);
43
- var edges = new vis.DataSet([{\\"from\\":\\"the_root\\",\\"to\\":\\"my_account\\",\\"label\\":\\"HAS\\"}]);
38
+ <body style="height:100vh;width:100%">
39
+ <div id="integration-graph" style="height:100vh;width:100%"></div>
40
+ <script type="text/javascript" src="https://unpkg.com/vis-network@7.6.1/standalone/umd/vis-network.min.js"></script>
41
+ <script type="text/javascript">
42
+ var nodes = new vis.DataSet([{"id":"my_account","label":"Account\\nmy_account\\nAccount"},{"id":"the_root","label":"The Root\\nthe_root\\nRoot"}]);
43
+ var edges = new vis.DataSet([{"from":"the_root","to":"my_account","label":"HAS"}]);
44
44
  // create a network
45
- var container = document.getElementById(\\"integration-graph\\");
45
+ var container = document.getElementById("integration-graph");
46
46
  var data = {
47
47
  nodes: nodes,
48
48
  edges: edges
49
49
  };
50
- var options = {\\"edges\\":{\\"color\\":\\"#6647ff\\",\\"arrows\\":{\\"to\\":{\\"enabled\\":true}}},\\"nodes\\":{\\"color\\":{\\"border\\":\\"#6647ff\\",\\"background\\":\\"#3ce3b5\\"}},\\"physics\\":{\\"barnesHut\\":{\\"springLength\\":300,\\"centralGravity\\":0.03}}};
50
+ var options = {"edges":{"color":"#6647ff","arrows":{"to":{"enabled":true}}},"nodes":{"color":{"border":"#6647ff","background":"#3ce3b5"}},"physics":{"barnesHut":{"springLength":300,"centralGravity":0.03}}};
51
51
  var network = new vis.Network(container, data, options);
52
52
  </script>
53
53
  </body>
@@ -1,24 +1,11 @@
1
- const mockCreateIntegrationLogger = jest.fn();
2
-
3
- jest.doMock('@jupiterone/integration-sdk-runtime', () => ({
4
- ...(jest.requireActual('@jupiterone/integration-sdk-runtime') as any),
5
- createIntegrationLogger: mockCreateIntegrationLogger,
6
- }));
7
-
8
- import { mocked } from 'jest-mock';
9
1
  import { Polly } from '@pollyjs/core';
10
2
  import NodeHttpAdapter from '@pollyjs/adapter-node-http';
11
3
  import FSPersister from '@pollyjs/persister-fs';
12
-
13
4
  import { loadProjectStructure } from '@jupiterone/integration-sdk-private-test-utils';
14
5
  import { SynchronizationJobStatus } from '@jupiterone/integration-sdk-core';
15
-
16
6
  import { generateSynchronizationJob } from './util/synchronization';
17
-
18
7
  import { createCli } from '../index';
19
-
20
8
  import { setupSynchronizerApi } from './util/synchronization';
21
-
22
9
  import * as log from '../log';
23
10
  import { createTestPolly } from './util/recording';
24
11
 
@@ -27,10 +14,6 @@ jest.mock('../log');
27
14
  Polly.register(NodeHttpAdapter);
28
15
  Polly.register(FSPersister);
29
16
 
30
- const { createIntegrationLogger } = jest.requireActual(
31
- '@jupiterone/integration-sdk-runtime',
32
- );
33
-
34
17
  let polly: Polly;
35
18
 
36
19
  beforeEach(() => {
@@ -40,10 +23,6 @@ beforeEach(() => {
40
23
 
41
24
  polly = createTestPolly('run-cli-failure');
42
25
 
43
- mocked(mockCreateIntegrationLogger).mockReturnValue(
44
- createIntegrationLogger({ name: 'test' }),
45
- );
46
-
47
26
  jest.spyOn(process, 'exit').mockImplementation((code: number | undefined) => {
48
27
  throw new Error(`Process exited with code ${code}`);
49
28
  });
@@ -72,37 +51,3 @@ test('aborts synchronization job if an error occurs', async () => {
72
51
  status: SynchronizationJobStatus.ABORTED,
73
52
  });
74
53
  });
75
-
76
- test('does not log errors that have been previously logged', async () => {
77
- const job = generateSynchronizationJob();
78
-
79
- setupSynchronizerApi({ polly, job, baseUrl: 'https://api.us.jupiterone.io' });
80
-
81
- const logger = createIntegrationLogger({ name: 'test' });
82
-
83
- const isHandledErrorSpy = jest.spyOn(logger, 'isHandledError');
84
- const validationFailureSpy = jest.spyOn(logger, 'validationFailure');
85
- const warnSpy = jest.spyOn(logger, 'warn');
86
-
87
- jest.spyOn(logger, 'child').mockReturnValue(logger);
88
-
89
- mocked(mockCreateIntegrationLogger).mockReturnValue(logger);
90
-
91
- await createCli().parseAsync([
92
- 'node',
93
- 'j1-integration',
94
- 'run',
95
- '--integrationInstanceId',
96
- 'test',
97
- ]);
98
-
99
- expect(validationFailureSpy).toHaveBeenCalledTimes(1);
100
-
101
- const loggedError = validationFailureSpy.mock.calls[0][0];
102
-
103
- expect(isHandledErrorSpy).toHaveBeenCalledTimes(1);
104
- expect(isHandledErrorSpy).toHaveBeenCalledWith(loggedError);
105
- expect(isHandledErrorSpy).toHaveReturnedWith(true);
106
-
107
- expect(warnSpy).toHaveBeenCalledTimes(1);
108
- });
@@ -2,25 +2,25 @@
2
2
 
3
3
  exports[`renders custom config when passed in 1`] = `
4
4
  "<!DOCTYPE html>
5
- <html lang=\\"en\\">
5
+ <html lang="en">
6
6
  <head>
7
- <meta charset=\\"UTF-8\\">
8
- <meta name=\\"viewport\\" content=\\"width=device-width, initial-scale=1.0\\">
7
+ <meta charset="UTF-8">
8
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
9
  <title>Integration SDK Graph</title>
10
10
  </head>
11
- <body style=\\"height:100vh;width:100%\\">
12
- <div id=\\"integration-graph\\" style=\\"height:100vh;width:100%\\"></div>
13
- <script type=\\"text/javascript\\" src=\\"https://unpkg.com/vis-network@7.6.1/standalone/umd/vis-network.min.js\\"></script>
14
- <script type=\\"text/javascript\\">
15
- var nodes = new vis.DataSet([{\\"id\\":\\"1\\",\\"label\\":\\"Node 1\\"},{\\"id\\":\\"2\\",\\"label\\":\\"Node 2\\"},{\\"id\\":\\"3\\",\\"label\\":\\"Node 3\\"}]);
16
- var edges = new vis.DataSet([{\\"from\\":\\"1\\",\\"to\\":\\"2\\"},{\\"from\\":\\"2\\",\\"to\\":\\"3\\"},{\\"from\\":\\"3\\",\\"to\\":\\"1\\"}]);
11
+ <body style="height:100vh;width:100%">
12
+ <div id="integration-graph" style="height:100vh;width:100%"></div>
13
+ <script type="text/javascript" src="https://unpkg.com/vis-network@7.6.1/standalone/umd/vis-network.min.js"></script>
14
+ <script type="text/javascript">
15
+ var nodes = new vis.DataSet([{"id":"1","label":"Node 1"},{"id":"2","label":"Node 2"},{"id":"3","label":"Node 3"}]);
16
+ var edges = new vis.DataSet([{"from":"1","to":"2"},{"from":"2","to":"3"},{"from":"3","to":"1"}]);
17
17
  // create a network
18
- var container = document.getElementById(\\"integration-graph\\");
18
+ var container = document.getElementById("integration-graph");
19
19
  var data = {
20
20
  nodes: nodes,
21
21
  edges: edges
22
22
  };
23
- var options = {\\"edges\\":{\\"color\\":\\"#ffffff\\",\\"arrows\\":{\\"to\\":{\\"enabled\\":true}}},\\"physics\\":{\\"barnesHut\\":{\\"springLength\\":300,\\"centralGravity\\":0.03}}};
23
+ var options = {"edges":{"color":"#ffffff","arrows":{"to":{"enabled":true}}},"physics":{"barnesHut":{"springLength":300,"centralGravity":0.03}}};
24
24
  var network = new vis.Network(container, data, options);
25
25
  </script>
26
26
  </body>
@@ -29,25 +29,25 @@ exports[`renders custom config when passed in 1`] = `
29
29
 
30
30
  exports[`renders html with default config 1`] = `
31
31
  "<!DOCTYPE html>
32
- <html lang=\\"en\\">
32
+ <html lang="en">
33
33
  <head>
34
- <meta charset=\\"UTF-8\\">
35
- <meta name=\\"viewport\\" content=\\"width=device-width, initial-scale=1.0\\">
34
+ <meta charset="UTF-8">
35
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
36
36
  <title>Integration SDK Graph</title>
37
37
  </head>
38
- <body style=\\"height:100vh;width:100%\\">
39
- <div id=\\"integration-graph\\" style=\\"height:100vh;width:100%\\"></div>
40
- <script type=\\"text/javascript\\" src=\\"https://unpkg.com/vis-network@7.6.1/standalone/umd/vis-network.min.js\\"></script>
41
- <script type=\\"text/javascript\\">
42
- var nodes = new vis.DataSet([{\\"id\\":\\"1\\",\\"label\\":\\"Node 1\\"},{\\"id\\":\\"2\\",\\"label\\":\\"Node 2\\"},{\\"id\\":\\"3\\",\\"label\\":\\"Node 3\\"}]);
43
- var edges = new vis.DataSet([{\\"from\\":\\"1\\",\\"to\\":\\"2\\"},{\\"from\\":\\"2\\",\\"to\\":\\"3\\"},{\\"from\\":\\"3\\",\\"to\\":\\"1\\"}]);
38
+ <body style="height:100vh;width:100%">
39
+ <div id="integration-graph" style="height:100vh;width:100%"></div>
40
+ <script type="text/javascript" src="https://unpkg.com/vis-network@7.6.1/standalone/umd/vis-network.min.js"></script>
41
+ <script type="text/javascript">
42
+ var nodes = new vis.DataSet([{"id":"1","label":"Node 1"},{"id":"2","label":"Node 2"},{"id":"3","label":"Node 3"}]);
43
+ var edges = new vis.DataSet([{"from":"1","to":"2"},{"from":"2","to":"3"},{"from":"3","to":"1"}]);
44
44
  // create a network
45
- var container = document.getElementById(\\"integration-graph\\");
45
+ var container = document.getElementById("integration-graph");
46
46
  var data = {
47
47
  nodes: nodes,
48
48
  edges: edges
49
49
  };
50
- var options = {\\"edges\\":{\\"arrows\\":{\\"to\\":{\\"enabled\\":true}}},\\"physics\\":{\\"barnesHut\\":{\\"springLength\\":300,\\"centralGravity\\":0.03}}};
50
+ var options = {"edges":{"arrows":{"to":{"enabled":true}}},"physics":{"barnesHut":{"springLength":300,"centralGravity":0.03}}};
51
51
  var network = new vis.Network(container, data, options);
52
52
  </script>
53
53
  </body>
@@ -56,14 +56,14 @@ exports[`renders html with default config 1`] = `
56
56
 
57
57
  exports[`renders nothing to display message when there is nothing to display 1`] = `
58
58
  "<!DOCTYPE html>
59
- <html lang=\\"en\\">
59
+ <html lang="en">
60
60
  <head>
61
- <meta charset=\\"UTF-8\\">
62
- <meta name=\\"viewport\\" content=\\"width=device-width, initial-scale=1.0\\">
61
+ <meta charset="UTF-8">
62
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
63
63
  <title>Integration SDK Graph</title>
64
64
  </head>
65
- <body style=\\"height:100vh;width:100%\\">
66
- <h1 style=\\"text-align: center;\\">path/to/data: There was no data found to visualize.</h1>
65
+ <body style="height:100vh;width:100%">
66
+ <h1 style="text-align: center;">path/to/data: There was no data found to visualize.</h1>
67
67
  </body>
68
68
  </html>"
69
69
  `;