import test from 'node:test'; import assert from 'node:assert/strict'; import vm from 'node:vm'; import {readFileSync} from 'node:fs'; const source=readFileSync(new URL('../scripts/native-tabs-smoke.mjs',import.meta.url),'utf8'),c=vm.createContext({}); vm.runInContext(source.slice(source.indexOf('function exportCountsByService'),source.indexOf('const diagnosticStatus')),c); const resource=name=>({resource:{attributes:[{key:'service.name',value:{stringValue:name}}]}}); test('shared native receiver distinguishes actual browser exports from backend batches',()=>{ const records=[{payload:{resourceSpans:[resource('safetynet-browser')]}},{payload:{resourceLogs:[resource('safetynet-browser')]}},{payload:{resourceSpans:[resource('safetynet-control-plane')]}}]; assert.deepEqual({...c.exportCountsByService(records)},{browser:2,controlPlane:1,unknown:0}); records.push({payload:{resourceSpans:[resource('safetynet-control-plane')]}});assert.deepEqual({...c.exportCountsByService(records)},{browser:2,controlPlane:2,unknown:0}); records.push({payload:{resourceMetrics:[resource('safetynet-browser'),resource('safetynet-browser')]}});assert.equal(c.exportCountsByService(records).browser,3,'Count transport requests, not resource groups'); }); test('unattributed and mixed batches cannot disappear from collector accounting',()=>{ assert.deepEqual({...c.exportCountsByService([{payload:{}},{payload:{resourceSpans:[resource('unexpected')]}},{payload:{resourceSpans:[resource('safetynet-browser'),resource('safetynet-control-plane')]}}])},{browser:1,controlPlane:1,unknown:2}); });