Merge branch 'master' into fix/13282
This commit is contained in:
commit
856334e333
|
@ -39,7 +39,6 @@
|
||||||
"extends": ["eslint:recommended"],
|
"extends": ["eslint:recommended"],
|
||||||
"rules": {
|
"rules": {
|
||||||
"no-unused-vars": "off",
|
"no-unused-vars": "off",
|
||||||
"no-inner-declarations": "off",
|
|
||||||
"no-case-declarations": "off",
|
"no-case-declarations": "off",
|
||||||
"no-undef": "off",
|
"no-undef": "off",
|
||||||
"no-prototype-builtins": "off",
|
"no-prototype-builtins": "off",
|
||||||
|
@ -57,7 +56,6 @@
|
||||||
},
|
},
|
||||||
"rules": {
|
"rules": {
|
||||||
"no-unused-vars": "off",
|
"no-unused-vars": "off",
|
||||||
"no-inner-declarations": "off",
|
|
||||||
"no-case-declarations": "off",
|
"no-case-declarations": "off",
|
||||||
"no-undef": "off",
|
"no-undef": "off",
|
||||||
"no-prototype-builtins": "off",
|
"no-prototype-builtins": "off",
|
||||||
|
|
|
@ -10,6 +10,18 @@ import { formats } from "dd-trace/ext"
|
||||||
|
|
||||||
import { localFileDestination } from "../system"
|
import { localFileDestination } from "../system"
|
||||||
|
|
||||||
|
function isPlainObject(obj: any) {
|
||||||
|
return typeof obj === "object" && obj !== null && !(obj instanceof Error)
|
||||||
|
}
|
||||||
|
|
||||||
|
function isError(obj: any) {
|
||||||
|
return obj instanceof Error
|
||||||
|
}
|
||||||
|
|
||||||
|
function isMessage(obj: any) {
|
||||||
|
return typeof obj === "string"
|
||||||
|
}
|
||||||
|
|
||||||
// LOGGER
|
// LOGGER
|
||||||
|
|
||||||
let pinoInstance: pino.Logger | undefined
|
let pinoInstance: pino.Logger | undefined
|
||||||
|
@ -71,23 +83,11 @@ if (!env.DISABLE_PINO_LOGGER) {
|
||||||
err?: Error
|
err?: Error
|
||||||
}
|
}
|
||||||
|
|
||||||
function isPlainObject(obj: any) {
|
|
||||||
return typeof obj === "object" && obj !== null && !(obj instanceof Error)
|
|
||||||
}
|
|
||||||
|
|
||||||
function isError(obj: any) {
|
|
||||||
return obj instanceof Error
|
|
||||||
}
|
|
||||||
|
|
||||||
function isMessage(obj: any) {
|
|
||||||
return typeof obj === "string"
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Backwards compatibility between console logging statements
|
* Backwards compatibility between console logging statements
|
||||||
* and pino logging requirements.
|
* and pino logging requirements.
|
||||||
*/
|
*/
|
||||||
function getLogParams(args: any[]): [MergingObject, string] {
|
const getLogParams = (args: any[]): [MergingObject, string] => {
|
||||||
let error = undefined
|
let error = undefined
|
||||||
let objects: any[] = []
|
let objects: any[] = []
|
||||||
let message = ""
|
let message = ""
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 7d1b3eaf33e560d19d591813e5bba91d75ef3953
|
Subproject commit 993b9f010f619b7f8b50c89105c645e3d874929e
|
|
@ -1,8 +1,5 @@
|
||||||
module AirtableMock {
|
class Airtable {
|
||||||
function Airtable() {
|
base = jest.fn()
|
||||||
// @ts-ignore
|
|
||||||
this.base = jest.fn()
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = Airtable
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module.exports = Airtable
|
||||||
|
|
|
@ -1,102 +1,81 @@
|
||||||
import fs from "fs"
|
import fs from "fs"
|
||||||
import { join } from "path"
|
import { join } from "path"
|
||||||
|
|
||||||
module AwsMock {
|
const response = (body: any, extra?: any) => () => ({
|
||||||
const aws: any = {}
|
promise: () => body,
|
||||||
|
...extra,
|
||||||
|
})
|
||||||
|
|
||||||
const response = (body: any, extra?: any) => () => ({
|
class DocumentClient {
|
||||||
promise: () => body,
|
put = jest.fn(response({}))
|
||||||
...extra,
|
query = jest.fn(
|
||||||
})
|
response({
|
||||||
|
Items: [],
|
||||||
function DocumentClient() {
|
})
|
||||||
// @ts-ignore
|
)
|
||||||
this.put = jest.fn(response({}))
|
scan = jest.fn(
|
||||||
// @ts-ignore
|
response({
|
||||||
this.query = jest.fn(
|
Items: [
|
||||||
response({
|
|
||||||
Items: [],
|
|
||||||
})
|
|
||||||
)
|
|
||||||
// @ts-ignore
|
|
||||||
this.scan = jest.fn(
|
|
||||||
response({
|
|
||||||
Items: [
|
|
||||||
{
|
|
||||||
Name: "test",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
})
|
|
||||||
)
|
|
||||||
// @ts-ignore
|
|
||||||
this.get = jest.fn(response({}))
|
|
||||||
// @ts-ignore
|
|
||||||
this.update = jest.fn(response({}))
|
|
||||||
// @ts-ignore
|
|
||||||
this.delete = jest.fn(response({}))
|
|
||||||
}
|
|
||||||
|
|
||||||
function S3() {
|
|
||||||
// @ts-ignore
|
|
||||||
this.listObjects = jest.fn(
|
|
||||||
response({
|
|
||||||
Contents: [],
|
|
||||||
})
|
|
||||||
)
|
|
||||||
|
|
||||||
// @ts-ignore
|
|
||||||
this.createBucket = jest.fn(
|
|
||||||
response({
|
|
||||||
Contents: {},
|
|
||||||
})
|
|
||||||
)
|
|
||||||
|
|
||||||
// @ts-ignore
|
|
||||||
this.deleteObjects = jest.fn(
|
|
||||||
response({
|
|
||||||
Contents: {},
|
|
||||||
})
|
|
||||||
)
|
|
||||||
|
|
||||||
// @ts-ignore
|
|
||||||
this.getSignedUrl = (operation, params) => {
|
|
||||||
return `http://example.com/${params.Bucket}/${params.Key}`
|
|
||||||
}
|
|
||||||
|
|
||||||
// @ts-ignore
|
|
||||||
this.headBucket = jest.fn(
|
|
||||||
response({
|
|
||||||
Contents: {},
|
|
||||||
})
|
|
||||||
)
|
|
||||||
|
|
||||||
// @ts-ignore
|
|
||||||
this.upload = jest.fn(
|
|
||||||
response({
|
|
||||||
Contents: {},
|
|
||||||
})
|
|
||||||
)
|
|
||||||
|
|
||||||
// @ts-ignore
|
|
||||||
this.getObject = jest.fn(
|
|
||||||
response(
|
|
||||||
{
|
{
|
||||||
Body: "",
|
Name: "test",
|
||||||
},
|
},
|
||||||
{
|
],
|
||||||
createReadStream: jest
|
})
|
||||||
.fn()
|
)
|
||||||
.mockReturnValue(
|
get = jest.fn(response({}))
|
||||||
fs.createReadStream(join(__dirname, "aws-sdk.ts"))
|
update = jest.fn(response({}))
|
||||||
),
|
delete = jest.fn(response({}))
|
||||||
}
|
}
|
||||||
)
|
|
||||||
)
|
class S3 {
|
||||||
}
|
listObjects = jest.fn(
|
||||||
|
response({
|
||||||
aws.DynamoDB = { DocumentClient }
|
Contents: [],
|
||||||
aws.S3 = S3
|
})
|
||||||
aws.config = { update: jest.fn() }
|
)
|
||||||
|
createBucket = jest.fn(
|
||||||
module.exports = aws
|
response({
|
||||||
|
Contents: {},
|
||||||
|
})
|
||||||
|
)
|
||||||
|
deleteObjects = jest.fn(
|
||||||
|
response({
|
||||||
|
Contents: {},
|
||||||
|
})
|
||||||
|
)
|
||||||
|
getSignedUrl = jest.fn((operation, params) => {
|
||||||
|
return `http://example.com/${params.Bucket}/${params.Key}`
|
||||||
|
})
|
||||||
|
headBucket = jest.fn(
|
||||||
|
response({
|
||||||
|
Contents: {},
|
||||||
|
})
|
||||||
|
)
|
||||||
|
upload = jest.fn(
|
||||||
|
response({
|
||||||
|
Contents: {},
|
||||||
|
})
|
||||||
|
)
|
||||||
|
getObject = jest.fn(
|
||||||
|
response(
|
||||||
|
{
|
||||||
|
Body: "",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
createReadStream: jest
|
||||||
|
.fn()
|
||||||
|
.mockReturnValue(fs.createReadStream(join(__dirname, "aws-sdk.ts"))),
|
||||||
|
}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
DynamoDB: {
|
||||||
|
DocumentClient,
|
||||||
|
},
|
||||||
|
S3,
|
||||||
|
config: {
|
||||||
|
update: jest.fn(),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,24 +1,17 @@
|
||||||
module MsSqlMock {
|
module.exports = {
|
||||||
const mssql: any = {}
|
ConnectionPool: jest.fn(() => ({
|
||||||
|
connect: jest.fn(() => ({
|
||||||
mssql.query = jest.fn(() => ({
|
request: jest.fn(() => ({
|
||||||
|
query: jest.fn(sql => ({ recordset: [sql] })),
|
||||||
|
})),
|
||||||
|
})),
|
||||||
|
})),
|
||||||
|
query: jest.fn(() => ({
|
||||||
recordset: [
|
recordset: [
|
||||||
{
|
{
|
||||||
a: "string",
|
a: "string",
|
||||||
b: 1,
|
b: 1,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
}))
|
})),
|
||||||
|
|
||||||
// mssql.connect = jest.fn(() => ({ recordset: [] }))
|
|
||||||
|
|
||||||
mssql.ConnectionPool = jest.fn(() => ({
|
|
||||||
connect: jest.fn(() => ({
|
|
||||||
request: jest.fn(() => ({
|
|
||||||
query: jest.fn(sql => ({ recordset: [sql] })),
|
|
||||||
})),
|
|
||||||
})),
|
|
||||||
}))
|
|
||||||
|
|
||||||
module.exports = mssql
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,11 @@
|
||||||
module MySQLMock {
|
const client = {
|
||||||
const mysql: any = {}
|
connect: jest.fn(),
|
||||||
|
query: jest.fn((query, bindings, fn) => {
|
||||||
const client = {
|
fn(null, [])
|
||||||
connect: jest.fn(),
|
}),
|
||||||
query: jest.fn((query, bindings, fn) => {
|
}
|
||||||
fn(null, [])
|
|
||||||
}),
|
module.exports = {
|
||||||
}
|
createConnection: jest.fn(() => client),
|
||||||
|
client,
|
||||||
mysql.createConnection = jest.fn(() => client)
|
|
||||||
|
|
||||||
module.exports = mysql
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,31 +1,21 @@
|
||||||
module OracleDbMock {
|
const executeMock = jest.fn(() => ({
|
||||||
// mock execute
|
rows: [
|
||||||
const execute = jest.fn(() => ({
|
{
|
||||||
rows: [
|
a: "string",
|
||||||
{
|
b: 1,
|
||||||
a: "string",
|
},
|
||||||
b: 1,
|
],
|
||||||
},
|
}))
|
||||||
],
|
|
||||||
}))
|
|
||||||
|
|
||||||
const close = jest.fn()
|
const closeMock = jest.fn()
|
||||||
|
|
||||||
// mock connection
|
class Connection {
|
||||||
function Connection() {}
|
execute = executeMock
|
||||||
Connection.prototype.execute = execute
|
close = closeMock
|
||||||
Connection.prototype.close = close
|
}
|
||||||
|
|
||||||
// mock oracledb
|
module.exports = {
|
||||||
const oracleDb: any = {}
|
getConnection: jest.fn(() => new Connection()),
|
||||||
oracleDb.getConnection = jest.fn(() => {
|
executeMock,
|
||||||
// @ts-ignore
|
closeMock,
|
||||||
return new Connection()
|
|
||||||
})
|
|
||||||
|
|
||||||
// expose mocks
|
|
||||||
oracleDb.executeMock = execute
|
|
||||||
oracleDb.closeMock = close
|
|
||||||
|
|
||||||
module.exports = oracleDb
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,30 +1,25 @@
|
||||||
module PgMock {
|
const query = jest.fn(() => ({
|
||||||
const pg: any = {}
|
rows: [
|
||||||
|
{
|
||||||
|
a: "string",
|
||||||
|
b: 1,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}))
|
||||||
|
|
||||||
const query = jest.fn(() => ({
|
class Client {
|
||||||
rows: [
|
query = query
|
||||||
{
|
end = jest.fn(cb => {
|
||||||
a: "string",
|
|
||||||
b: 1,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}))
|
|
||||||
|
|
||||||
// constructor
|
|
||||||
function Client() {}
|
|
||||||
|
|
||||||
Client.prototype.query = query
|
|
||||||
Client.prototype.end = jest.fn(cb => {
|
|
||||||
if (cb) cb()
|
if (cb) cb()
|
||||||
})
|
})
|
||||||
Client.prototype.connect = jest.fn()
|
connect = jest.fn()
|
||||||
Client.prototype.release = jest.fn()
|
release = jest.fn()
|
||||||
|
}
|
||||||
const on = jest.fn()
|
|
||||||
|
const on = jest.fn()
|
||||||
pg.Client = Client
|
|
||||||
pg.queryMock = query
|
module.exports = {
|
||||||
pg.on = on
|
Client,
|
||||||
|
queryMock: query,
|
||||||
module.exports = pg
|
on,
|
||||||
}
|
}
|
||||||
|
|
|
@ -717,7 +717,7 @@ export class ExternalRequest<T extends Operation> {
|
||||||
|
|
||||||
const rows = related[key]?.rows || []
|
const rows = related[key]?.rows || []
|
||||||
|
|
||||||
function relationshipMatchPredicate({
|
const relationshipMatchPredicate = ({
|
||||||
row,
|
row,
|
||||||
linkPrimary,
|
linkPrimary,
|
||||||
linkSecondary,
|
linkSecondary,
|
||||||
|
@ -725,7 +725,7 @@ export class ExternalRequest<T extends Operation> {
|
||||||
row: Row
|
row: Row
|
||||||
linkPrimary: string
|
linkPrimary: string
|
||||||
linkSecondary?: string
|
linkSecondary?: string
|
||||||
}) {
|
}) => {
|
||||||
const matchesPrimaryLink =
|
const matchesPrimaryLink =
|
||||||
row[linkPrimary] === relationship.id ||
|
row[linkPrimary] === relationship.id ||
|
||||||
row[linkPrimary] === body?.[linkPrimary]
|
row[linkPrimary] === body?.[linkPrimary]
|
||||||
|
|
|
@ -330,6 +330,7 @@ describe("/queries", () => {
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
pg.queryMock.mockImplementation(() => ({
|
pg.queryMock.mockImplementation(() => ({
|
||||||
rows,
|
rows,
|
||||||
}))
|
}))
|
||||||
|
|
|
@ -120,7 +120,7 @@ const authorized =
|
||||||
!!subResourceId &&
|
!!subResourceId &&
|
||||||
(await sdk.permissions.getResourcePerms(subResourceId))
|
(await sdk.permissions.getResourcePerms(subResourceId))
|
||||||
|
|
||||||
function getPermLevel(permLevel: string) {
|
const getPermLevel = (permLevel: string) => {
|
||||||
let result: string[] = []
|
let result: string[] = []
|
||||||
if (permissions[permLevel]) {
|
if (permissions[permLevel]) {
|
||||||
result.push(permissions[permLevel].role)
|
result.push(permissions[permLevel].role)
|
||||||
|
|
Loading…
Reference in New Issue