Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
test('Layout() - should collect metric with version info', done => {
expect.hasAssertions();
const layout = new Layout(DEFAULT_OPTIONS);
const dest = destinationObjectStream(arr => {
expect(arr[0]).toMatchObject({
name: 'podium_layout_version_info',
labels: [
{
name: 'version',
// eslint-disable-next-line global-require
value: require('../package.json').version,
},
{
name: 'major',
value: expect.any(Number),
},
{
name: 'minor',
value: expect.any(Number),
},
test('Podlet() - should collect metric with version info', done => {
expect.hasAssertions();
const podlet = new Podlet(DEFAULT_OPTIONS);
const dest = destinationObjectStream(arr => {
expect(arr[0]).toMatchObject({
name: 'podium_podlet_version_info',
labels: [
{
name: 'version',
// eslint-disable-next-line global-require
value: require('../package.json').version,
},
{
name: 'major',
value: expect.any(Number),
},
{
name: 'minor',
value: expect.any(Number),
},
expect(layout.pathname()).toBe('/');
app.use(layout.middleware());
const podletClient = layout.client.register({
uri: 'http://localhost:4002/manifest.json',
name: 'myPodlet',
});
app.get('/', async (req, res) => {
const response = await podletClient.fetch(res.locals.podium.context);
res.send(response.content);
});
layout.metrics.pipe(
destinationObjectStream(arr => {
expect(arr[0].name).toBe('podium_layout_version_info');
expect(arr[0].type).toBe(1);
expect(arr[0].value).toBe(1);
expect(arr[1].name).toBe('podium_context_process');
expect(arr[1].type).toBe(5);
expect(arr[2].name).toBe('podium_proxy_process');
expect(arr[2].type).toBe(5);
expect(arr[3].name).toBe('podium_client_resolver_manifest_resolve');
expect(arr[3].type).toBe(5);
expect(arr[3].labels[0]).toEqual({
name: 'name',
value: 'myLayout',
});