mcp4openapi 0.1.0 → 0.2.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.
- package/README.md +137 -95
- package/dist/scripts/validate-profile.js +3 -3
- package/dist/scripts/validate-profile.js.map +1 -1
- package/dist/src/composite-executor.d.ts +3 -1
- package/dist/src/composite-executor.d.ts.map +1 -1
- package/dist/src/composite-executor.js +16 -5
- package/dist/src/composite-executor.js.map +1 -1
- package/dist/src/constants.d.ts +49 -0
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +49 -0
- package/dist/src/constants.js.map +1 -1
- package/dist/src/errors.d.ts +6 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +13 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/generated-schemas.d.ts +832 -52
- package/dist/src/generated-schemas.d.ts.map +1 -1
- package/dist/src/generated-schemas.js +31 -8
- package/dist/src/generated-schemas.js.map +1 -1
- package/dist/src/http-client-factory.d.ts.map +1 -1
- package/dist/src/http-client-factory.js +14 -3
- package/dist/src/http-client-factory.js.map +1 -1
- package/dist/src/http-transport.d.ts +65 -0
- package/dist/src/http-transport.d.ts.map +1 -1
- package/dist/src/http-transport.js +921 -77
- package/dist/src/http-transport.js.map +1 -1
- package/dist/src/index.js +108 -8
- package/dist/src/index.js.map +1 -1
- package/dist/src/interceptors.d.ts +3 -0
- package/dist/src/interceptors.d.ts.map +1 -1
- package/dist/src/interceptors.js +76 -8
- package/dist/src/interceptors.js.map +1 -1
- package/dist/src/logger.d.ts +1 -1
- package/dist/src/logger.js +3 -3
- package/dist/src/logger.js.map +1 -1
- package/dist/src/mcp-server.d.ts +33 -0
- package/dist/src/mcp-server.d.ts.map +1 -1
- package/dist/src/mcp-server.js +263 -54
- package/dist/src/mcp-server.js.map +1 -1
- package/dist/src/oauth-provider.d.ts +92 -0
- package/dist/src/oauth-provider.d.ts.map +1 -0
- package/dist/src/oauth-provider.js +588 -0
- package/dist/src/oauth-provider.js.map +1 -0
- package/dist/src/openapi-parser.d.ts +16 -0
- package/dist/src/openapi-parser.d.ts.map +1 -1
- package/dist/src/openapi-parser.js +141 -6
- package/dist/src/openapi-parser.js.map +1 -1
- package/dist/src/profile-loader.d.ts +2 -2
- package/dist/src/profile-loader.d.ts.map +1 -1
- package/dist/src/profile-loader.js +45 -24
- package/dist/src/profile-loader.js.map +1 -1
- package/dist/src/testing/fixtures.d.ts +189 -0
- package/dist/src/testing/fixtures.d.ts.map +1 -1
- package/dist/src/testing/fixtures.js +144 -0
- package/dist/src/testing/fixtures.js.map +1 -1
- package/dist/src/testing/mock-gitlab-server.d.ts +26 -17
- package/dist/src/testing/mock-gitlab-server.d.ts.map +1 -1
- package/dist/src/testing/mock-gitlab-server.js +567 -304
- package/dist/src/testing/mock-gitlab-server.js.map +1 -1
- package/dist/src/types/http-transport.d.ts +16 -0
- package/dist/src/types/http-transport.d.ts.map +1 -1
- package/dist/src/types/openapi.d.ts +5 -0
- package/dist/src/types/openapi.d.ts.map +1 -1
- package/dist/src/types/profile.d.ts +112 -3
- package/dist/src/types/profile.d.ts.map +1 -1
- package/dist/src/validation-utils.d.ts +12 -0
- package/dist/src/validation-utils.d.ts.map +1 -1
- package/dist/src/validation-utils.js +17 -0
- package/dist/src/validation-utils.js.map +1 -1
- package/package.json +12 -3
- package/profile-schema.json +169 -7
- package/dist/composite-executor.d.ts +0 -65
- package/dist/composite-executor.d.ts.map +0 -1
- package/dist/composite-executor.js +0 -147
- package/dist/composite-executor.js.map +0 -1
- package/dist/constants.d.ts +0 -36
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -36
- package/dist/constants.js.map +0 -1
- package/dist/http-transport.d.ts +0 -195
- package/dist/http-transport.d.ts.map +0 -1
- package/dist/http-transport.js +0 -760
- package/dist/http-transport.js.map +0 -1
- package/dist/interceptors.d.ts +0 -74
- package/dist/interceptors.d.ts.map +0 -1
- package/dist/interceptors.js +0 -220
- package/dist/interceptors.js.map +0 -1
- package/dist/logger.d.ts +0 -81
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -264
- package/dist/logger.js.map +0 -1
- package/dist/mcp-server.d.ts +0 -110
- package/dist/mcp-server.d.ts.map +0 -1
- package/dist/mcp-server.js +0 -568
- package/dist/mcp-server.js.map +0 -1
- package/dist/metrics.d.ts +0 -86
- package/dist/metrics.d.ts.map +0 -1
- package/dist/metrics.js +0 -229
- package/dist/metrics.js.map +0 -1
- package/dist/openapi-parser.d.ts +0 -35
- package/dist/openapi-parser.d.ts.map +0 -1
- package/dist/openapi-parser.js +0 -160
- package/dist/openapi-parser.js.map +0 -1
- package/dist/profile-loader.d.ts +0 -25
- package/dist/profile-loader.d.ts.map +0 -1
- package/dist/profile-loader.js +0 -134
- package/dist/profile-loader.js.map +0 -1
- package/dist/schema-validator.d.ts +0 -32
- package/dist/schema-validator.d.ts.map +0 -1
- package/dist/schema-validator.js +0 -126
- package/dist/schema-validator.js.map +0 -1
- package/dist/testing/fixtures.d.ts +0 -186
- package/dist/testing/fixtures.d.ts.map +0 -1
- package/dist/testing/fixtures.js +0 -135
- package/dist/testing/fixtures.js.map +0 -1
- package/dist/testing/http-integration.test.d.ts +0 -7
- package/dist/testing/http-integration.test.d.ts.map +0 -1
- package/dist/testing/http-integration.test.js +0 -383
- package/dist/testing/http-integration.test.js.map +0 -1
- package/dist/testing/http-multiuser.test.d.ts +0 -10
- package/dist/testing/http-multiuser.test.d.ts.map +0 -1
- package/dist/testing/http-multiuser.test.js +0 -255
- package/dist/testing/http-multiuser.test.js.map +0 -1
- package/dist/testing/integration.test.d.ts +0 -8
- package/dist/testing/integration.test.d.ts.map +0 -1
- package/dist/testing/integration.test.js +0 -247
- package/dist/testing/integration.test.js.map +0 -1
- package/dist/testing/mock-gitlab-server.d.ts +0 -34
- package/dist/testing/mock-gitlab-server.d.ts.map +0 -1
- package/dist/testing/mock-gitlab-server.js +0 -224
- package/dist/testing/mock-gitlab-server.js.map +0 -1
- package/dist/testing/test-types.d.ts +0 -59
- package/dist/testing/test-types.d.ts.map +0 -1
- package/dist/testing/test-types.js +0 -7
- package/dist/testing/test-types.js.map +0 -1
- package/dist/tool-generator.d.ts +0 -43
- package/dist/tool-generator.d.ts.map +0 -1
- package/dist/tool-generator.js +0 -123
- package/dist/tool-generator.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/types/http-transport.d.ts +0 -39
- package/dist/types/http-transport.d.ts.map +0 -1
- package/dist/types/http-transport.js +0 -8
- package/dist/types/http-transport.js.map +0 -1
- package/dist/types/openapi.d.ts +0 -50
- package/dist/types/openapi.d.ts.map +0 -1
- package/dist/types/openapi.js +0 -9
- package/dist/types/openapi.js.map +0 -1
- package/dist/types/profile.d.ts +0 -76
- package/dist/types/profile.d.ts.map +0 -1
- package/dist/types/profile.js +0 -9
- package/dist/types/profile.js.map +0 -1
package/dist/schema-validator.js
DELETED
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Request body schema validator
|
|
3
|
-
*
|
|
4
|
-
* Why: Catch invalid requests before sending to API. Better error messages for users.
|
|
5
|
-
* Validates against OpenAPI schema definitions.
|
|
6
|
-
*/
|
|
7
|
-
export class SchemaValidator {
|
|
8
|
-
/**
|
|
9
|
-
* Validate request body against OpenAPI schema
|
|
10
|
-
*
|
|
11
|
-
* Why: Prevents sending malformed requests. OpenAPI schema is the source of truth.
|
|
12
|
-
*/
|
|
13
|
-
validateRequestBody(operation, body) {
|
|
14
|
-
if (!operation.requestBody?.content['application/json']?.schema) {
|
|
15
|
-
return { valid: true };
|
|
16
|
-
}
|
|
17
|
-
const schema = operation.requestBody.content['application/json'].schema;
|
|
18
|
-
const errors = [];
|
|
19
|
-
this.validateAgainstSchema(body, schema, '', errors);
|
|
20
|
-
return {
|
|
21
|
-
valid: errors.length === 0,
|
|
22
|
-
errors: errors.length > 0 ? errors : undefined,
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Recursively validate data against schema
|
|
27
|
-
*/
|
|
28
|
-
validateAgainstSchema(data, schema, path, errors) {
|
|
29
|
-
// Null/undefined handling
|
|
30
|
-
if (data === null || data === undefined) {
|
|
31
|
-
if (schema.type && schema.type !== 'null') {
|
|
32
|
-
errors.push({
|
|
33
|
-
path: path || '(root)',
|
|
34
|
-
message: `Expected ${schema.type}, got ${data}`,
|
|
35
|
-
schema,
|
|
36
|
-
value: data,
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
// Type validation
|
|
42
|
-
if (schema.type) {
|
|
43
|
-
const actualType = Array.isArray(data) ? 'array' : typeof data;
|
|
44
|
-
if (actualType !== schema.type) {
|
|
45
|
-
errors.push({
|
|
46
|
-
path: path || '(root)',
|
|
47
|
-
message: `Expected ${schema.type}, got ${actualType}`,
|
|
48
|
-
schema,
|
|
49
|
-
value: data,
|
|
50
|
-
});
|
|
51
|
-
return; // Stop validation if type is wrong
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
// Enum validation
|
|
55
|
-
// Note: Using 'as any' here is safe - we're checking if value exists in enum array
|
|
56
|
-
// TypeScript doesn't know the enum values at compile time
|
|
57
|
-
if (schema.enum && !schema.enum.includes(data)) {
|
|
58
|
-
errors.push({
|
|
59
|
-
path: path || '(root)',
|
|
60
|
-
message: `Value must be one of: ${schema.enum.join(', ')}`,
|
|
61
|
-
schema,
|
|
62
|
-
value: data,
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
// Object properties validation
|
|
66
|
-
if (schema.type === 'object' && schema.properties) {
|
|
67
|
-
const obj = data;
|
|
68
|
-
// Check required properties
|
|
69
|
-
for (const required of schema.required || []) {
|
|
70
|
-
if (obj[required] === undefined) {
|
|
71
|
-
errors.push({
|
|
72
|
-
path: path ? `${path}.${required}` : required,
|
|
73
|
-
message: 'Required property is missing',
|
|
74
|
-
schema,
|
|
75
|
-
value: undefined,
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
// Validate each property
|
|
80
|
-
for (const [key, value] of Object.entries(obj)) {
|
|
81
|
-
if (schema.properties[key]) {
|
|
82
|
-
this.validateAgainstSchema(value, schema.properties[key], path ? `${path}.${key}` : key, errors);
|
|
83
|
-
}
|
|
84
|
-
// Note: Not validating additionalProperties (too strict for most APIs)
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
// Array items validation
|
|
88
|
-
if (schema.type === 'array' && schema.items && Array.isArray(data)) {
|
|
89
|
-
data.forEach((item, index) => {
|
|
90
|
-
this.validateAgainstSchema(item, schema.items, `${path}[${index}]`, errors);
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
// String format validation (basic)
|
|
94
|
-
if (schema.type === 'string' && schema.format && typeof data === 'string') {
|
|
95
|
-
if (schema.format === 'email' && !this.isEmail(data)) {
|
|
96
|
-
errors.push({
|
|
97
|
-
path: path || '(root)',
|
|
98
|
-
message: 'Invalid email format',
|
|
99
|
-
schema,
|
|
100
|
-
value: data,
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
if (schema.format === 'uri' && !this.isUri(data)) {
|
|
104
|
-
errors.push({
|
|
105
|
-
path: path || '(root)',
|
|
106
|
-
message: 'Invalid URI format',
|
|
107
|
-
schema,
|
|
108
|
-
value: data,
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
isEmail(value) {
|
|
114
|
-
return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value);
|
|
115
|
-
}
|
|
116
|
-
isUri(value) {
|
|
117
|
-
try {
|
|
118
|
-
new URL(value);
|
|
119
|
-
return true;
|
|
120
|
-
}
|
|
121
|
-
catch {
|
|
122
|
-
return false;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
//# sourceMappingURL=schema-validator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../src/schema-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Mock response fixtures for GitLab API
|
|
3
|
-
*
|
|
4
|
-
* Why: Realistic test data based on actual GitLab API responses.
|
|
5
|
-
* Enables integration tests without real API calls.
|
|
6
|
-
*/
|
|
7
|
-
export declare const mockBadge: {
|
|
8
|
-
id: number;
|
|
9
|
-
name: string;
|
|
10
|
-
link_url: string;
|
|
11
|
-
image_url: string;
|
|
12
|
-
rendered_link_url: string;
|
|
13
|
-
rendered_image_url: string;
|
|
14
|
-
kind: string;
|
|
15
|
-
};
|
|
16
|
-
export declare const mockBadgesList: {
|
|
17
|
-
id: number;
|
|
18
|
-
name: string;
|
|
19
|
-
link_url: string;
|
|
20
|
-
image_url: string;
|
|
21
|
-
rendered_link_url: string;
|
|
22
|
-
rendered_image_url: string;
|
|
23
|
-
kind: string;
|
|
24
|
-
}[];
|
|
25
|
-
export declare const mockBranch: {
|
|
26
|
-
name: string;
|
|
27
|
-
commit: {
|
|
28
|
-
id: string;
|
|
29
|
-
short_id: string;
|
|
30
|
-
created_at: string;
|
|
31
|
-
parent_ids: string[];
|
|
32
|
-
title: string;
|
|
33
|
-
message: string;
|
|
34
|
-
author_name: string;
|
|
35
|
-
author_email: string;
|
|
36
|
-
authored_date: string;
|
|
37
|
-
committer_name: string;
|
|
38
|
-
committer_email: string;
|
|
39
|
-
committed_date: string;
|
|
40
|
-
};
|
|
41
|
-
merged: boolean;
|
|
42
|
-
protected: boolean;
|
|
43
|
-
developers_can_push: boolean;
|
|
44
|
-
developers_can_merge: boolean;
|
|
45
|
-
can_push: boolean;
|
|
46
|
-
default: boolean;
|
|
47
|
-
web_url: string;
|
|
48
|
-
};
|
|
49
|
-
export declare const mockBranchesList: ({
|
|
50
|
-
name: string;
|
|
51
|
-
commit: {
|
|
52
|
-
id: string;
|
|
53
|
-
short_id: string;
|
|
54
|
-
created_at: string;
|
|
55
|
-
parent_ids: string[];
|
|
56
|
-
title: string;
|
|
57
|
-
message: string;
|
|
58
|
-
author_name: string;
|
|
59
|
-
author_email: string;
|
|
60
|
-
authored_date: string;
|
|
61
|
-
committer_name: string;
|
|
62
|
-
committer_email: string;
|
|
63
|
-
committed_date: string;
|
|
64
|
-
};
|
|
65
|
-
merged: boolean;
|
|
66
|
-
protected: boolean;
|
|
67
|
-
developers_can_push: boolean;
|
|
68
|
-
developers_can_merge: boolean;
|
|
69
|
-
can_push: boolean;
|
|
70
|
-
default: boolean;
|
|
71
|
-
web_url: string;
|
|
72
|
-
} | {
|
|
73
|
-
name: string;
|
|
74
|
-
commit: {
|
|
75
|
-
id: string;
|
|
76
|
-
short_id: string;
|
|
77
|
-
title: string;
|
|
78
|
-
message: string;
|
|
79
|
-
author_name: string;
|
|
80
|
-
author_email: string;
|
|
81
|
-
};
|
|
82
|
-
merged: boolean;
|
|
83
|
-
protected: boolean;
|
|
84
|
-
default: boolean;
|
|
85
|
-
})[];
|
|
86
|
-
export declare const mockJob: {
|
|
87
|
-
id: number;
|
|
88
|
-
name: string;
|
|
89
|
-
status: string;
|
|
90
|
-
stage: string;
|
|
91
|
-
created_at: string;
|
|
92
|
-
started_at: string;
|
|
93
|
-
finished_at: string;
|
|
94
|
-
commit: {
|
|
95
|
-
id: string;
|
|
96
|
-
short_id: string;
|
|
97
|
-
title: string;
|
|
98
|
-
};
|
|
99
|
-
archived: boolean;
|
|
100
|
-
allow_failure: boolean;
|
|
101
|
-
duration: number;
|
|
102
|
-
queued_duration: number;
|
|
103
|
-
ref: string;
|
|
104
|
-
artifacts: any[];
|
|
105
|
-
tag: boolean;
|
|
106
|
-
web_url: string;
|
|
107
|
-
project: {
|
|
108
|
-
ci_job_token_scope_enabled: boolean;
|
|
109
|
-
};
|
|
110
|
-
user: {
|
|
111
|
-
id: number;
|
|
112
|
-
username: string;
|
|
113
|
-
name: string;
|
|
114
|
-
state: string;
|
|
115
|
-
avatar_url: string;
|
|
116
|
-
web_url: string;
|
|
117
|
-
};
|
|
118
|
-
};
|
|
119
|
-
export declare const mockJobsList: ({
|
|
120
|
-
id: number;
|
|
121
|
-
name: string;
|
|
122
|
-
status: string;
|
|
123
|
-
stage: string;
|
|
124
|
-
created_at: string;
|
|
125
|
-
started_at: string;
|
|
126
|
-
finished_at: string;
|
|
127
|
-
commit: {
|
|
128
|
-
id: string;
|
|
129
|
-
short_id: string;
|
|
130
|
-
title: string;
|
|
131
|
-
};
|
|
132
|
-
archived: boolean;
|
|
133
|
-
allow_failure: boolean;
|
|
134
|
-
duration: number;
|
|
135
|
-
queued_duration: number;
|
|
136
|
-
ref: string;
|
|
137
|
-
artifacts: any[];
|
|
138
|
-
tag: boolean;
|
|
139
|
-
web_url: string;
|
|
140
|
-
project: {
|
|
141
|
-
ci_job_token_scope_enabled: boolean;
|
|
142
|
-
};
|
|
143
|
-
user: {
|
|
144
|
-
id: number;
|
|
145
|
-
username: string;
|
|
146
|
-
name: string;
|
|
147
|
-
state: string;
|
|
148
|
-
avatar_url: string;
|
|
149
|
-
web_url: string;
|
|
150
|
-
};
|
|
151
|
-
} | {
|
|
152
|
-
id: number;
|
|
153
|
-
name: string;
|
|
154
|
-
status: string;
|
|
155
|
-
stage: string;
|
|
156
|
-
created_at: string;
|
|
157
|
-
started_at: string;
|
|
158
|
-
finished_at: string;
|
|
159
|
-
allow_failure: boolean;
|
|
160
|
-
})[];
|
|
161
|
-
export declare const mockAccessRequest: {
|
|
162
|
-
id: number;
|
|
163
|
-
username: string;
|
|
164
|
-
name: string;
|
|
165
|
-
state: string;
|
|
166
|
-
created_at: string;
|
|
167
|
-
requested_at: string;
|
|
168
|
-
access_level: number;
|
|
169
|
-
};
|
|
170
|
-
export declare const mockAccessRequestsList: ({
|
|
171
|
-
id: number;
|
|
172
|
-
username: string;
|
|
173
|
-
name: string;
|
|
174
|
-
state: string;
|
|
175
|
-
created_at: string;
|
|
176
|
-
requested_at: string;
|
|
177
|
-
access_level: number;
|
|
178
|
-
} | {
|
|
179
|
-
id: number;
|
|
180
|
-
username: string;
|
|
181
|
-
name: string;
|
|
182
|
-
state: string;
|
|
183
|
-
created_at: string;
|
|
184
|
-
requested_at: string;
|
|
185
|
-
})[];
|
|
186
|
-
//# sourceMappingURL=fixtures.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/testing/fixtures.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,SAAS;;;;;;;;CAQrB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;GAW1B,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;CAuBtB,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgB5B,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCnB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYxB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;CAQ7B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;IAUlC,CAAC"}
|
package/dist/testing/fixtures.js
DELETED
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Mock response fixtures for GitLab API
|
|
3
|
-
*
|
|
4
|
-
* Why: Realistic test data based on actual GitLab API responses.
|
|
5
|
-
* Enables integration tests without real API calls.
|
|
6
|
-
*/
|
|
7
|
-
export const mockBadge = {
|
|
8
|
-
id: 1,
|
|
9
|
-
name: 'Coverage',
|
|
10
|
-
link_url: 'https://example.com/coverage',
|
|
11
|
-
image_url: 'https://shields.io/badge/coverage-95%25-green',
|
|
12
|
-
rendered_link_url: 'https://example.com/coverage',
|
|
13
|
-
rendered_image_url: 'https://shields.io/badge/coverage-95%25-green',
|
|
14
|
-
kind: 'project',
|
|
15
|
-
};
|
|
16
|
-
export const mockBadgesList = [
|
|
17
|
-
mockBadge,
|
|
18
|
-
{
|
|
19
|
-
id: 2,
|
|
20
|
-
name: 'Pipeline',
|
|
21
|
-
link_url: 'https://gitlab.com/my-org/my-project/pipelines',
|
|
22
|
-
image_url: 'https://gitlab.com/my-org/my-project/badges/main/pipeline.svg',
|
|
23
|
-
rendered_link_url: 'https://gitlab.com/my-org/my-project/pipelines',
|
|
24
|
-
rendered_image_url: 'https://gitlab.com/my-org/my-project/badges/main/pipeline.svg',
|
|
25
|
-
kind: 'project',
|
|
26
|
-
},
|
|
27
|
-
];
|
|
28
|
-
export const mockBranch = {
|
|
29
|
-
name: 'main',
|
|
30
|
-
commit: {
|
|
31
|
-
id: '2695effb5807a22ff3d138d593fd856244e155e7',
|
|
32
|
-
short_id: '2695effb',
|
|
33
|
-
created_at: '2017-07-26T11:08:53+02:00',
|
|
34
|
-
parent_ids: ['2a4b78934375d7f53875269ffd4f45fd83a84ebe'],
|
|
35
|
-
title: 'Initial commit',
|
|
36
|
-
message: 'Initial commit',
|
|
37
|
-
author_name: 'John Smith',
|
|
38
|
-
author_email: 'john@example.com',
|
|
39
|
-
authored_date: '2012-05-28T04:42:42-07:00',
|
|
40
|
-
committer_name: 'Jack Smith',
|
|
41
|
-
committer_email: 'jack@example.com',
|
|
42
|
-
committed_date: '2012-05-28T04:42:42-07:00',
|
|
43
|
-
},
|
|
44
|
-
merged: false,
|
|
45
|
-
protected: true,
|
|
46
|
-
developers_can_push: false,
|
|
47
|
-
developers_can_merge: true,
|
|
48
|
-
can_push: true,
|
|
49
|
-
default: true,
|
|
50
|
-
web_url: 'https://gitlab.com/my-org/my-project/-/tree/main',
|
|
51
|
-
};
|
|
52
|
-
export const mockBranchesList = [
|
|
53
|
-
mockBranch,
|
|
54
|
-
{
|
|
55
|
-
name: 'feature/new-feature',
|
|
56
|
-
commit: {
|
|
57
|
-
id: '3695effb5807a22ff3d138d593fd856244e155e8',
|
|
58
|
-
short_id: '3695effb',
|
|
59
|
-
title: 'Add new feature',
|
|
60
|
-
message: 'Add new feature',
|
|
61
|
-
author_name: 'Jane Doe',
|
|
62
|
-
author_email: 'jane@example.com',
|
|
63
|
-
},
|
|
64
|
-
merged: false,
|
|
65
|
-
protected: false,
|
|
66
|
-
default: false,
|
|
67
|
-
},
|
|
68
|
-
];
|
|
69
|
-
export const mockJob = {
|
|
70
|
-
id: 1234,
|
|
71
|
-
name: 'test:unit',
|
|
72
|
-
status: 'success',
|
|
73
|
-
stage: 'test',
|
|
74
|
-
created_at: '2016-01-11T10:13:33.506Z',
|
|
75
|
-
started_at: '2016-01-11T10:14:33.506Z',
|
|
76
|
-
finished_at: '2016-01-11T10:15:33.506Z',
|
|
77
|
-
commit: {
|
|
78
|
-
id: '2695effb5807a22ff3d138d593fd856244e155e7',
|
|
79
|
-
short_id: '2695effb',
|
|
80
|
-
title: 'Initial commit',
|
|
81
|
-
},
|
|
82
|
-
archived: false,
|
|
83
|
-
allow_failure: false,
|
|
84
|
-
duration: 60,
|
|
85
|
-
queued_duration: 1.5,
|
|
86
|
-
ref: 'main',
|
|
87
|
-
artifacts: [],
|
|
88
|
-
tag: false,
|
|
89
|
-
web_url: 'https://gitlab.com/my-org/my-project/-/jobs/1234',
|
|
90
|
-
project: {
|
|
91
|
-
ci_job_token_scope_enabled: false,
|
|
92
|
-
},
|
|
93
|
-
user: {
|
|
94
|
-
id: 1,
|
|
95
|
-
username: 'admin',
|
|
96
|
-
name: 'Administrator',
|
|
97
|
-
state: 'active',
|
|
98
|
-
avatar_url: 'https://gravatar.com/avatar/1',
|
|
99
|
-
web_url: 'https://gitlab.com/admin',
|
|
100
|
-
},
|
|
101
|
-
};
|
|
102
|
-
export const mockJobsList = [
|
|
103
|
-
mockJob,
|
|
104
|
-
{
|
|
105
|
-
id: 1235,
|
|
106
|
-
name: 'test:integration',
|
|
107
|
-
status: 'failed',
|
|
108
|
-
stage: 'test',
|
|
109
|
-
created_at: '2016-01-11T10:13:33.506Z',
|
|
110
|
-
started_at: '2016-01-11T10:14:33.506Z',
|
|
111
|
-
finished_at: '2016-01-11T10:16:33.506Z',
|
|
112
|
-
allow_failure: false,
|
|
113
|
-
},
|
|
114
|
-
];
|
|
115
|
-
export const mockAccessRequest = {
|
|
116
|
-
id: 1,
|
|
117
|
-
username: 'raymond_smith',
|
|
118
|
-
name: 'Raymond Smith',
|
|
119
|
-
state: 'active',
|
|
120
|
-
created_at: '2012-10-22T14:13:35Z',
|
|
121
|
-
requested_at: '2012-10-22T14:13:35Z',
|
|
122
|
-
access_level: 30,
|
|
123
|
-
};
|
|
124
|
-
export const mockAccessRequestsList = [
|
|
125
|
-
mockAccessRequest,
|
|
126
|
-
{
|
|
127
|
-
id: 2,
|
|
128
|
-
username: 'john_doe',
|
|
129
|
-
name: 'John Doe',
|
|
130
|
-
state: 'active',
|
|
131
|
-
created_at: '2012-10-23T14:13:35Z',
|
|
132
|
-
requested_at: '2012-10-23T14:13:35Z',
|
|
133
|
-
},
|
|
134
|
-
];
|
|
135
|
-
//# sourceMappingURL=fixtures.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/testing/fixtures.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-integration.test.d.ts","sourceRoot":"","sources":["../../src/testing/http-integration.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|