Files
speckle-server/packages/server/scripts/streamObjects.js
T
Iain Sproat 444d2ca7dd Structured logging (attempt 2) (#1234)
* Revert "Revert "feat(structured logging): implements structured logging for backend (#1217)" (#1227)"

This reverts commit 63e6581162.

* Use pino-http instead of express pino logger
* Use correct reference to knex and do not instantiate HttpLogger prematurely
* Adds missing dependency for pino to webhook-service
* Do not instantiate middleware when passed to express
* Refactor to move logging into shared
* Copy shared packages into dockerfiles
* Build shared workspace in docker build-stage for fileimport & webhook
2022-12-05 14:49:52 +00:00

75 lines
2.0 KiB
JavaScript

require('../bootstrap')
const { getUserByEmail } = require('@/modules/core/services/users')
const { createPersonalAccessToken } = require('@/modules/core/services/tokens')
const { createStream } = require('@/modules/core/services/streams')
const { createManyObjects } = require('@/test/helpers')
const { fetch } = require('undici')
const { init } = require(`@/app`)
const request = require('supertest')
const { exit } = require('yargs')
const { logger } = require('@/logging/logging')
const main = async () => {
const testStream = {
name: 'Test Stream 01',
description: 'wonderful test stream'
}
// const userA = {
// name: 'd1',
// email: 'd.1@speckle.systems',
// password: 'wowwow8charsplease'
// }
// userA.id = await createUser(userA)
const userA = await getUserByEmail({
email: 'd.1@speckle.systems'
})
userA.token = `Bearer ${await createPersonalAccessToken(
userA.id,
'test token user A',
[
'streams:read',
'streams:write',
'users:read',
'users:email',
'tokens:write',
'tokens:read',
'profile:read',
'profile:email'
]
)}`
testStream.id = await createStream({ ...testStream, ownerId: userA.id })
const { app } = await init()
const numObjs = 5000
const objBatch = createManyObjects(numObjs)
const uploadRes = await request(app)
.post(`/objects/${testStream.id}`)
.set('Authorization', userA.token)
.set('Content-type', 'multipart/form-data')
.attach('batch1', Buffer.from(JSON.stringify(objBatch), 'utf8'))
logger.info(uploadRes.status)
const objectIds = objBatch.map((obj) => obj.id)
const res = await fetch(`http://localhost:3000/api/getobjects/${testStream.id}`, {
method: 'POST',
headers: {
Authorization: userA.token,
'Content-Type': 'application/json',
Accept: 'text/plain'
},
body: JSON.stringify({ objects: JSON.stringify(objectIds) })
})
const data = await res.body.getReader().read()
logger.info(data)
exit(0)
}
main().then(logger.info('created')).catch(logger.error('failed'))