@dichovsky/testrail-api-client 1.0.0

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.
@@ -0,0 +1,15 @@
1
+ // Retry backoff bounds
2
+ export const BASE_RETRY_DELAY_MS = 1000;
3
+ export const MAX_RETRY_DELAY_MS = 10000;
4
+
5
+ /** Maximum allowed request timeout: 5 minutes */
6
+ export const MAX_TIMEOUT_MS = 5 * 60 * 1000;
7
+
8
+ // TestRailConfig defaults
9
+ export const DEFAULT_TIMEOUT_MS = 30000;
10
+ export const DEFAULT_MAX_RETRIES = 3;
11
+ export const DEFAULT_CACHE_TTL_MS = 300000; // 5 minutes
12
+ export const DEFAULT_CACHE_CLEANUP_INTERVAL_MS = 60000; // 1 minute
13
+ export const DEFAULT_MAX_CACHE_SIZE = 1000;
14
+ export const DEFAULT_RATE_LIMIT_MAX_REQUESTS = 100;
15
+ export const DEFAULT_RATE_LIMIT_WINDOW_MS = 60000; // 1 minute
package/src/errors.ts ADDED
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Thrown when the TestRail API returns a non-2xx response or a network error occurs.
3
+ *
4
+ * @property status - HTTP status code (if available)
5
+ * @property statusText - HTTP status text (if available)
6
+ * @property response - Raw response body (if available)
7
+ */
8
+ export class TestRailApiError extends Error {
9
+ constructor(
10
+ message: string,
11
+ public readonly status?: number,
12
+ public readonly statusText?: string,
13
+ public readonly response?: string,
14
+ ) {
15
+ super(message);
16
+ this.name = 'TestRailApiError';
17
+ }
18
+ }
19
+
20
+ /**
21
+ * Thrown when client configuration or method parameters fail validation.
22
+ */
23
+ export class TestRailValidationError extends Error {
24
+ constructor(message: string) {
25
+ super(message);
26
+ this.name = 'TestRailValidationError';
27
+ }
28
+ }
package/src/index.ts ADDED
@@ -0,0 +1,74 @@
1
+ export { TestRailClient } from './client.js';
2
+ export { TestRailApiError, TestRailValidationError } from './errors.js';
3
+ export type {
4
+ TestRailConfig,
5
+ RateLimiterConfig,
6
+ Case,
7
+ Suite,
8
+ AddSuitePayload,
9
+ UpdateSuitePayload,
10
+ Section,
11
+ Project,
12
+ Plan,
13
+ PlanEntry,
14
+ Run,
15
+ Test,
16
+ Result,
17
+ Milestone,
18
+ User,
19
+ Status,
20
+ Priority,
21
+ AddCasePayload,
22
+ UpdateCasePayload,
23
+ AddPlanPayload,
24
+ UpdatePlanPayload,
25
+ AddPlanEntryPayload,
26
+ UpdatePlanEntryPayload,
27
+ AddRunPayload,
28
+ UpdateRunPayload,
29
+ AddResultPayload,
30
+ AddResultsForCasesPayload,
31
+ AddResultForCasePayload,
32
+ AddSectionPayload,
33
+ UpdateSectionPayload,
34
+ AddMilestonePayload,
35
+ UpdateMilestonePayload,
36
+ AddProjectPayload,
37
+ UpdateProjectPayload,
38
+ GetCasesOptions,
39
+ GetPlansOptions,
40
+ GetTestsOptions,
41
+ GetResultsOptions,
42
+ GetMilestonesOptions,
43
+ GetRunsOptions,
44
+ ResultField,
45
+ ResultFieldConfig,
46
+ CaseField,
47
+ CaseFieldConfig,
48
+ CaseType,
49
+ Template,
50
+ ConfigurationGroup,
51
+ Configuration,
52
+ AddConfigurationGroupPayload,
53
+ UpdateConfigurationGroupPayload,
54
+ AddConfigurationPayload,
55
+ UpdateConfigurationPayload,
56
+ AddUserPayload,
57
+ UpdateUserPayload,
58
+ Role,
59
+ Group,
60
+ AddGroupPayload,
61
+ UpdateGroupPayload,
62
+ Attachment,
63
+ SharedStep,
64
+ AddSharedStepPayload,
65
+ UpdateSharedStepPayload,
66
+ Variable,
67
+ AddVariablePayload,
68
+ UpdateVariablePayload,
69
+ Dataset,
70
+ AddDatasetPayload,
71
+ UpdateDatasetPayload,
72
+ Report,
73
+ ReportResult,
74
+ } from './types.js';