@itentialopensource/adapter-oracle_cloud 0.1.1

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.
Files changed (166) hide show
  1. package/.eslintignore +5 -0
  2. package/.eslintrc.js +18 -0
  3. package/.jshintrc +3 -0
  4. package/CHANGELOG.md +9 -0
  5. package/CODE_OF_CONDUCT.md +48 -0
  6. package/CONTRIBUTING.md +158 -0
  7. package/LICENSE +201 -0
  8. package/README.md +687 -0
  9. package/adapter.js +11250 -0
  10. package/adapterBase.js +1028 -0
  11. package/entities/.generic/action.json +109 -0
  12. package/entities/.generic/schema.json +23 -0
  13. package/entities/.system/action.json +50 -0
  14. package/entities/.system/mockdatafiles/getToken-default.json +3 -0
  15. package/entities/.system/mockdatafiles/healthcheck-default.json +3 -0
  16. package/entities/.system/schema.json +19 -0
  17. package/entities/.system/schemaTokenReq.json +53 -0
  18. package/entities/.system/schemaTokenResp.json +53 -0
  19. package/entities/Applinks/action.json +64 -0
  20. package/entities/Applinks/mockdatafiles/postDocumentsApi12ApplinksFileFileId-default.json +10 -0
  21. package/entities/Applinks/mockdatafiles/postDocumentsApi12ApplinksFolderFolderId-default.json +10 -0
  22. package/entities/Applinks/mockdatafiles/putDocumentsApi12ApplinksToken-default.json +5 -0
  23. package/entities/Applinks/schema.json +21 -0
  24. package/entities/Catalog/action.json +298 -0
  25. package/entities/Catalog/mockdatafiles/getDocumentsApi-default.json +61 -0
  26. package/entities/Catalog/mockdatafiles/getDocumentsApiVersion-default.json +23 -0
  27. package/entities/Catalog/mockdatafiles/getDocumentsApiVersionMetadataCatalog-default.json +147 -0
  28. package/entities/Catalog/schema.json +32 -0
  29. package/entities/Collections/action.json +145 -0
  30. package/entities/Collections/mockdatafiles/deleteDocumentsApi12CollectionsCollectionId-default.json +5 -0
  31. package/entities/Collections/mockdatafiles/deleteDocumentsApi12CollectionsCollectionIdFiles-default.json +25 -0
  32. package/entities/Collections/mockdatafiles/deleteDocumentsApi12CollectionsCollectionIdFilesFileId-default.json +5 -0
  33. package/entities/Collections/mockdatafiles/getDocumentsApi12CollectionsItems-default.json +37 -0
  34. package/entities/Collections/mockdatafiles/postDocumentsApi12Collections-default.json +28 -0
  35. package/entities/Collections/mockdatafiles/postDocumentsApi12CollectionsCollectionIdFiles-default.json +32 -0
  36. package/entities/Collections/mockdatafiles/postDocumentsApi12CollectionsCollectionIdFilesFileId-default.json +6 -0
  37. package/entities/Collections/schema.json +25 -0
  38. package/entities/Configuration/action.json +87 -0
  39. package/entities/Configuration/mockdatafiles/getDocumentsApi12ConfigCollaboration-default.json +9 -0
  40. package/entities/Configuration/mockdatafiles/getDocumentsApi12ConfigNotificationEmail-default.json +5 -0
  41. package/entities/Configuration/mockdatafiles/getDocumentsApi12ConfigSitesDeliverycdn-default.json +10 -0
  42. package/entities/Configuration/mockdatafiles/putDocumentsApi12ConfigNotificationEmail-default.json +4 -0
  43. package/entities/Configuration/schema.json +22 -0
  44. package/entities/Files/action.json +721 -0
  45. package/entities/Files/mockdatafiles/deleteDocumentsApi12FilesFileId-default.json +5 -0
  46. package/entities/Files/mockdatafiles/deleteDocumentsApi12FilesFileIdMetadata-default.json +5 -0
  47. package/entities/Files/mockdatafiles/deleteDocumentsApi12FilesFileIdTags-default.json +5 -0
  48. package/entities/Files/mockdatafiles/getDocumentsApi12FilesFileId-default.json +150 -0
  49. package/entities/Files/mockdatafiles/getDocumentsApi12FilesFileIdAccesses-default.json +26 -0
  50. package/entities/Files/mockdatafiles/getDocumentsApi12FilesFileIdDataRenditions-default.json +21 -0
  51. package/entities/Files/mockdatafiles/getDocumentsApi12FilesFileIdMetadata-default.json +15 -0
  52. package/entities/Files/mockdatafiles/getDocumentsApi12FilesFileIdMetadataFields-default.json +45 -0
  53. package/entities/Files/mockdatafiles/getDocumentsApi12FilesFileIdPages-default.json +6 -0
  54. package/entities/Files/mockdatafiles/getDocumentsApi12FilesFileIdPreviewPath-default.json +7 -0
  55. package/entities/Files/mockdatafiles/getDocumentsApi12FilesFileIdTags-default.json +6 -0
  56. package/entities/Files/mockdatafiles/getDocumentsApi12FilesFileIdVersions-default.json +37 -0
  57. package/entities/Files/mockdatafiles/getDocumentsApi12FilesLists-default.json +34 -0
  58. package/entities/Files/mockdatafiles/postDocumentsApi12FilesData-default.json +30 -0
  59. package/entities/Files/mockdatafiles/postDocumentsApi12FilesFileIdConversation-default.json +9 -0
  60. package/entities/Files/mockdatafiles/postDocumentsApi12FilesFileIdCopy-default.json +7 -0
  61. package/entities/Files/mockdatafiles/postDocumentsApi12FilesFileIdData-default.json +30 -0
  62. package/entities/Files/mockdatafiles/postDocumentsApi12FilesFileIdDataRendition-default.json +5 -0
  63. package/entities/Files/mockdatafiles/postDocumentsApi12FilesFileIdMetadata-default.json +5 -0
  64. package/entities/Files/mockdatafiles/postDocumentsApi12FilesFileIdMetadataCollectionName-default.json +5 -0
  65. package/entities/Files/mockdatafiles/postDocumentsApi12FilesFileIdMove-default.json +6 -0
  66. package/entities/Files/mockdatafiles/postDocumentsApi12FilesFileIdPages-default.json +5 -0
  67. package/entities/Files/mockdatafiles/postDocumentsApi12FilesFileIdReserve-default.json +12 -0
  68. package/entities/Files/mockdatafiles/postDocumentsApi12FilesFileIdTags-default.json +5 -0
  69. package/entities/Files/mockdatafiles/postDocumentsApi12FilesFileIdUnreserve-default.json +5 -0
  70. package/entities/Files/mockdatafiles/putDocumentsApi12FilesFileId-default.json +29 -0
  71. package/entities/Files/mockdatafiles/putDocumentsApi12FilesFileIdTags-default.json +5 -0
  72. package/entities/Files/schema.json +53 -0
  73. package/entities/Folders/action.json +535 -0
  74. package/entities/Folders/mockdatafiles/deleteDocumentsApi12FoldersFolderId-default.json +5 -0
  75. package/entities/Folders/mockdatafiles/deleteDocumentsApi12FoldersFolderIdDownloadJobId-default.json +4 -0
  76. package/entities/Folders/mockdatafiles/deleteDocumentsApi12FoldersFolderIdMetadata-default.json +5 -0
  77. package/entities/Folders/mockdatafiles/deleteDocumentsApi12FoldersFolderIdTags-default.json +5 -0
  78. package/entities/Folders/mockdatafiles/getDocumentsApi12FoldersFolderId-default.json +26 -0
  79. package/entities/Folders/mockdatafiles/getDocumentsApi12FoldersFolderIdDownloadJobId-default.json +17 -0
  80. package/entities/Folders/mockdatafiles/getDocumentsApi12FoldersFolderIdItems-default.json +91 -0
  81. package/entities/Folders/mockdatafiles/getDocumentsApi12FoldersFolderIdMetadata-default.json +11 -0
  82. package/entities/Folders/mockdatafiles/getDocumentsApi12FoldersFolderIdMetadataFields-default.json +26 -0
  83. package/entities/Folders/mockdatafiles/getDocumentsApi12FoldersFolderIdSearchItems-default.json +87 -0
  84. package/entities/Folders/mockdatafiles/getDocumentsApi12FoldersFolderIdTags-default.json +6 -0
  85. package/entities/Folders/mockdatafiles/getDocumentsApi12FoldersItems-default.json +93 -0
  86. package/entities/Folders/mockdatafiles/getDocumentsApi12FoldersLists-default.json +26 -0
  87. package/entities/Folders/mockdatafiles/getDocumentsApi12FoldersSearchItems-default.json +99 -0
  88. package/entities/Folders/mockdatafiles/postDocumentsApi12FoldersFolderId-default.json +30 -0
  89. package/entities/Folders/mockdatafiles/postDocumentsApi12FoldersFolderIdBulkCreate-default.json +98 -0
  90. package/entities/Folders/mockdatafiles/postDocumentsApi12FoldersFolderIdConversation-default.json +9 -0
  91. package/entities/Folders/mockdatafiles/postDocumentsApi12FoldersFolderIdCopy-default.json +7 -0
  92. package/entities/Folders/mockdatafiles/postDocumentsApi12FoldersFolderIdDownload-default.json +8 -0
  93. package/entities/Folders/mockdatafiles/postDocumentsApi12FoldersFolderIdMetadata-default.json +5 -0
  94. package/entities/Folders/mockdatafiles/postDocumentsApi12FoldersFolderIdMetadataCollectionName-default.json +5 -0
  95. package/entities/Folders/mockdatafiles/postDocumentsApi12FoldersFolderIdMove-default.json +6 -0
  96. package/entities/Folders/mockdatafiles/postDocumentsApi12FoldersFolderIdTags-default.json +5 -0
  97. package/entities/Folders/mockdatafiles/putDocumentsApi12FoldersFolderId-default.json +30 -0
  98. package/entities/Folders/mockdatafiles/putDocumentsApi12FoldersFolderIdTags-default.json +5 -0
  99. package/entities/Folders/schema.json +44 -0
  100. package/entities/MetadataCollection/action.json +167 -0
  101. package/entities/MetadataCollection/mockdatafiles/deleteDocumentsApi12MetadataCollectionName-default.json +3 -0
  102. package/entities/MetadataCollection/mockdatafiles/getDocumentsApi12Metadata-default.json +45 -0
  103. package/entities/MetadataCollection/mockdatafiles/getDocumentsApi12MetadataCollectionName-default.json +21 -0
  104. package/entities/MetadataCollection/mockdatafiles/getDocumentsApi12MetadataSearchFields-default.json +6 -0
  105. package/entities/MetadataCollection/mockdatafiles/postDocumentsApi12MetadataCollectionName-default.json +3 -0
  106. package/entities/MetadataCollection/mockdatafiles/postDocumentsApi12MetadataSearchFields-default.json +3 -0
  107. package/entities/MetadataCollection/mockdatafiles/putDocumentsApi12MetadataCollectionName-default.json +3 -0
  108. package/entities/MetadataCollection/mockdatafiles/putDocumentsApi12MetadataCollectionNameField-default.json +3 -0
  109. package/entities/MetadataCollection/schema.json +26 -0
  110. package/entities/Publiclinks/action.json +147 -0
  111. package/entities/Publiclinks/mockdatafiles/deleteDocumentsApi12PubliclinksLinkId-default.json +5 -0
  112. package/entities/Publiclinks/mockdatafiles/getDocumentsApi12PubliclinksFileFileId-default.json +37 -0
  113. package/entities/Publiclinks/mockdatafiles/getDocumentsApi12PubliclinksFolderFolderId-default.json +36 -0
  114. package/entities/Publiclinks/mockdatafiles/getDocumentsApi12PubliclinksLinkId-default.json +16 -0
  115. package/entities/Publiclinks/mockdatafiles/postDocumentsApi12PubliclinksFileFileId-default.json +17 -0
  116. package/entities/Publiclinks/mockdatafiles/postDocumentsApi12PubliclinksFolderFolderId-default.json +17 -0
  117. package/entities/Publiclinks/mockdatafiles/putDocumentsApi12PubliclinksLinkId-default.json +16 -0
  118. package/entities/Publiclinks/schema.json +25 -0
  119. package/entities/Shares/action.json +125 -0
  120. package/entities/Shares/mockdatafiles/deleteDocumentsApi12SharesFolderId-default.json +5 -0
  121. package/entities/Shares/mockdatafiles/deleteDocumentsApi12SharesFolderIdMyuser-default.json +5 -0
  122. package/entities/Shares/mockdatafiles/deleteDocumentsApi12SharesFolderIdUser-default.json +18 -0
  123. package/entities/Shares/mockdatafiles/getDocumentsApi12SharesFolderIdItems-default.json +16 -0
  124. package/entities/Shares/mockdatafiles/postDocumentsApi12SharesFolderId-default.json +19 -0
  125. package/entities/Shares/mockdatafiles/putDocumentsApi12SharesFolderIdRole-default.json +19 -0
  126. package/entities/Shares/schema.json +24 -0
  127. package/entities/Sites/action.json +24 -0
  128. package/entities/Sites/mockdatafiles/postDocumentsApi12SitesSiteIdSite-default.json +33 -0
  129. package/entities/Sites/schema.json +19 -0
  130. package/entities/Templates/action.json +24 -0
  131. package/entities/Templates/mockdatafiles/postDocumentsApi12TemplatesTemplateIdSite-default.json +33 -0
  132. package/entities/Templates/schema.json +19 -0
  133. package/entities/Users/action.json +66 -0
  134. package/entities/Users/mockdatafiles/getDocumentsApi12UsersItems-default.json +24 -0
  135. package/entities/Users/mockdatafiles/getDocumentsApi12UsersSearchItems-default.json +12 -0
  136. package/entities/Users/mockdatafiles/postDocumentsApi12UsersUserIDTransferContent-default.json +15 -0
  137. package/entities/Users/schema.json +21 -0
  138. package/error.json +184 -0
  139. package/package.json +83 -0
  140. package/pronghorn.json +10358 -0
  141. package/propertiesSchema.json +840 -0
  142. package/refs?service=git-upload-pack +0 -0
  143. package/report/creationReport.json +434 -0
  144. package/report/oracleCloud.json +11867 -0
  145. package/sampleProperties.json +106 -0
  146. package/test/integration/adapterTestBasicGet.js +85 -0
  147. package/test/integration/adapterTestConnectivity.js +93 -0
  148. package/test/integration/adapterTestIntegration.js +3824 -0
  149. package/test/unit/adapterBaseTestUnit.js +944 -0
  150. package/test/unit/adapterTestUnit.js +5333 -0
  151. package/utils/addAuth.js +94 -0
  152. package/utils/artifactize.js +146 -0
  153. package/utils/basicGet.js +50 -0
  154. package/utils/checkMigrate.js +63 -0
  155. package/utils/entitiesToDB.js +224 -0
  156. package/utils/findPath.js +74 -0
  157. package/utils/modify.js +154 -0
  158. package/utils/packModificationScript.js +35 -0
  159. package/utils/pre-commit.sh +27 -0
  160. package/utils/removeHooks.js +20 -0
  161. package/utils/setup.js +33 -0
  162. package/utils/tbScript.js +169 -0
  163. package/utils/tbUtils.js +445 -0
  164. package/utils/testRunner.js +298 -0
  165. package/utils/troubleshootingAdapter.js +190 -0
  166. package/workflows/README.md +3 -0
