@elisra-devops/docgen-data-provider 0.4.6 → 0.4.13

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 (68) hide show
  1. package/.github/sonar-project.properties +4 -4
  2. package/.github/workflows/ci.yml +21 -21
  3. package/.github/workflows/release.yml +45 -40
  4. package/LICENSE +21 -21
  5. package/README.md +39 -38
  6. package/bin/helpers/helper.d.ts +37 -0
  7. package/bin/helpers/helper.js +83 -0
  8. package/bin/helpers/helper.js.map +1 -0
  9. package/bin/helpers/tfs.d.ts +5 -0
  10. package/bin/helpers/tfs.js +100 -0
  11. package/bin/helpers/tfs.js.map +1 -0
  12. package/bin/index.d.ts +16 -0
  13. package/bin/index.js +53 -0
  14. package/bin/index.js.map +1 -0
  15. package/bin/models/tfs-data.d.ts +86 -0
  16. package/bin/models/tfs-data.js +63 -0
  17. package/bin/models/tfs-data.js.map +1 -0
  18. package/bin/modules/GitDataProvider.d.ts +26 -0
  19. package/bin/modules/GitDataProvider.js +301 -0
  20. package/bin/modules/GitDataProvider.js.map +1 -0
  21. package/bin/modules/MangementDataProvider.d.ts +9 -0
  22. package/bin/modules/MangementDataProvider.js +62 -0
  23. package/bin/modules/MangementDataProvider.js.map +1 -0
  24. package/bin/modules/PipelinesDataProvider.d.ts +13 -0
  25. package/bin/modules/PipelinesDataProvider.js +103 -0
  26. package/bin/modules/PipelinesDataProvider.js.map +1 -0
  27. package/bin/modules/TestDataProvider.d.ts +24 -0
  28. package/bin/modules/TestDataProvider.js +294 -0
  29. package/bin/modules/TestDataProvider.js.map +1 -0
  30. package/bin/modules/TicketsDataProvider.d.ts +26 -0
  31. package/bin/modules/TicketsDataProvider.js +385 -0
  32. package/bin/modules/TicketsDataProvider.js.map +1 -0
  33. package/bin/modules/test/gitDataProvider.test.d.ts +1 -0
  34. package/bin/modules/test/gitDataProvider.test.js +138 -0
  35. package/bin/modules/test/gitDataProvider.test.js.map +1 -0
  36. package/bin/modules/test/managmentDataProvider.test.d.ts +1 -0
  37. package/bin/modules/test/managmentDataProvider.test.js +40 -0
  38. package/bin/modules/test/managmentDataProvider.test.js.map +1 -0
  39. package/bin/modules/test/pipelineDataProvider.test.d.ts +1 -0
  40. package/bin/modules/test/pipelineDataProvider.test.js +62 -0
  41. package/bin/modules/test/pipelineDataProvider.test.js.map +1 -0
  42. package/bin/modules/test/testDataProvider.test.d.ts +1 -0
  43. package/bin/modules/test/testDataProvider.test.js +103 -0
  44. package/bin/modules/test/testDataProvider.test.js.map +1 -0
  45. package/bin/modules/test/ticketsDataProvider.test.d.ts +1 -0
  46. package/bin/modules/test/ticketsDataProvider.test.js +103 -0
  47. package/bin/modules/test/ticketsDataProvider.test.js.map +1 -0
  48. package/bin/utils/logger.d.ts +3 -0
  49. package/bin/utils/logger.js +33 -0
  50. package/bin/utils/logger.js.map +1 -0
  51. package/enviroment.d.ts +12 -12
  52. package/package.json +53 -53
  53. package/src/helpers/helper.ts +117 -117
  54. package/src/helpers/tfs.ts +92 -92
  55. package/src/index.ts +36 -36
  56. package/src/models/tfs-data.ts +136 -136
  57. package/src/modules/GitDataProvider.ts +446 -446
  58. package/src/modules/MangementDataProvider.ts +59 -59
  59. package/src/modules/PipelinesDataProvider.ts +142 -142
  60. package/src/modules/TestDataProvider.ts +423 -423
  61. package/src/modules/TicketsDataProvider.ts +435 -435
  62. package/src/modules/test/gitDataProvider.test.ts +207 -207
  63. package/src/modules/test/managmentDataProvider.test.ts +33 -33
  64. package/src/modules/test/pipelineDataProvider.test.ts +79 -79
  65. package/src/modules/test/testDataProvider.test.ts +139 -139
  66. package/src/modules/test/ticketsDataProvider.test.ts +138 -138
  67. package/src/utils/logger.ts +37 -37
  68. package/tsconfig.json +27 -27
