@memberjunction/core 2.123.1 → 2.125.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.
- package/dist/__tests__/mocks/TestMetadataProvider.d.ts +43 -0
- package/dist/__tests__/mocks/TestMetadataProvider.d.ts.map +1 -0
- package/dist/__tests__/mocks/TestMetadataProvider.js +211 -0
- package/dist/__tests__/mocks/TestMetadataProvider.js.map +1 -0
- package/dist/__tests__/providerBase.concurrency.test.d.ts +10 -0
- package/dist/__tests__/providerBase.concurrency.test.d.ts.map +1 -0
- package/dist/__tests__/providerBase.concurrency.test.js +253 -0
- package/dist/__tests__/providerBase.concurrency.test.js.map +1 -0
- package/dist/__tests__/providerBase.refresh.test.d.ts +10 -0
- package/dist/__tests__/providerBase.refresh.test.d.ts.map +1 -0
- package/dist/__tests__/providerBase.refresh.test.js +161 -0
- package/dist/__tests__/providerBase.refresh.test.js.map +1 -0
- package/dist/__tests__/setup.d.ts +5 -0
- package/dist/__tests__/setup.d.ts.map +1 -0
- package/dist/__tests__/setup.js +17 -0
- package/dist/__tests__/setup.js.map +1 -0
- package/dist/generic/providerBase.d.ts.map +1 -1
- package/dist/generic/providerBase.js +10 -3
- package/dist/generic/providerBase.js.map +1 -1
- package/package.json +11 -4
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test Mock for ProviderBase
|
|
3
|
+
* Provides minimal implementation for testing metadata refresh logic
|
|
4
|
+
* Does NOT require database connection
|
|
5
|
+
*/
|
|
6
|
+
import { ProviderBase } from '../../generic/providerBase';
|
|
7
|
+
import { IMetadataProvider, ProviderType, PotentialDuplicateRequest, PotentialDuplicateResponse, DatasetResultType, DatasetStatusResultType, DatasetItemFilterType, ILocalStorageProvider, EntityMergeOptions } from '../../generic/interfaces';
|
|
8
|
+
import { UserInfo } from '../../generic/securityInfo';
|
|
9
|
+
import { RecordDependency, RecordMergeRequest, RecordMergeResult } from '../../generic/entityInfo';
|
|
10
|
+
import { CompositeKey } from '../../generic/compositeKey';
|
|
11
|
+
import { TransactionGroupBase } from '../../generic/transactionGroup';
|
|
12
|
+
export declare class TestMetadataProvider extends ProviderBase {
|
|
13
|
+
private _allowRefresh;
|
|
14
|
+
private _mockMetadata;
|
|
15
|
+
private _getMetadataCallCount;
|
|
16
|
+
private _mockDelay;
|
|
17
|
+
constructor();
|
|
18
|
+
protected get AllowRefresh(): boolean;
|
|
19
|
+
setAllowRefresh(value: boolean): void;
|
|
20
|
+
get ProviderType(): ProviderType;
|
|
21
|
+
get DatabaseConnection(): any;
|
|
22
|
+
getCallCount(): number;
|
|
23
|
+
resetCallCount(): void;
|
|
24
|
+
setMockDelay(ms: number): void;
|
|
25
|
+
setMockMetadata(metadata: any): void;
|
|
26
|
+
GetEntityRecordName(): Promise<string>;
|
|
27
|
+
GetEntityRecordNames(): Promise<any[]>;
|
|
28
|
+
GetRecordFavoriteStatus(): Promise<boolean>;
|
|
29
|
+
SetRecordFavoriteStatus(): Promise<void>;
|
|
30
|
+
RunView(): Promise<any>;
|
|
31
|
+
RunViews(): Promise<any[]>;
|
|
32
|
+
protected GetCurrentUser(): Promise<UserInfo>;
|
|
33
|
+
GetRecordDependencies(entityName: string, compositeKey: CompositeKey, contextUser?: UserInfo): Promise<RecordDependency[]>;
|
|
34
|
+
GetRecordDuplicates(params: PotentialDuplicateRequest, contextUser?: UserInfo): Promise<PotentialDuplicateResponse>;
|
|
35
|
+
MergeRecords(request: RecordMergeRequest, contextUser?: UserInfo, options?: EntityMergeOptions): Promise<RecordMergeResult>;
|
|
36
|
+
GetDatasetByName(datasetName: string, itemFilters?: DatasetItemFilterType[], contextUser?: UserInfo, providerToUse?: IMetadataProvider): Promise<DatasetResultType>;
|
|
37
|
+
GetDatasetStatusByName(datasetName: string, itemFilters?: DatasetItemFilterType[], contextUser?: UserInfo, providerToUse?: IMetadataProvider): Promise<DatasetStatusResultType>;
|
|
38
|
+
get InstanceConnectionString(): string;
|
|
39
|
+
CreateTransactionGroup(): Promise<TransactionGroupBase>;
|
|
40
|
+
get LocalStorageProvider(): ILocalStorageProvider;
|
|
41
|
+
protected get Metadata(): IMetadataProvider;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=TestMetadataProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestMetadataProvider.d.ts","sourceRoot":"","sources":["../../../src/__tests__/mocks/TestMetadataProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EACH,iBAAiB,EACjB,YAAY,EACZ,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAErB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,qBAAa,oBAAqB,SAAQ,YAAY;IAClD,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,UAAU,CAAO;;IAMzB,SAAS,KAAK,YAAY,IAAI,OAAO,CAEpC;IAEM,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAI5C,IAAW,YAAY,IAAI,YAAY,CAEtC;IAED,IAAW,kBAAkB,IAAI,GAAG,CAEnC;IAEM,YAAY,IAAI,MAAM;IAItB,cAAc,IAAI,IAAI;IAItB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI9B,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI;IAQ9B,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAItC,oBAAoB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAItC,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3C,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;IAIvB,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;cAKvB,cAAc,IAAI,OAAO,CAAC,QAAQ,CAAC;IAYtC,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAI1H,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAOnH,YAAY,CAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAU3H,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,qBAAqB,EAAE,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA0FnK,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,qBAAqB,EAAE,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAW5L,IAAW,wBAAwB,IAAI,MAAM,CAE5C;IAEY,sBAAsB,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAIpE,IAAW,oBAAoB,IAAI,qBAAqB,CAMvD;IAED,SAAS,KAAK,QAAQ,IAAI,iBAAiB,CAE1C;CACJ"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Test Mock for ProviderBase
|
|
4
|
+
* Provides minimal implementation for testing metadata refresh logic
|
|
5
|
+
* Does NOT require database connection
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.TestMetadataProvider = void 0;
|
|
9
|
+
const providerBase_1 = require("../../generic/providerBase");
|
|
10
|
+
const interfaces_1 = require("../../generic/interfaces");
|
|
11
|
+
const securityInfo_1 = require("../../generic/securityInfo");
|
|
12
|
+
const entityInfo_1 = require("../../generic/entityInfo");
|
|
13
|
+
class TestMetadataProvider extends providerBase_1.ProviderBase {
|
|
14
|
+
constructor() {
|
|
15
|
+
super();
|
|
16
|
+
this._allowRefresh = true;
|
|
17
|
+
this._mockMetadata = null;
|
|
18
|
+
this._getMetadataCallCount = 0;
|
|
19
|
+
this._mockDelay = 100; // milliseconds
|
|
20
|
+
}
|
|
21
|
+
get AllowRefresh() {
|
|
22
|
+
return this._allowRefresh;
|
|
23
|
+
}
|
|
24
|
+
setAllowRefresh(value) {
|
|
25
|
+
this._allowRefresh = value;
|
|
26
|
+
}
|
|
27
|
+
get ProviderType() {
|
|
28
|
+
return 'Database';
|
|
29
|
+
}
|
|
30
|
+
get DatabaseConnection() {
|
|
31
|
+
return {}; // Mock connection
|
|
32
|
+
}
|
|
33
|
+
getCallCount() {
|
|
34
|
+
return this._getMetadataCallCount;
|
|
35
|
+
}
|
|
36
|
+
resetCallCount() {
|
|
37
|
+
this._getMetadataCallCount = 0;
|
|
38
|
+
}
|
|
39
|
+
setMockDelay(ms) {
|
|
40
|
+
this._mockDelay = ms;
|
|
41
|
+
}
|
|
42
|
+
setMockMetadata(metadata) {
|
|
43
|
+
this._mockMetadata = metadata;
|
|
44
|
+
}
|
|
45
|
+
// Don't override GetAllMetadata() - let the base class handle it
|
|
46
|
+
// It will call our GetDatasetByName() which properly formats the data
|
|
47
|
+
// Stub implementations for other provider methods
|
|
48
|
+
async GetEntityRecordName() {
|
|
49
|
+
return 'Test Record';
|
|
50
|
+
}
|
|
51
|
+
async GetEntityRecordNames() {
|
|
52
|
+
return [];
|
|
53
|
+
}
|
|
54
|
+
async GetRecordFavoriteStatus() {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
async SetRecordFavoriteStatus() {
|
|
58
|
+
// No-op
|
|
59
|
+
}
|
|
60
|
+
async RunView() {
|
|
61
|
+
return { Success: true, Results: [] };
|
|
62
|
+
}
|
|
63
|
+
async RunViews() {
|
|
64
|
+
return [];
|
|
65
|
+
}
|
|
66
|
+
// Required abstract methods (minimal stubs for testing - no database needed)
|
|
67
|
+
async GetCurrentUser() {
|
|
68
|
+
// Return a minimal UserInfo object that satisfies TypeScript
|
|
69
|
+
const user = new securityInfo_1.UserInfo();
|
|
70
|
+
user.ID = 'test-user-id';
|
|
71
|
+
user.Name = 'Test User';
|
|
72
|
+
user.Email = 'test@example.com';
|
|
73
|
+
user.FirstName = 'Test';
|
|
74
|
+
user.LastName = 'User';
|
|
75
|
+
user.IsActive = true;
|
|
76
|
+
return user;
|
|
77
|
+
}
|
|
78
|
+
async GetRecordDependencies(entityName, compositeKey, contextUser) {
|
|
79
|
+
return [];
|
|
80
|
+
}
|
|
81
|
+
async GetRecordDuplicates(params, contextUser) {
|
|
82
|
+
const response = new interfaces_1.PotentialDuplicateResponse();
|
|
83
|
+
response.Status = 'Success';
|
|
84
|
+
response.PotentialDuplicateResult = [];
|
|
85
|
+
return response;
|
|
86
|
+
}
|
|
87
|
+
async MergeRecords(request, contextUser, options) {
|
|
88
|
+
const result = new entityInfo_1.RecordMergeResult();
|
|
89
|
+
result.Success = true;
|
|
90
|
+
result.OverallStatus = 'Success';
|
|
91
|
+
result.RecordStatus = [];
|
|
92
|
+
result.RecordMergeLogID = null;
|
|
93
|
+
result.Request = request;
|
|
94
|
+
return result;
|
|
95
|
+
}
|
|
96
|
+
async GetDatasetByName(datasetName, itemFilters, contextUser, providerToUse) {
|
|
97
|
+
// Simulate the MJ_Metadata dataset structure that GetAllMetadata expects
|
|
98
|
+
if (datasetName === 'MJ_Metadata') {
|
|
99
|
+
// Track calls and simulate delay
|
|
100
|
+
this._getMetadataCallCount++;
|
|
101
|
+
await new Promise(resolve => setTimeout(resolve, this._mockDelay));
|
|
102
|
+
// Use mock data if set, otherwise use default
|
|
103
|
+
const baseData = this._mockMetadata || {
|
|
104
|
+
Applications: [],
|
|
105
|
+
Entities: [
|
|
106
|
+
{
|
|
107
|
+
ID: `entity-${this._getMetadataCallCount}`,
|
|
108
|
+
Name: `Test Entity ${this._getMetadataCallCount}`,
|
|
109
|
+
SchemaName: 'dbo',
|
|
110
|
+
BaseView: `vwTestEntity${this._getMetadataCallCount}`,
|
|
111
|
+
BaseTable: `TestEntity${this._getMetadataCallCount}`,
|
|
112
|
+
EntityFields: [
|
|
113
|
+
{ ID: `f${this._getMetadataCallCount}-1`, EntityID: `entity-${this._getMetadataCallCount}`, Name: 'ID', Type: 'uniqueidentifier', IsPrimaryKey: true, Sequence: 1 },
|
|
114
|
+
{ ID: `f${this._getMetadataCallCount}-2`, EntityID: `entity-${this._getMetadataCallCount}`, Name: 'Name', Type: 'nvarchar', IsPrimaryKey: false, Sequence: 2 },
|
|
115
|
+
]
|
|
116
|
+
},
|
|
117
|
+
],
|
|
118
|
+
EntityFields: [
|
|
119
|
+
{ ID: `f${this._getMetadataCallCount}-1`, EntityID: `entity-${this._getMetadataCallCount}`, Name: 'ID', Type: 'uniqueidentifier', IsPrimaryKey: true, Sequence: 1 },
|
|
120
|
+
{ ID: `f${this._getMetadataCallCount}-2`, EntityID: `entity-${this._getMetadataCallCount}`, Name: 'Name', Type: 'nvarchar', IsPrimaryKey: false, Sequence: 2 },
|
|
121
|
+
],
|
|
122
|
+
EntityFieldValues: [],
|
|
123
|
+
EntityPermissions: [],
|
|
124
|
+
EntityRelationships: [],
|
|
125
|
+
EntitySettings: [],
|
|
126
|
+
ApplicationEntities: [],
|
|
127
|
+
ApplicationSettings: [],
|
|
128
|
+
Roles: [],
|
|
129
|
+
RowLevelSecurityFilters: [],
|
|
130
|
+
AuditLogTypes: [],
|
|
131
|
+
Authorizations: [],
|
|
132
|
+
QueryCategories: [],
|
|
133
|
+
Queries: [],
|
|
134
|
+
QueryFields: [],
|
|
135
|
+
QueryPermissions: [],
|
|
136
|
+
QueryEntities: [],
|
|
137
|
+
QueryParameters: [],
|
|
138
|
+
EntityDocumentTypes: [],
|
|
139
|
+
Libraries: [],
|
|
140
|
+
ExplorerNavigationItems: [],
|
|
141
|
+
};
|
|
142
|
+
return {
|
|
143
|
+
DatasetID: 'mock-dataset-id',
|
|
144
|
+
DatasetName: 'MJ_Metadata',
|
|
145
|
+
Success: true,
|
|
146
|
+
Status: 'Success',
|
|
147
|
+
LatestUpdateDate: new Date(),
|
|
148
|
+
Results: [
|
|
149
|
+
{ Code: 'Applications', EntityName: 'Applications', EntityID: '1', Results: baseData.Applications || [] },
|
|
150
|
+
{ Code: 'Entities', EntityName: 'Entities', EntityID: '2', Results: baseData.Entities || [] },
|
|
151
|
+
{ Code: 'EntityFields', EntityName: 'Entity Fields', EntityID: '3', Results: baseData.EntityFields || [] },
|
|
152
|
+
{ Code: 'EntityFieldValues', EntityName: 'Entity Field Values', EntityID: '4', Results: baseData.EntityFieldValues || [] },
|
|
153
|
+
{ Code: 'EntityPermissions', EntityName: 'Entity Permissions', EntityID: '5', Results: baseData.EntityPermissions || [] },
|
|
154
|
+
{ Code: 'EntityRelationships', EntityName: 'Entity Relationships', EntityID: '6', Results: baseData.EntityRelationships || [] },
|
|
155
|
+
{ Code: 'EntitySettings', EntityName: 'Entity Settings', EntityID: '7', Results: baseData.EntitySettings || [] },
|
|
156
|
+
{ Code: 'ApplicationEntities', EntityName: 'Application Entities', EntityID: '8', Results: baseData.ApplicationEntities || [] },
|
|
157
|
+
{ Code: 'ApplicationSettings', EntityName: 'Application Settings', EntityID: '9', Results: baseData.ApplicationSettings || [] },
|
|
158
|
+
{ Code: 'Roles', EntityName: 'Roles', EntityID: '10', Results: baseData.Roles || [] },
|
|
159
|
+
{ Code: 'RowLevelSecurityFilters', EntityName: 'Row Level Security Filters', EntityID: '11', Results: baseData.RowLevelSecurityFilters || [] },
|
|
160
|
+
{ Code: 'AuditLogTypes', EntityName: 'Audit Log Types', EntityID: '12', Results: baseData.AuditLogTypes || [] },
|
|
161
|
+
{ Code: 'Authorizations', EntityName: 'Authorizations', EntityID: '13', Results: baseData.Authorizations || [] },
|
|
162
|
+
{ Code: 'QueryCategories', EntityName: 'Query Categories', EntityID: '14', Results: baseData.QueryCategories || [] },
|
|
163
|
+
{ Code: 'Queries', EntityName: 'Queries', EntityID: '15', Results: baseData.Queries || [] },
|
|
164
|
+
{ Code: 'QueryFields', EntityName: 'Query Fields', EntityID: '16', Results: baseData.QueryFields || [] },
|
|
165
|
+
{ Code: 'QueryPermissions', EntityName: 'Query Permissions', EntityID: '17', Results: baseData.QueryPermissions || [] },
|
|
166
|
+
{ Code: 'QueryEntities', EntityName: 'Query Entities', EntityID: '18', Results: baseData.QueryEntities || [] },
|
|
167
|
+
{ Code: 'QueryParameters', EntityName: 'Query Parameters', EntityID: '19', Results: baseData.QueryParameters || [] },
|
|
168
|
+
{ Code: 'EntityDocumentTypes', EntityName: 'Entity Document Types', EntityID: '20', Results: baseData.EntityDocumentTypes || [] },
|
|
169
|
+
{ Code: 'Libraries', EntityName: 'Libraries', EntityID: '21', Results: baseData.Libraries || [] },
|
|
170
|
+
{ Code: 'ExplorerNavigationItems', EntityName: 'Explorer Navigation Items', EntityID: '22', Results: baseData.ExplorerNavigationItems || [] },
|
|
171
|
+
],
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
return {
|
|
175
|
+
DatasetID: 'mock-dataset-id',
|
|
176
|
+
DatasetName: datasetName,
|
|
177
|
+
Success: true,
|
|
178
|
+
Status: 'Success',
|
|
179
|
+
LatestUpdateDate: new Date(),
|
|
180
|
+
Results: []
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
async GetDatasetStatusByName(datasetName, itemFilters, contextUser, providerToUse) {
|
|
184
|
+
return {
|
|
185
|
+
DatasetID: 'mock-dataset-id',
|
|
186
|
+
DatasetName: datasetName,
|
|
187
|
+
Success: true,
|
|
188
|
+
Status: 'Ready',
|
|
189
|
+
LatestUpdateDate: new Date(),
|
|
190
|
+
EntityUpdateDates: []
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
get InstanceConnectionString() {
|
|
194
|
+
return 'mock://test-connection';
|
|
195
|
+
}
|
|
196
|
+
async CreateTransactionGroup() {
|
|
197
|
+
throw new Error('TransactionGroup not implemented in test mock - not needed for metadata tests');
|
|
198
|
+
}
|
|
199
|
+
get LocalStorageProvider() {
|
|
200
|
+
return {
|
|
201
|
+
GetItem: async (key) => null,
|
|
202
|
+
SetItem: async (key, value) => { },
|
|
203
|
+
Remove: async (key) => { }
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
get Metadata() {
|
|
207
|
+
return this;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
exports.TestMetadataProvider = TestMetadataProvider;
|
|
211
|
+
//# sourceMappingURL=TestMetadataProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestMetadataProvider.js","sourceRoot":"","sources":["../../../src/__tests__/mocks/TestMetadataProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Concurrency Tests for ProviderBase
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Test behavior under concurrent access patterns
|
|
5
|
+
* These tests will FAIL before the atomic update fix and PASS after
|
|
6
|
+
*
|
|
7
|
+
* Related: METADATA_THREAD_SAFETY_IMPLEMENTATION.md - Phase 3, Task 3.1
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=providerBase.concurrency.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerBase.concurrency.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/providerBase.concurrency.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Concurrency Tests for ProviderBase
|
|
4
|
+
*
|
|
5
|
+
* Purpose: Test behavior under concurrent access patterns
|
|
6
|
+
* These tests will FAIL before the atomic update fix and PASS after
|
|
7
|
+
*
|
|
8
|
+
* Related: METADATA_THREAD_SAFETY_IMPLEMENTATION.md - Phase 3, Task 3.1
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
const interfaces_1 = require("../generic/interfaces");
|
|
12
|
+
const TestMetadataProvider_1 = require("./mocks/TestMetadataProvider");
|
|
13
|
+
describe('ProviderBase Concurrency Tests', () => {
|
|
14
|
+
let provider;
|
|
15
|
+
let testConfig;
|
|
16
|
+
beforeEach(() => {
|
|
17
|
+
provider = new TestMetadataProvider_1.TestMetadataProvider();
|
|
18
|
+
testConfig = new interfaces_1.ProviderConfigDataBase({}, '__mj', [], [], true);
|
|
19
|
+
});
|
|
20
|
+
describe('Parallel Config() Calls', () => {
|
|
21
|
+
test('Multiple parallel Config() calls complete successfully', async () => {
|
|
22
|
+
/**
|
|
23
|
+
* Simulates the actual bug scenario: parallel operations triggering Config()
|
|
24
|
+
* Expected behavior after fix: All complete successfully with valid metadata
|
|
25
|
+
*/
|
|
26
|
+
provider.resetCallCount();
|
|
27
|
+
// Start 10 parallel Config() calls
|
|
28
|
+
const promises = Array(10).fill(0).map(() => provider.Config(testConfig));
|
|
29
|
+
// All should complete without errors
|
|
30
|
+
const results = await Promise.all(promises);
|
|
31
|
+
// Verify results
|
|
32
|
+
expect(results.every(r => r === true)).toBe(true);
|
|
33
|
+
// Metadata should be populated (not empty)
|
|
34
|
+
expect(provider.Entities).toBeDefined();
|
|
35
|
+
expect(provider.Entities.length).toBeGreaterThan(0);
|
|
36
|
+
// All entities should have Fields defined
|
|
37
|
+
for (const entity of provider.Entities) {
|
|
38
|
+
expect(entity.Fields).toBeDefined();
|
|
39
|
+
expect(entity.Fields.length).toBeGreaterThan(0);
|
|
40
|
+
}
|
|
41
|
+
console.log(`GetAllMetadata called ${provider.getCallCount()} times for 10 parallel Config() calls`);
|
|
42
|
+
});
|
|
43
|
+
test('Parallel Config() with different configs', async () => {
|
|
44
|
+
/**
|
|
45
|
+
* Tests concurrent configs with different settings
|
|
46
|
+
* Ensures last config wins but no corruption occurs
|
|
47
|
+
*/
|
|
48
|
+
const configs = [
|
|
49
|
+
new interfaces_1.ProviderConfigDataBase({}, '__mj1', [], [], true),
|
|
50
|
+
new interfaces_1.ProviderConfigDataBase({}, '__mj2', [], [], true),
|
|
51
|
+
new interfaces_1.ProviderConfigDataBase({}, '__mj3', [], [], true),
|
|
52
|
+
];
|
|
53
|
+
const results = await Promise.all(configs.map(config => provider.Config(config)));
|
|
54
|
+
expect(results.every(r => r === true)).toBe(true);
|
|
55
|
+
expect(provider.Entities.length).toBeGreaterThan(0);
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
describe('Reading Metadata During Refresh', () => {
|
|
59
|
+
test('Reading Entities during refresh returns valid data', async () => {
|
|
60
|
+
/**
|
|
61
|
+
* CRITICAL TEST: This documents the core issue
|
|
62
|
+
* Before fix: Readers may see empty metadata during refresh
|
|
63
|
+
* After fix: Readers see old metadata until refresh completes
|
|
64
|
+
*/
|
|
65
|
+
// Pre-populate with initial metadata
|
|
66
|
+
await provider.Config(testConfig);
|
|
67
|
+
expect(provider.Entities.length).toBeGreaterThan(0);
|
|
68
|
+
const initialEntityCount = provider.Entities.length;
|
|
69
|
+
// Start a refresh (don't await yet)
|
|
70
|
+
const refreshPromise = provider.Config(testConfig);
|
|
71
|
+
// While refresh is in progress, try to read metadata
|
|
72
|
+
const readsDuringRefresh = [];
|
|
73
|
+
const readPromises = [];
|
|
74
|
+
// Read multiple times during the refresh window
|
|
75
|
+
for (let i = 0; i < 5; i++) {
|
|
76
|
+
readPromises.push((async () => {
|
|
77
|
+
await new Promise(resolve => setTimeout(resolve, i * 20));
|
|
78
|
+
const entities = provider.Entities;
|
|
79
|
+
readsDuringRefresh.push(entities?.length ?? -1);
|
|
80
|
+
// CRITICAL: Should NEVER be undefined or empty after initial load
|
|
81
|
+
expect(entities).toBeDefined();
|
|
82
|
+
expect(Array.isArray(entities)).toBe(true);
|
|
83
|
+
// After fix: Should always have data (old or new)
|
|
84
|
+
// Before fix: Might be empty array
|
|
85
|
+
if (entities.length === 0) {
|
|
86
|
+
console.warn('WARNING: Saw empty entities during refresh (this is the bug)');
|
|
87
|
+
}
|
|
88
|
+
})());
|
|
89
|
+
}
|
|
90
|
+
// Wait for refresh to complete
|
|
91
|
+
await Promise.all([refreshPromise, ...readPromises]);
|
|
92
|
+
// After refresh, should definitely have data
|
|
93
|
+
expect(provider.Entities.length).toBeGreaterThan(0);
|
|
94
|
+
console.log('Entity counts during refresh:', readsDuringRefresh);
|
|
95
|
+
console.log('Final entity count:', provider.Entities.length);
|
|
96
|
+
});
|
|
97
|
+
test('GetEntityObject during refresh does not fail', async () => {
|
|
98
|
+
/**
|
|
99
|
+
* Simulates QueryEntity trying to create child entities during parallel saves
|
|
100
|
+
* This is the exact scenario causing "Entity not found in metadata" errors
|
|
101
|
+
*/
|
|
102
|
+
await provider.Config(testConfig);
|
|
103
|
+
// Start refresh
|
|
104
|
+
const refreshPromise = provider.Config(testConfig);
|
|
105
|
+
// Try to access entity metadata during refresh
|
|
106
|
+
await new Promise(resolve => setTimeout(resolve, 50));
|
|
107
|
+
// Should be able to read Entities array
|
|
108
|
+
const entities = provider.Entities;
|
|
109
|
+
expect(entities).toBeDefined();
|
|
110
|
+
if (entities.length > 0) {
|
|
111
|
+
// Should be able to find entity
|
|
112
|
+
const entity = entities.find(e => e.Name.includes('Test Entity'));
|
|
113
|
+
expect(entity).toBeDefined();
|
|
114
|
+
// Should be able to access Fields
|
|
115
|
+
if (entity) {
|
|
116
|
+
expect(entity.Fields).toBeDefined();
|
|
117
|
+
expect(entity.Fields.length).toBeGreaterThan(0);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
await refreshPromise;
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
describe('Simulated Production Scenarios', () => {
|
|
124
|
+
test('Metadata sync scenario: parallel query saves with refreshes', async () => {
|
|
125
|
+
/**
|
|
126
|
+
* Simulates: mj sync push with parallel query entity saves
|
|
127
|
+
* Each query save may trigger RefreshRelatedMetadata
|
|
128
|
+
* This is the HOT PATH where the bug manifests
|
|
129
|
+
*/
|
|
130
|
+
// Initial metadata load (like PushService.ts:218)
|
|
131
|
+
await provider.Config(testConfig);
|
|
132
|
+
// Simulate 20 parallel query saves, each accessing metadata
|
|
133
|
+
const querySaves = Array(20).fill(0).map(async (_, i) => {
|
|
134
|
+
// Random delay to simulate different save times
|
|
135
|
+
await new Promise(resolve => setTimeout(resolve, Math.random() * 100));
|
|
136
|
+
// Each save accesses metadata (like QueryEntity.extractAndSyncData)
|
|
137
|
+
const entities = provider.Entities;
|
|
138
|
+
// CRITICAL: Should always have valid data
|
|
139
|
+
expect(entities).toBeDefined();
|
|
140
|
+
expect(Array.isArray(entities)).toBe(true);
|
|
141
|
+
// Some saves trigger a refresh (like RefreshRelatedMetadata)
|
|
142
|
+
if (i % 5 === 0) {
|
|
143
|
+
await provider.Refresh();
|
|
144
|
+
}
|
|
145
|
+
// Continue accessing metadata
|
|
146
|
+
const entitiesAfterRefresh = provider.Entities;
|
|
147
|
+
expect(entitiesAfterRefresh).toBeDefined();
|
|
148
|
+
return true;
|
|
149
|
+
});
|
|
150
|
+
// All should complete successfully
|
|
151
|
+
const results = await Promise.all(querySaves);
|
|
152
|
+
expect(results.every(r => r === true)).toBe(true);
|
|
153
|
+
});
|
|
154
|
+
test('High concurrency: 50 parallel operations', async () => {
|
|
155
|
+
/**
|
|
156
|
+
* Stress test with high concurrency
|
|
157
|
+
* Validates that system remains stable under load
|
|
158
|
+
*/
|
|
159
|
+
await provider.Config(testConfig);
|
|
160
|
+
const operations = Array(50).fill(0).map(async (_, i) => {
|
|
161
|
+
await new Promise(resolve => setTimeout(resolve, Math.random() * 50));
|
|
162
|
+
// Mix of reads and refreshes
|
|
163
|
+
if (i % 10 === 0) {
|
|
164
|
+
await provider.Refresh();
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
const entities = provider.Entities;
|
|
168
|
+
expect(entities).toBeDefined();
|
|
169
|
+
}
|
|
170
|
+
return true;
|
|
171
|
+
});
|
|
172
|
+
const results = await Promise.all(operations);
|
|
173
|
+
expect(results.every(r => r === true)).toBe(true);
|
|
174
|
+
});
|
|
175
|
+
test('Rapid successive refreshes', async () => {
|
|
176
|
+
/**
|
|
177
|
+
* Tests rapid refresh calls (like might happen in error retry scenarios)
|
|
178
|
+
* Should handle gracefully without corruption
|
|
179
|
+
*/
|
|
180
|
+
await provider.Config(testConfig);
|
|
181
|
+
provider.resetCallCount();
|
|
182
|
+
// Trigger 5 refreshes in rapid succession
|
|
183
|
+
const refreshes = Array(5).fill(0).map(() => provider.Refresh());
|
|
184
|
+
await Promise.all(refreshes);
|
|
185
|
+
// Should have valid metadata
|
|
186
|
+
expect(provider.Entities.length).toBeGreaterThan(0);
|
|
187
|
+
// Should have called GetAllMetadata (but maybe coalesced)
|
|
188
|
+
console.log(`Rapid refresh: GetAllMetadata called ${provider.getCallCount()} times for 5 refresh calls`);
|
|
189
|
+
});
|
|
190
|
+
});
|
|
191
|
+
describe('Edge Cases', () => {
|
|
192
|
+
test('Refresh during entity iteration', async () => {
|
|
193
|
+
/**
|
|
194
|
+
* Simulates CodeGen iterating over md.Entities while refresh happens
|
|
195
|
+
* The array should remain stable during iteration
|
|
196
|
+
*/
|
|
197
|
+
await provider.Config(testConfig);
|
|
198
|
+
// Start iterating
|
|
199
|
+
const iterationResults = [];
|
|
200
|
+
const iterationPromise = (async () => {
|
|
201
|
+
const entities = provider.Entities;
|
|
202
|
+
for (const entity of entities) {
|
|
203
|
+
iterationResults.push(entity.Name);
|
|
204
|
+
await new Promise(resolve => setTimeout(resolve, 20));
|
|
205
|
+
}
|
|
206
|
+
})();
|
|
207
|
+
// Trigger refresh during iteration
|
|
208
|
+
setTimeout(() => provider.Refresh(), 30);
|
|
209
|
+
// Wait for iteration to complete
|
|
210
|
+
await iterationPromise;
|
|
211
|
+
// Should have iterated over some entities
|
|
212
|
+
expect(iterationResults.length).toBeGreaterThan(0);
|
|
213
|
+
});
|
|
214
|
+
test('Reading specific entity during refresh', async () => {
|
|
215
|
+
/**
|
|
216
|
+
* Tests finding a specific entity during refresh
|
|
217
|
+
* Should not fail with "Entity not found"
|
|
218
|
+
*/
|
|
219
|
+
await provider.Config(testConfig);
|
|
220
|
+
// Start refresh
|
|
221
|
+
const refreshPromise = provider.Config(testConfig);
|
|
222
|
+
// Try to find specific entity during refresh
|
|
223
|
+
await new Promise(resolve => setTimeout(resolve, 50));
|
|
224
|
+
const entity = provider.Entities.find(e => e.Name.includes('Test Entity'));
|
|
225
|
+
// Should find entity (old or new data, but should exist)
|
|
226
|
+
expect(entity).toBeDefined();
|
|
227
|
+
await refreshPromise;
|
|
228
|
+
});
|
|
229
|
+
test('Accessing Fields during refresh', async () => {
|
|
230
|
+
/**
|
|
231
|
+
* Tests accessing entity.Fields during refresh
|
|
232
|
+
* This is where "Cannot read properties of undefined (reading 'Fields')" occurs
|
|
233
|
+
*/
|
|
234
|
+
await provider.Config(testConfig);
|
|
235
|
+
const refreshPromise = provider.Config(testConfig);
|
|
236
|
+
await new Promise(resolve => setTimeout(resolve, 50));
|
|
237
|
+
const entities = provider.Entities;
|
|
238
|
+
if (entities && entities.length > 0) {
|
|
239
|
+
const firstEntity = entities[0];
|
|
240
|
+
// CRITICAL: Fields should always be defined
|
|
241
|
+
expect(firstEntity.Fields).toBeDefined();
|
|
242
|
+
expect(Array.isArray(firstEntity.Fields)).toBe(true);
|
|
243
|
+
// Should be able to iterate fields
|
|
244
|
+
for (const field of firstEntity.Fields) {
|
|
245
|
+
expect(field.Name).toBeDefined();
|
|
246
|
+
expect(field.Type).toBeDefined();
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
await refreshPromise;
|
|
250
|
+
});
|
|
251
|
+
});
|
|
252
|
+
});
|
|
253
|
+
//# sourceMappingURL=providerBase.concurrency.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerBase.concurrency.test.js","sourceRoot":"","sources":["../../src/__tests__/providerBase.concurrency.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Baseline Tests for ProviderBase.Refresh() and Config()
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Document current behavior before implementing thread safety fixes
|
|
5
|
+
* These tests establish a baseline to ensure the fix doesn't break existing functionality
|
|
6
|
+
*
|
|
7
|
+
* Related: METADATA_THREAD_SAFETY_IMPLEMENTATION.md - Phase 1, Task 1.3
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=providerBase.refresh.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerBase.refresh.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/providerBase.refresh.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Baseline Tests for ProviderBase.Refresh() and Config()
|
|
4
|
+
*
|
|
5
|
+
* Purpose: Document current behavior before implementing thread safety fixes
|
|
6
|
+
* These tests establish a baseline to ensure the fix doesn't break existing functionality
|
|
7
|
+
*
|
|
8
|
+
* Related: METADATA_THREAD_SAFETY_IMPLEMENTATION.md - Phase 1, Task 1.3
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
const interfaces_1 = require("../generic/interfaces");
|
|
12
|
+
const TestMetadataProvider_1 = require("./mocks/TestMetadataProvider");
|
|
13
|
+
describe('ProviderBase.Refresh - Baseline Behavior', () => {
|
|
14
|
+
let provider;
|
|
15
|
+
let testConfig;
|
|
16
|
+
beforeEach(() => {
|
|
17
|
+
provider = new TestMetadataProvider_1.TestMetadataProvider();
|
|
18
|
+
testConfig = new interfaces_1.ProviderConfigDataBase({}, // data
|
|
19
|
+
'__mj', // MJCoreSchemaName
|
|
20
|
+
[], // includeSchemas
|
|
21
|
+
[], // excludeSchemas
|
|
22
|
+
true // ignoreExistingMetadata - don't copy from global
|
|
23
|
+
);
|
|
24
|
+
});
|
|
25
|
+
describe('Single Refresh Operations', () => {
|
|
26
|
+
test('Config() loads metadata successfully', async () => {
|
|
27
|
+
const result = await provider.Config(testConfig);
|
|
28
|
+
expect(result).toBe(true);
|
|
29
|
+
expect(provider.Entities).toBeDefined();
|
|
30
|
+
expect(provider.Entities.length).toBeGreaterThan(0);
|
|
31
|
+
});
|
|
32
|
+
test('Entities have Fields populated', async () => {
|
|
33
|
+
await provider.Config(testConfig);
|
|
34
|
+
const entity = provider.Entities[0];
|
|
35
|
+
expect(entity).toBeDefined();
|
|
36
|
+
expect(entity.Fields).toBeDefined();
|
|
37
|
+
expect(entity.Fields.length).toBe(2);
|
|
38
|
+
expect(entity.Fields[0].Name).toBe('ID');
|
|
39
|
+
});
|
|
40
|
+
test('Refresh() triggers Config() and reloads metadata', async () => {
|
|
41
|
+
// Initial load
|
|
42
|
+
await provider.Config(testConfig);
|
|
43
|
+
const initialCount = provider.Entities.length;
|
|
44
|
+
// Change mock data
|
|
45
|
+
provider.setMockMetadata({
|
|
46
|
+
...await provider['GetAllMetadata'](),
|
|
47
|
+
Entities: [
|
|
48
|
+
{
|
|
49
|
+
ID: '3',
|
|
50
|
+
Name: 'New Entity',
|
|
51
|
+
SchemaName: 'dbo',
|
|
52
|
+
BaseView: 'vwNewEntity',
|
|
53
|
+
BaseTable: 'NewEntity',
|
|
54
|
+
Fields: [{ ID: 'f5', Name: 'ID', Type: 'uniqueidentifier', IsPrimaryKey: true }]
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
});
|
|
58
|
+
// Refresh
|
|
59
|
+
await provider.Refresh();
|
|
60
|
+
// Should have new data
|
|
61
|
+
expect(provider.Entities.length).toBe(1);
|
|
62
|
+
expect(provider.Entities[0].Name).toBe('New Entity');
|
|
63
|
+
});
|
|
64
|
+
test('AllowRefresh=false prevents refresh', async () => {
|
|
65
|
+
await provider.Config(testConfig);
|
|
66
|
+
const initialCount = provider.Entities.length;
|
|
67
|
+
// Disable refresh
|
|
68
|
+
provider.setAllowRefresh(false);
|
|
69
|
+
// Try to refresh
|
|
70
|
+
const result = await provider.Refresh();
|
|
71
|
+
// Should return true but not actually refresh
|
|
72
|
+
expect(result).toBe(true);
|
|
73
|
+
expect(provider.Entities.length).toBe(initialCount);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
describe('Metadata Access During Operations', () => {
|
|
77
|
+
test('Entities accessible immediately after Config()', async () => {
|
|
78
|
+
await provider.Config(testConfig);
|
|
79
|
+
// Should be able to access metadata immediately
|
|
80
|
+
const entities = provider.Entities;
|
|
81
|
+
expect(entities).toBeDefined();
|
|
82
|
+
expect(Array.isArray(entities)).toBe(true);
|
|
83
|
+
expect(entities.length).toBeGreaterThan(0);
|
|
84
|
+
});
|
|
85
|
+
test('Entities array is stable across multiple reads', async () => {
|
|
86
|
+
await provider.Config(testConfig);
|
|
87
|
+
const read1 = provider.Entities;
|
|
88
|
+
const read2 = provider.Entities;
|
|
89
|
+
const read3 = provider.Entities;
|
|
90
|
+
// Should return same array instance
|
|
91
|
+
expect(read1).toBe(read2);
|
|
92
|
+
expect(read2).toBe(read3);
|
|
93
|
+
});
|
|
94
|
+
test('Fields arrays are accessible', async () => {
|
|
95
|
+
await provider.Config(testConfig);
|
|
96
|
+
const entity = provider.Entities[0];
|
|
97
|
+
const fields1 = entity.Fields;
|
|
98
|
+
const fields2 = entity.Fields;
|
|
99
|
+
expect(fields1).toBeDefined();
|
|
100
|
+
expect(fields1).toBe(fields2); // Same array instance
|
|
101
|
+
expect(fields1.length).toBeGreaterThan(0);
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
describe('Current Behavior - Documenting Issues', () => {
|
|
105
|
+
test('KNOWN ISSUE: Reading metadata during Config() may see empty data', async () => {
|
|
106
|
+
/**
|
|
107
|
+
* This test documents the current race condition.
|
|
108
|
+
* When Config() is called, it immediately clears metadata (line 341 of providerBase.ts)
|
|
109
|
+
* before GetAllMetadata() completes.
|
|
110
|
+
*
|
|
111
|
+
* During this window, readers see empty metadata.
|
|
112
|
+
* This test will FAIL before the fix and PASS after the atomic update fix.
|
|
113
|
+
*/
|
|
114
|
+
// Start config but don't await
|
|
115
|
+
const configPromise = provider.Config(testConfig);
|
|
116
|
+
// Try to read metadata during config (after slight delay)
|
|
117
|
+
await new Promise(resolve => setTimeout(resolve, 10));
|
|
118
|
+
const entitiesDuringConfig = provider.Entities;
|
|
119
|
+
// CURRENT BEHAVIOR: This might be empty or undefined
|
|
120
|
+
// DESIRED BEHAVIOR: Should return either old metadata (if any) or wait for new
|
|
121
|
+
// Note: On first call, there is no "old" metadata, so empty is expected
|
|
122
|
+
// Wait for config to complete
|
|
123
|
+
await configPromise;
|
|
124
|
+
// After config, should definitely have data
|
|
125
|
+
expect(provider.Entities.length).toBeGreaterThan(0);
|
|
126
|
+
// Document current behavior
|
|
127
|
+
console.log('Entities during config:', entitiesDuringConfig?.length ?? 'undefined/empty');
|
|
128
|
+
console.log('Entities after config:', provider.Entities.length);
|
|
129
|
+
});
|
|
130
|
+
test('✅ FIXED: Multiple concurrent Config() calls now safe', async () => {
|
|
131
|
+
/**
|
|
132
|
+
* This test verifies that concurrent Config() calls don't cause race conditions.
|
|
133
|
+
* With the atomic update fix, readers always see valid metadata (old or new).
|
|
134
|
+
*
|
|
135
|
+
* Before fix: Metadata would be cleared, causing empty array errors
|
|
136
|
+
* After fix: Metadata is atomically swapped, no intermediate empty state
|
|
137
|
+
*/
|
|
138
|
+
provider.resetCallCount();
|
|
139
|
+
// Start 3 concurrent Config() calls
|
|
140
|
+
const promises = [
|
|
141
|
+
provider.Config(testConfig),
|
|
142
|
+
provider.Config(testConfig),
|
|
143
|
+
provider.Config(testConfig),
|
|
144
|
+
];
|
|
145
|
+
// Wait for all to complete
|
|
146
|
+
const results = await Promise.all(promises);
|
|
147
|
+
// All should succeed
|
|
148
|
+
expect(results.every(r => r === true)).toBe(true);
|
|
149
|
+
// Should have valid metadata
|
|
150
|
+
expect(provider.Entities).toBeDefined();
|
|
151
|
+
expect(provider.Entities.length).toBeGreaterThan(0);
|
|
152
|
+
// Check efficiency - may coalesce some calls
|
|
153
|
+
const callCount = provider.getCallCount();
|
|
154
|
+
console.log('GetAllMetadata called:', callCount, 'times for 3 Config() calls');
|
|
155
|
+
console.log('Final entity count:', provider.Entities.length);
|
|
156
|
+
// ✅ FIXED: No more race conditions - metadata is always valid
|
|
157
|
+
// DESIRED BEHAVIOR: All calls complete safely, metadata is consistent
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
//# sourceMappingURL=providerBase.refresh.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerBase.refresh.test.js","sourceRoot":"","sources":["../../src/__tests__/providerBase.refresh.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/__tests__/setup.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Jest setup file for MJCore tests
|
|
3
|
+
* Runs before each test file
|
|
4
|
+
*/
|
|
5
|
+
// Increase timeout for async operations
|
|
6
|
+
jest.setTimeout(30000);
|
|
7
|
+
// Mock console methods to reduce noise (can be enabled per test)
|
|
8
|
+
global.console = {
|
|
9
|
+
...console,
|
|
10
|
+
// Uncomment to silence logs during tests
|
|
11
|
+
// log: jest.fn(),
|
|
12
|
+
// debug: jest.fn(),
|
|
13
|
+
// info: jest.fn(),
|
|
14
|
+
// warn: jest.fn(),
|
|
15
|
+
// error: jest.fn(),
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/__tests__/setup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wCAAwC;AACxC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAEvB,iEAAiE;AACjE,MAAM,CAAC,OAAO,GAAG;IACf,GAAG,OAAO;IACV,yCAAyC;IACzC,kBAAkB;IAClB,oBAAoB;IACpB,mBAAmB;IACnB,mBAAmB;IACnB,oBAAoB;CACrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerBase.d.ts","sourceRoot":"","sources":["../../src/generic/providerBase.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"providerBase.d.ts","sourceRoot":"","sources":["../../src/generic/providerBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -237,18 +237,25 @@ class ProviderBase {
|
|
|
237
237
|
// first, make sure we reset the flag to false so that if another call to this function happens
|
|
238
238
|
// while we are waiting for the async call to finish, we dont do it again
|
|
239
239
|
this._refresh = false;
|
|
240
|
-
//
|
|
241
|
-
|
|
242
|
-
this._cachedVisibleExplorerNavigationItems = null; // reset this so it gets rebuilt next time it is requested
|
|
240
|
+
// Fetch new metadata without clearing current metadata
|
|
241
|
+
// This ensures readers always see valid data (old until new is ready)
|
|
243
242
|
const start = new Date().getTime();
|
|
244
243
|
const res = await this.GetAllMetadata(providerToUse);
|
|
245
244
|
const end = new Date().getTime();
|
|
246
245
|
(0, logging_1.LogStatus)(`GetAllMetadata() took ${end - start} ms`);
|
|
247
246
|
if (res) {
|
|
247
|
+
// Atomic swap via UpdateLocalMetadata: single property assignment is atomic in JavaScript
|
|
248
|
+
// Readers now see new metadata instead of old
|
|
249
|
+
// Uses UpdateLocalMetadata() to maintain consistency with LoadLocalMetadataFromStorage()
|
|
250
|
+
// and allow potential subclass overrides for extensibility
|
|
248
251
|
this.UpdateLocalMetadata(res);
|
|
249
252
|
this._latestLocalMetadataTimestamps = this._latestRemoteMetadataTimestamps; // update this since we just used server to get all the stuff
|
|
250
253
|
await this.SaveLocalMetadataToStorage();
|
|
251
254
|
}
|
|
255
|
+
else {
|
|
256
|
+
// GetAllMetadata failed - log error but keep existing metadata
|
|
257
|
+
(0, logging_1.LogError)('GetAllMetadata() returned undefined - metadata not updated');
|
|
258
|
+
}
|
|
252
259
|
}
|
|
253
260
|
return true;
|
|
254
261
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerBase.js","sourceRoot":"","sources":["../../src/generic/providerBase.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"providerBase.js","sourceRoot":"","sources":["../../src/generic/providerBase.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.125.0",
|
|
4
4
|
"description": "MemberJunction: Core Library including Metadata, Application, Entity Retrieval and Manipulation, and Utilities",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -10,17 +10,24 @@
|
|
|
10
10
|
"scripts": {
|
|
11
11
|
"start": "ts-node-dev src/index.ts",
|
|
12
12
|
"build": "tsc",
|
|
13
|
-
"test": "
|
|
13
|
+
"test": "jest",
|
|
14
|
+
"test:watch": "jest --watch",
|
|
15
|
+
"test:coverage": "jest --coverage",
|
|
16
|
+
"test:refresh": "jest providerBase.refresh.test.ts",
|
|
17
|
+
"test:concurrency": "jest providerBase.concurrency.test.ts"
|
|
14
18
|
},
|
|
15
19
|
"author": "MemberJunction.com",
|
|
16
20
|
"license": "ISC",
|
|
17
21
|
"devDependencies": {
|
|
18
22
|
"ts-node-dev": "^2.0.0",
|
|
19
23
|
"typescript": "^5.4.5",
|
|
20
|
-
"@types/debug": "^4.1.12"
|
|
24
|
+
"@types/debug": "^4.1.12",
|
|
25
|
+
"@types/jest": "^29.5.12",
|
|
26
|
+
"jest": "^29.7.0",
|
|
27
|
+
"ts-jest": "^29.1.2"
|
|
21
28
|
},
|
|
22
29
|
"dependencies": {
|
|
23
|
-
"@memberjunction/global": "2.
|
|
30
|
+
"@memberjunction/global": "2.125.0",
|
|
24
31
|
"rxjs": "^7.8.1",
|
|
25
32
|
"zod": "^3.23.8",
|
|
26
33
|
"debug": "^4.4.0"
|