Open SPIRIT-00 opened 1 week ago
@SPIRIT-00 can you please provide a .bru file where this can be reproduced, or at least provide a screenshot for the assertion that is failing (not the result, the assertion tab)
Thanks 😉
@SPIRIT-00 can you please provide a .bru file where this can be reproduced, or at least provide a screenshot for the assertion that is failing (not the result, the assertion tab)
Thanks 😉
Yep, it test from another issue:
meta {
name: interpolation
type: http
seq: 1
}
post {
url: {{TestServerApi}}
body: none
auth: none
}
vars:pre-request {
Rstring: string
Rboolean: false
Rnumber: 2
Rnull: null
Rundefined: undefined
}
assert {
req.body: isDefined
res.body: isDefined
}
script:pre-request {
const body = {
EnvLevelVars: {
Estring: [bru.getEnvVar('Estring'), 'string'],
Eboolean: [bru.getEnvVar('Eboolean'), 'boolean'],
Enumber: [bru.getEnvVar('Enumber'), 'number'],
Enull: [bru.getEnvVar('Enull'), 'null'],
Eundefined: [bru.getEnvVar('Eundefined'), 'undefined']
},
CollectionLevelVars: {
Cstring: [bru.getVar('Cstring'), 'string'],
Cboolean: [bru.getVar('Cboolean'), 'boolean'],
Cnumber: [bru.getVar('Cnumber'), 'number'],
Cnull: [bru.getRequestVar('Cnull'), 'null'],
Cundefined: [bru.getRequestVar('Cundefined'), 'undefined']
},
FolderLevelVars: {
Fstring: [bru.getVar('Fstring'), 'string'],
Fboolean: [bru.getVar('Fboolean'), 'boolean'],
Fnumber: [bru.getVar('Fnumber'), 'number'],
Fnull: [bru.getRequestVar('Fnull'), 'null'],
Fundefined: [bru.getRequestVar('Fundefined'), 'undefined']
},
RequestLevelVars: {
Rstring: [bru.getRequestVar('Rstring'), 'string'],
Rboolean: [bru.getRequestVar('Rboolean'), 'boolean'],
Rnumber: [bru.getRequestVar('Rnumber'), 'number'],
Rnull: [bru.getRequestVar('Rnull'), 'null'],
Rundefined: [bru.getRequestVar('Rundefined'), 'undefined']
}
};
req.setBody(body);
}
tests {
const vars = {
EnvLevelVars: {
Estring: [bru.getEnvVar('Estring'), 'string'],
Eboolean: [bru.getEnvVar('Eboolean'), 'boolean'],
Enumber: [bru.getEnvVar('Enumber'), 'number'],
Enull: [bru.getEnvVar('Enull'), 'null'],
Eundefined: [bru.getEnvVar('Eundefined'), 'undefined']
},
CollectionLevelVars: {
Cstring: [bru.getCollectionVar('Cstring'), 'string'],
Cboolean: [bru.getCollectionVar('Cboolean'), 'boolean'],
Cnumber: [bru.getCollectionVar('Cnumber'), 'number'],
Cnull: [bru.getCollectionVar('Cnull'), 'null'],
Cundefined: [bru.getCollectionVar('Cundefined'), 'undefined']
},
FolderLevelVars: {
Fstring: [bru.getFolderVar('Fstring'), 'string'],
Fboolean: [bru.getFolderVar('Fboolean'), 'boolean'],
Fnumber: [bru.getFolderVar('Fnumber'), 'number'],
Fnull: [bru.getFolderVar('Fnull'), 'null'],
Fundefined: [bru.getFolderVar('Fundefined'), 'undefined']
},
RequestLevelVars: {
Rstring: [bru.getRequestVar('Rstring'), 'string'],
Rboolean: [bru.getRequestVar('Rboolean'), 'boolean'],
Rnumber: [bru.getRequestVar('Rnumber'), 'number'],
Rnull: [bru.getRequestVar('Rnull'), 'null'],
Rundefined: [bru.getRequestVar('Rundefined'), 'undefined']
}
};
for (const level in vars) {
const levelVal = vars[level];
for (const value in levelVal) {
const vl = levelVal[value][0];
const awaited = levelVal[value][1];
test(`${level}.${value} = <${vl}>, DataType is <${getDataType(vl)}> must be <${awaited}>.`, () => {
expect(getDataType(vl)).to.equal(awaited);
});
}
}
function getDataType(value) {
const dataType = typeof value;
switch (dataType) {
case 'number': if (isNaN(value)) { return 'NaN'; } else { return dataType; } break
case 'object': if (Array.isArray(value)) { return 'array'; } else if (value == null) { return 'null'; } else { return dataType; } break
default: return dataType;
}
}
}
As you may see body not defined, but it seted by pre-req script. Some screenshots: No body defined: Body seted by script: Assert tab: Timeline, body exists: Assert fail:
I have checked the following:
Describe the bug
Bug in title.
.bru file to reproduce the bug
No response
Screenshots/Live demo link