@@ -1,117 +1,117 @@
1
- import { Query, Workitem } from "../models/tfs-data";
2
-
3
- export class suiteData {
4
- name: string;
5
- id: string;
6
- parent: string;
7
- level: number;
8
- url: string;
9
- constructor(name: string, id: string, parent: string, level: number) {
10
- this.name = name;
11
- this.id = id;
12
- this.parent = parent;
13
- this.level = level;
14
- }
15
- }
16
- export class Relations {
17
- id: string;
18
- rels: Array<string> = new Array<string>();
19
- }
20
-
21
- export class Links {
22
- id: string;
23
- title: string;
24
- description: string;
25
- url: string;
26
- type: string;
27
- customerId: string;
28
- }
29
- export class Trace {
30
- id: string;
31
- title: string;
32
- url: string;
33
- customerId: string;
34
- links: Array<Links>;
35
- }
36
-
37
- export class Helper {
38
- static level: number = 1;
39
- static first: boolean = true;
40
- static buildSuiteslevel(dataSuites: any): any {}
41
- public static suitList: Array<suiteData> = new Array<suiteData>();
42
- public static findSuitesRecursive(
43
- planId: string,
44
- url: string,
45
- project: string,
46
- suits: any,
47
- foundId: string,
48
- recursive: boolean
49
- ): Array<suiteData> {
50
- for (let i = 0; i < suits.length; i++) {
51
- if (suits[i].parentSuiteId != 0) {
52
- if (suits[i].parentSuiteId == foundId) {
53
- let suit: suiteData = new suiteData(
54
- suits[i].title,
55
- suits[i].id,
56
- foundId,
57
- this.level++
58
- );
59
- suit.url =
60
- url +
61
- project +
62
- "/_testManagement?planId=" +
63
- planId +
64
- "&suiteId=" +
65
- suits[i].id +
66
- "&_a=tests";
67
- this.suitList.push(suit);
68
- if (recursive == false) {
69
- return this.suitList;
70
- }
71
- this.findSuitesRecursive(
72
- planId,
73
- url,
74
- project,
75
- suits,
76
- suits[i].id,
77
- true
78
- );
79
- this.level--;
80
- }
81
- } else {
82
- if (suits[i].id == foundId && Helper.first) {
83
- let suit: suiteData = new suiteData(
84
- suits[i].title,
85
- suits[i].id,
86
- foundId,
87
- this.level
88
- );
89
- suit.url = url + project + "/_workitems/edit/" + suits[i].id;
90
- Helper.first = false;
91
- if (recursive == false) {
92
- return this.suitList;
93
- }
94
- }
95
- }
96
- }
97
- return this.suitList;
98
- }
99
- public static levelList: Array<Workitem> = new Array<Workitem>();
100
- public static LevelBuilder(results: Query, foundId: string): Array<Workitem> {
101
- for (let i = 0; i < results.workItems.length; i++) {
102
- if (results.workItems[i].Source == 0) {
103
- results.workItems[i].level = 0;
104
- if (!this.levelList.includes(results.workItems[i]))
105
- this.levelList.push(results.workItems[i]);
106
- } else if (results.workItems[i].Source.toString() == foundId) {
107
- results.workItems[i].level = this.level++;
108
- this.levelList.push(results.workItems[i]);
109
-
110
- this.LevelBuilder(results, results.workItems[i].fields[0].value);
111
- this.level--;
112
- }
113
- }
114
-
115
- return this.levelList;
116
- }
117
- }
1
+ import { Query, Workitem } from "../models/tfs-data";
2
+
3
+ export class suiteData {
4
+ name: string;
5
+ id: string;
6
+ parent: string;
7
+ level: number;
8
+ url: string;
9
+ constructor(name: string, id: string, parent: string, level: number) {
10
+ this.name = name;
11
+ this.id = id;
12
+ this.parent = parent;
13
+ this.level = level;
14
+ }
15
+ }
16
+ export class Relations {
17
+ id: string;
18
+ rels: Array<string> = new Array<string>();
19
+ }
20
+
21
+ export class Links {
22
+ id: string;
23
+ title: string;
24
+ description: string;
25
+ url: string;
26
+ type: string;
27
+ customerId: string;
28
+ }
29
+ export class Trace {
30
+ id: string;
31
+ title: string;
32
+ url: string;
33
+ customerId: string;
34
+ links: Array<Links>;
35
+ }
36
+
37
+ export class Helper {
38
+ static level: number = 1;
39
+ static first: boolean = true;
40
+ static buildSuiteslevel(dataSuites: any): any {}
41
+ public static suitList: Array<suiteData> = new Array<suiteData>();
42
+ public static findSuitesRecursive(
43
+ planId: string,
44
+ url: string,
45
+ project: string,
46
+ suits: any,
47
+ foundId: string,
48
+ recursive: boolean
49
+ ): Array<suiteData> {
50
+ for (let i = 0; i < suits.length; i++) {
51
+ if (suits[i].parentSuiteId != 0) {
52
+ if (suits[i].parentSuiteId == foundId) {
53
+ let suit: suiteData = new suiteData(
54
+ suits[i].title,
55
+ suits[i].id,
56
+ foundId,
57
+ this.level++
58
+ );
59
+ suit.url =
60
+ url +
61
+ project +
62
+ "/_testManagement?planId=" +
63
+ planId +
64
+ "&suiteId=" +
65
+ suits[i].id +
66
+ "&_a=tests";
67
+ this.suitList.push(suit);
68
+ if (recursive == false) {
69
+ return this.suitList;
70
+ }
71
+ this.findSuitesRecursive(
72
+ planId,
73
+ url,
74
+ project,
75
+ suits,
76
+ suits[i].id,
77
+ true
78
+ );
79
+ this.level--;
80
+ }
81
+ } else {
82
+ if (suits[i].id == foundId && Helper.first) {
83
+ let suit: suiteData = new suiteData(
84
+ suits[i].title,
85
+ suits[i].id,
86
+ foundId,
87
+ this.level
88
+ );
89
+ suit.url = url + project + "/_workitems/edit/" + suits[i].id;
90
+ Helper.first = false;
91
+ if (recursive == false) {
92
+ return this.suitList;
93
+ }
94
+ }
95
+ }
96
+ }
97
+ return this.suitList;
98
+ }
99
+ public static levelList: Array<Workitem> = new Array<Workitem>();
100
+ public static LevelBuilder(results: Query, foundId: string): Array<Workitem> {
101
+ for (let i = 0; i < results.workItems.length; i++) {
102
+ if (results.workItems[i].Source == 0) {
103
+ results.workItems[i].level = 0;
104
+ if (!this.levelList.includes(results.workItems[i]))
105
+ this.levelList.push(results.workItems[i]);
106
+ } else if (results.workItems[i].Source.toString() == foundId) {
107
+ results.workItems[i].level = this.level++;
108
+ this.levelList.push(results.workItems[i]);
109
+
110
+ this.LevelBuilder(results, results.workItems[i].fields[0].value);
111
+ this.level--;
112
+ }
113
+ }
114
+
115
+ return this.levelList;
116
+ }
117
+ }
@@ -1,92 +1,92 @@
1
- import axios from "axios";
2
- import logger from "../utils/logger";
3
- import * as request from "request";
4
-
5
- export class TFSServices {
6
- public static async downloadZipFile(url: string, pat: string): Promise<any> {
7
- let json;
8
- try {
9
- var d = {
10
- request: {
11
- method: "getUser",
12
- auth: {
13
- username: "",
14
- password: `${pat}`,
15
- },
16
- },
17
- };
18
- let res = await request({
19
- url: url,
20
- headers: { "Content-Type": "application/zip" },
21
- auth: {
22
- username: "",
23
- password: pat,
24
- },
25
- encoding: null,
26
- });
27
- return res;
28
- } catch (e) {
29
- logger.error(`error download zip file , url : ${url}`);
30
- throw new Error(String(e));
31
- }
32
- }
33
-
34
- public static async getItemContent(
35
- url: string,
36
- pat: string,
37
- requestMethod: string = "get",
38
- data: any = {},
39
- customHeaders: any = {}
40
- ): Promise<any> {
41
- let config: any = {
42
- headers: customHeaders,
43
- method: requestMethod,
44
- auth: {
45
- username: "",
46
- password: pat,
47
- },
48
- data: data,
49
- };
50
- let json;
51
- logger.silly(`making request:
52
- url: ${url}
53
- config: ${JSON.stringify(config)}`);
54
- try {
55
- let result = await axios(url, config);
56
- json = JSON.parse(JSON.stringify(result.data));
57
- } catch (e) {
58
- logger.error(`error making request to azure devops , url : ${url}`);
59
- // logger.error(JSON.stringify(e.data));
60
- }
61
- return json;
62
- }
63
-
64
- public static async postRequest(
65
- url: string,
66
- pat: string,
67
- requestMethod: string = "post",
68
- data: any,
69
- customHeaders: any = {}
70
- ): Promise<any> {
71
- let config: any = {
72
- headers: customHeaders,
73
- method: requestMethod,
74
- auth: {
75
- username: "",
76
- password: pat,
77
- },
78
- data: data,
79
- };
80
- let result;
81
- logger.silly(`making request:
82
- url: ${url}
83
- config: ${JSON.stringify(config)}`);
84
- try {
85
- result = await axios(url, config);
86
- } catch (e) {
87
- logger.error(`error making post request to azure devops`);
88
- console.log(e);
89
- }
90
- return result;
91
- }
92
- }
1
+ import axios from "axios";
2
+ import logger from "../utils/logger";
3
+ import * as request from "request";
4
+
5
+ export class TFSServices {
6
+ public static async downloadZipFile(url: string, pat: string): Promise<any> {
7
+ let json;
8
+ try {
9
+ var d = {
10
+ request: {
11
+ method: "getUser",
12
+ auth: {
13
+ username: "",
14
+ password: `${pat}`,
15
+ },
16
+ },
17
+ };
18
+ let res = await request({
19
+ url: url,
20
+ headers: { "Content-Type": "application/zip" },
21
+ auth: {
22
+ username: "",
23
+ password: pat,
24
+ },
25
+ encoding: null,
26
+ });
27
+ return res;
28
+ } catch (e) {
29
+ logger.error(`error download zip file , url : ${url}`);
30
+ throw new Error(String(e));
31
+ }
32
+ }
33
+
34
+ public static async getItemContent(
35
+ url: string,
36
+ pat: string,
37
+ requestMethod: string = "get",
38
+ data: any = {},
39
+ customHeaders: any = {}
40
+ ): Promise<any> {
41
+ let config: any = {
42
+ headers: customHeaders,
43
+ method: requestMethod,
44
+ auth: {
45
+ username: "",
46
+ password: pat,
47
+ },
48
+ data: data,
49
+ };
50
+ let json;
51
+ logger.silly(`making request:
52
+ url: ${url}
53
+ config: ${JSON.stringify(config)}`);
54
+ try {
55
+ let result = await axios(url, config);
56
+ json = JSON.parse(JSON.stringify(result.data));
57
+ } catch (e) {
58
+ logger.error(`error making request to azure devops , url : ${url}`);
59
+ // logger.error(JSON.stringify(e.data));
60
+ }
61
+ return json;
62
+ }
63
+
64
+ public static async postRequest(
65
+ url: string,
66
+ pat: string,
67
+ requestMethod: string = "post",
68
+ data: any,
69
+ customHeaders: any = {}
70
+ ): Promise<any> {
71
+ let config: any = {
72
+ headers: customHeaders,
73
+ method: requestMethod,
74
+ auth: {
75
+ username: "",
76
+ password: pat,
77
+ },
78
+ data: data,
79
+ };
80
+ let result;
81
+ logger.silly(`making request:
82
+ url: ${url}
83
+ config: ${JSON.stringify(config)}`);
84
+ try {
85
+ result = await axios(url, config);
86
+ } catch (e) {
87
+ logger.error(`error making post request to azure devops`);
88
+ console.log(e);
89
+ }
90
+ return result;
91
+ }
92
+ }
package/src/index.ts CHANGED
@@ -1,36 +1,36 @@
1
- import MangementDataProvider from './modules/MangementDataProvider'
2
- import TicketsDataProvider from './modules/TicketsDataProvider'
3
- import GitDataProvider from "./modules/GitDataProvider";
4
- import PipelinesDataProvider from './modules/PipelinesDataProvider'
5
- import TestDataProvider from './modules/TestDataProvider'
6
-
7
- import logger from "./utils/logger";
8
-
9
- export default class DgDataProviderAzureDevOps {
10
- orgUrl: string = "";
11
- token: string = "";
12
- apiVersion: string;
13
-
14
-
15
- constructor(orgUrl: string, token: string, apiVersion?: string) {
16
- this.orgUrl = orgUrl;
17
- this.token = token;
18
- logger.info(`azure devops data provider initilized`);
19
- }
20
-
21
- async getMangementDataProvider() : Promise<MangementDataProvider> {
22
- return new MangementDataProvider(this.orgUrl, this.token);
23
- }
24
- async getTicketsDataProvider() : Promise<TicketsDataProvider> {
25
- return new TicketsDataProvider(this.orgUrl, this.token);
26
- }
27
- async getGitDataProvider() : Promise<GitDataProvider> {
28
- return new GitDataProvider(this.orgUrl, this.token);
29
- }
30
- async getPipelinesDataProvider() : Promise<PipelinesDataProvider> {
31
- return new PipelinesDataProvider(this.orgUrl, this.token);
32
- }
33
- async getTestDataProvider() : Promise<TestDataProvider> {
34
- return new TestDataProvider(this.orgUrl, this.token);
35
- }
36
- } //class
1
+ import MangementDataProvider from './modules/MangementDataProvider'
2
+ import TicketsDataProvider from './modules/TicketsDataProvider'
3
+ import GitDataProvider from "./modules/GitDataProvider";
4
+ import PipelinesDataProvider from './modules/PipelinesDataProvider'
5
+ import TestDataProvider from './modules/TestDataProvider'
6
+
7
+ import logger from "./utils/logger";
8
+
9
+ export default class DgDataProviderAzureDevOps {
10
+ orgUrl: string = "";
11
+ token: string = "";
12
+ apiVersion: string;
13
+
14
+
15
+ constructor(orgUrl: string, token: string, apiVersion?: string) {
16
+ this.orgUrl = orgUrl;
17
+ this.token = token;
18
+ logger.info(`azure devops data provider initilized`);
19
+ }
20
+
21
+ async getMangementDataProvider() : Promise<MangementDataProvider> {
22
+ return new MangementDataProvider(this.orgUrl, this.token);
23
+ }
24
+ async getTicketsDataProvider() : Promise<TicketsDataProvider> {
25
+ return new TicketsDataProvider(this.orgUrl, this.token);
26
+ }
27
+ async getGitDataProvider() : Promise<GitDataProvider> {
28
+ return new GitDataProvider(this.orgUrl, this.token);
29
+ }
30
+ async getPipelinesDataProvider() : Promise<PipelinesDataProvider> {
31
+ return new PipelinesDataProvider(this.orgUrl, this.token);
32
+ }
33
+ async getTestDataProvider() : Promise<TestDataProvider> {
34
+ return new TestDataProvider(this.orgUrl, this.token);
35
+ }
36
+ } //class