@@ -0,0 +1,106 @@
1
+ {
2
+ "id": "Adapter-oracle_cloud",
3
+ "type": "OracleCloud",
4
+ "properties": {
5
+ "host": "localhost",
6
+ "port": 443,
7
+ "base_path": "/",
8
+ "version": "",
9
+ "cache_location": "none",
10
+ "encode_pathvars": true,
11
+ "save_metric": true,
12
+ "stub": true,
13
+ "protocol": "https",
14
+ "authentication": {
15
+ "auth_method": "request_token",
16
+ "username": "username",
17
+ "password": "password",
18
+ "token": "token",
19
+ "token_timeout": 1800000,
20
+ "token_cache": "local",
21
+ "invalid_token_error": 401,
22
+ "auth_field": "header.headers.X-AUTH-TOKEN",
23
+ "auth_field_format": "{token}",
24
+ "auth_logging": false,
25
+ "client_id": "",
26
+ "client_secret": "",
27
+ "grant_type": ""
28
+ },
29
+ "healthcheck": {
30
+ "type": "none",
31
+ "frequency": 60000,
32
+ "query_object": {}
33
+ },
34
+ "throttle": {
35
+ "throttle_enabled": false,
36
+ "number_pronghorns": 1,
37
+ "sync_async": "sync",
38
+ "max_in_queue": 1000,
39
+ "concurrent_max": 1,
40
+ "expire_timeout": 0,
41
+ "avg_runtime": 200,
42
+ "priorities": [
43
+ {
44
+ "value": 0,
45
+ "percent": 100
46
+ }
47
+ ]
48
+ },
49
+ "request": {
50
+ "number_redirects": 0,
51
+ "number_retries": 3,
52
+ "limit_retry_error": [
53
+ 0
54
+ ],
55
+ "failover_codes": [],
56
+ "attempt_timeout": 5000,
57
+ "global_request": {
58
+ "payload": {},
59
+ "uriOptions": {},
60
+ "addlHeaders": {},
61
+ "authData": {}
62
+ },
63
+ "healthcheck_on_timeout": true,
64
+ "return_raw": false,
65
+ "archiving": false,
66
+ "return_request": false
67
+ },
68
+ "proxy": {
69
+ "enabled": false,
70
+ "host": "",
71
+ "port": 1,
72
+ "protocol": "http",
73
+ "username": "",
74
+ "password": ""
75
+ },
76
+ "ssl": {
77
+ "ecdhCurve": "",
78
+ "enabled": false,
79
+ "accept_invalid_cert": false,
80
+ "ca_file": "",
81
+ "key_file": "",
82
+ "cert_file": "",
83
+ "secure_protocol": "",
84
+ "ciphers": ""
85
+ },
86
+ "mongo": {
87
+ "host": "",
88
+ "port": 0,
89
+ "database": "",
90
+ "username": "",
91
+ "password": "",
92
+ "replSet": "",
93
+ "db_ssl": {
94
+ "enabled": false,
95
+ "accept_invalid_cert": false,
96
+ "ca_file": "",
97
+ "key_file": "",
98
+ "cert_file": ""
99
+ }
100
+ }
101
+ },
102
+ "groups": [],
103
+ "brokers": [],
104
+ "logLevel": "none",
105
+ "timeout": 120000
106
+ }
@@ -0,0 +1,85 @@
1
+ /* @copyright Itential, LLC 2020 */
2
+
3
+ /* global describe context before after */
4
+ /* eslint global-require: warn */
5
+ /* eslint no-unused-vars: warn */
6
+ /* eslint import/no-extraneous-dependencies: warn */
7
+ /* eslint import/no-dynamic-require: warn */
8
+ /* eslint import/no-unresolved: warn */
9
+
10
+ const mocha = require('mocha');
11
+ const path = require('path');
12
+ const assert = require('assert');
13
+ const itParam = require('mocha-param');
14
+
15
+ const utils = require('../../utils/tbUtils');
16
+ const basicGet = require('../../utils/basicGet');
17
+ const { name } = require('../../package.json');
18
+ const { methods } = require('../../pronghorn.json');
19
+
20
+ const getPronghornProps = (iapDir) => {
21
+ const { Discovery } = require('@itential/itential-utils');
22
+ console.log('Retrieving properties.json file...');
23
+ const rawProps = require(path.join(iapDir, 'properties.json'));
24
+ console.log('Decrypting properties...');
25
+ const discovery = new Discovery();
26
+ const pronghornProps = utils.decryptProperties(rawProps, path.join(__dirname, '..'), discovery);
27
+ console.log('Found properties.\n');
28
+ return pronghornProps;
29
+ };
30
+
31
+ let a;
32
+
33
+ describe('[integration] Adapter BasicGET Test', () => {
34
+ context('Testing GET calls without query parameters', () => {
35
+ before(async () => {
36
+ const iapDir = path.join(__dirname, '../../../../../');
37
+ if (!utils.withinIAP(iapDir)) {
38
+ const sampleProperties = require('../../sampleProperties.json');
39
+ const adapter = { properties: sampleProperties };
40
+ a = basicGet.getAdapterInstance(adapter);
41
+ } else {
42
+ const pronghornProps = getPronghornProps(iapDir);
43
+ console.log('Connecting to Database...');
44
+ const database = await basicGet.connect(pronghornProps);
45
+ console.log('Connection established.');
46
+ const adapter = await database.collection(utils.SERVICE_CONFIGS_COLLECTION).findOne(
47
+ { model: name }
48
+ );
49
+ a = basicGet.getAdapterInstance(adapter);
50
+ }
51
+ });
52
+
53
+ after((done) => {
54
+ done();
55
+ });
56
+
57
+ const basicGets = methods.filter((method) => (method.route.verb === 'GET' && method.input.length === 0));
58
+ if (basicGets.length === 0) {
59
+ console.log('No non-parameter GET calls found.');
60
+ process.exit(0);
61
+ }
62
+ const functionNames = basicGets.map((g) => g.name);
63
+ const request = function request(f, ad) {
64
+ return new Promise((resolve, reject) => {
65
+ const getRespCode = (resp) => {
66
+ if (resp) {
67
+ if (resp.metrics.code !== 200) {
68
+ console.log('\x1b[31m', `Testing ${f} \nResponseCode: ${resp.metrics.code}`);
69
+ }
70
+ resolve(resp.metrics.code);
71
+ } else {
72
+ console.log('\x1b[31m', `call ${f} results in failure`);
73
+ reject(new Error(`${f} failed`));
74
+ }
75
+ };
76
+ ad[f](getRespCode, console.log);
77
+ });
78
+ };
79
+
80
+ itParam('GET call should return 200', functionNames, (fname) => {
81
+ console.log(`\t ${fname}`);
82
+ return request(fname, a).then((result) => assert.equal(result, 200));
83
+ });
84
+ });
85
+ });
@@ -0,0 +1,93 @@
1
+ /* @copyright Itential, LLC 2020 */
2
+
3
+ /* global describe it context before after */
4
+ /* eslint no-unused-vars: warn */
5
+
6
+ const mocha = require('mocha');
7
+ const assert = require('assert');
8
+ const diagnostics = require('network-diagnostics');
9
+
10
+ let host;
11
+ process.argv.forEach((val) => {
12
+ if (val.indexOf('--HOST') === 0) {
13
+ [, host] = val.split('=');
14
+ }
15
+ });
16
+
17
+ describe('[integration] Adapter Test', () => {
18
+ context(`Testing network connection on ${host}`, () => {
19
+ before(() => {
20
+ diagnostics.setTestURL(host);
21
+ });
22
+
23
+ after((done) => {
24
+ done();
25
+ });
26
+
27
+ it('DNS resolve', (done) => {
28
+ diagnostics.haveDNS((result) => {
29
+ try {
30
+ assert.equal(result, true);
31
+ done();
32
+ } catch (error) {
33
+ done(error);
34
+ }
35
+ });
36
+ });
37
+
38
+ it('Responds to ping', (done) => {
39
+ diagnostics.havePing((result) => {
40
+ try {
41
+ assert.equal(result, true);
42
+ done();
43
+ } catch (error) {
44
+ done(error);
45
+ }
46
+ });
47
+ });
48
+
49
+ it('Support HTTP on port 80', (done) => {
50
+ diagnostics.haveHTTP((result) => {
51
+ try {
52
+ assert.equal(result, true);
53
+ done();
54
+ } catch (error) {
55
+ done(error);
56
+ }
57
+ });
58
+ });
59
+
60
+ it('Support HTTPS on port 443', (done) => {
61
+ diagnostics.haveHTTPS((result) => {
62
+ try {
63
+ assert.equal(result, true);
64
+ done();
65
+ } catch (error) {
66
+ done(error);
67
+ }
68
+ });
69
+ });
70
+
71
+ it('Support IPv4', (done) => {
72
+ diagnostics.haveIPv4Async((result) => {
73
+ try {
74
+ assert.equal(result, true);
75
+ done();
76
+ } catch (error) {
77
+ done(error);
78
+ }
79
+ });
80
+ });
81
+
82
+ it('Support IPv6', (done) => {
83
+ diagnostics.haveIPv6Async((result) => {
84
+ try {
85
+ assert.equal(result, true);
86
+ done();
87
+ } catch (error) {
88
+ done(error);
89
+ }
90
+ });
91
+ });
92
+ });
93
+ });