Skip to content

Commit a88b8df

Browse files
gtamanahaalexs-mparticle
authored andcommitted
feat(reportingLogger): Add 'rokt-account-id' header and update constructor to accept accountId, with corresponding test adjustments
1 parent d078785 commit a88b8df

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

src/logging/reportingLogger.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ export class ReportingLogger implements IReportingLogger {
1919
constructor(
2020
mpInstance: IMParticleWebSDKInstance,
2121
private readonly sdkVersion: string,
22+
private readonly accountId: string,
2223
rateLimiter?: IRateLimiter,
2324
) {
2425
this.mpInstance = mpInstance;
@@ -121,6 +122,7 @@ export class ReportingLogger implements IReportingLogger {
121122
headers: {
122123
Accept: 'text/plain;charset=UTF-8',
123124
'Content-Type': 'text/plain;charset=UTF-8',
125+
'rokt-account-id': this.accountId
124126
},
125127
body: JSON.stringify(logRequest),
126128
});

src/uploaders.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ export interface IFetchPayload {
55
headers: {
66
Accept: string;
77
'Content-Type'?: string;
8+
'rokt-account-id'?: string;
89
};
910
body?: string;
1011
}

test/jest/reportingLogger.spec.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ describe('ReportingLogger', () => {
77
let logger: ReportingLogger;
88
const sdkVersion = '1.2.3';
99
let mockFetch: jest.Mock;
10-
10+
const accountId = '1234567890';
1111
beforeEach(() => {
1212
mockFetch = jest.fn().mockResolvedValue({ ok: true });
1313
global.fetch = mockFetch;
@@ -36,7 +36,7 @@ describe('ReportingLogger', () => {
3636
ROKT_DOMAIN: 'set',
3737
fetch: mockFetch
3838
});
39-
logger = new ReportingLogger(mpInstance, sdkVersion);
39+
logger = new ReportingLogger(mpInstance, sdkVersion, accountId);
4040
});
4141

4242
afterEach(() => {
@@ -67,27 +67,28 @@ describe('ReportingLogger', () => {
6767
expect(body).toMatchObject({
6868
severity: LogRequestSeverity.Warning
6969
});
70+
expect(fetchCall[1].headers['rokt-account-id']).toBe(accountId);
7071
});
7172

7273
it('does not log if ROKT_DOMAIN missing', () => {
7374
delete (globalThis as any).ROKT_DOMAIN;
74-
logger = new ReportingLogger(mpInstance, sdkVersion);
75+
logger = new ReportingLogger(mpInstance, sdkVersion, accountId);
7576
logger.error('x');
7677
expect(mockFetch).not.toHaveBeenCalled();
7778
});
7879

7980
it('does not log if feature flag and debug mode off', () => {
8081
window.mParticle.config.isWebSdkLoggingEnabled = false;
8182
window.location.search = '';
82-
logger = new ReportingLogger(mpInstance, sdkVersion);
83+
logger = new ReportingLogger(mpInstance, sdkVersion, accountId);
8384
logger.error('x');
8485
expect(mockFetch).not.toHaveBeenCalled();
8586
});
8687

8788
it('logs if debug mode on even if feature flag off', () => {
8889
window.mParticle.config.isWebSdkLoggingEnabled = false;
8990
window.location.search = '?mp_enable_logging=true';
90-
logger = new ReportingLogger(mpInstance, sdkVersion);
91+
logger = new ReportingLogger(mpInstance, sdkVersion, accountId);
9192
logger.error('x');
9293
expect(mockFetch).toHaveBeenCalled();
9394
});
@@ -99,7 +100,7 @@ describe('ReportingLogger', () => {
99100
return ++count > 3;
100101
}),
101102
};
102-
logger = new ReportingLogger(mpInstance, sdkVersion, mockRateLimiter);
103+
logger = new ReportingLogger(mpInstance, sdkVersion, accountId, mockRateLimiter);
103104

104105
for (let i = 0; i < 5; i++) logger.error('err');
105106
expect(mockFetch).toHaveBeenCalledTimes(3);

0 commit comments

Comments
 (0)