@montevideo-tech/cmcd-validator
Version:
This is a library created to validate CMCD
995 lines (994 loc) • 38.8 kB
JavaScript
export const queryConfigTestCases = [
{
description:
'Test: Correct Query with configuration using only specifickey',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D3200%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
specificKey: ['br', 'sid'],
},
output: {
valid: true,
errors: [],
warnings: [],
parsedData: {
br: 3200,
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 'i',
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D3200%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Correct Query with configuration setting two specifickeys but providing just one in the query',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=cid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
specificKey: ['br', 'sid'],
},
output: {
valid: true,
errors: [],
warnings: [
{
description: 'A specific/custom key was set but not sent',
key: 'br',
type: 'specific-keys-not-sent',
value: undefined,
},
],
parsedData: {
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 'i',
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=cid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Correct Query with configuration using only specifickey, ingoring the error in st key',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D3200%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dqualabs%2Csu',
config: {
specificKey: ['br', 'sid'],
},
output: {
valid: true,
errors: [],
warnings: [],
parsedData: {
br: 3200,
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 'i',
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'qualabs',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D3200%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dqualabs%2Csu',
},
},
{
description:
'Test: Incorrect Query with configuration using only specifickey, with wrong type in br key',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_a64k/bbb_a64k_5.m4a?CMCD=bl%3D11600%2Cbr%3Dqualabs%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cd%3D4011%2Cdl%3D11600%2Cmtp%3D3900%2Cnor%3D%22bbb_a64k_6.m4a%22%2Cot%3Da%2Crtp%3D200%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Ctb%3D67',
config: {
specificKey: ['br', 'sid'],
},
output: {
valid: false,
errors: [
{
type: 'incorrect-format',
key: 'br',
value: 'qualabs',
description: 'The value for the key br must be a number',
},
],
warnings: [],
parsedData: undefined,
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_a64k/bbb_a64k_5.m4a?CMCD=bl%3D11600%2Cbr%3Dqualabs%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cd%3D4011%2Cdl%3D11600%2Cmtp%3D3900%2Cnor%3D%22bbb_a64k_6.m4a%22%2Cot%3Da%2Crtp%3D200%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Ctb%3D67',
},
},
{
description:
'Test: Incorrect Query with configuration using specificKey with wrong key',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=qualabs-br%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
specificKey: ['brc', 'sid'],
},
output: {
valid: false,
errors: [
{
description: 'The key does not mach with CMCD keys',
key: 'brc',
type: 'unknown-specific-key',
value: undefined,
},
],
warnings: [],
parsedData: undefined,
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=qualabs-br%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Incorrect Query with configuration using only specifickey with wrong value type',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=qualabs-br%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu%3D23',
config: {
specificKey: ['su', 'sid'],
},
output: {
valid: false,
errors: [
{
type: 'wrong-type-value',
key: 'su',
description: 'The value for the key su must be a boolean.',
value: '23',
},
],
warnings: [],
parsedData: undefined,
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=qualabs-br%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu%3D23',
},
},
{
description:
"Test: Correct Query with configuration using only specifickey, adding 'st' wrong value",
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=cid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dqualabs%2Csu',
config: {
specificKey: ['su', 'sid'],
},
output: {
valid: true,
errors: [],
warnings: [],
parsedData: {
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 'i',
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'qualabs',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=cid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dqualabs%2Csu',
},
},
{
description: 'Test: Correct Query with configuration using only customKey',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=com.qualabs-br%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
customKey: [
{
key: 'com.qualabs-br',
type: 'boolean',
},
],
},
output: {
valid: true,
errors: [],
warnings: [
{
type: 'no-alphabetical-order',
key: undefined,
value: undefined,
description: 'Keys are not arranged alphabetically',
},
],
parsedData: {
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 'i',
'com.qualabs-br': false,
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=com.qualabs-br%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Correct Query with configuration using customKey and specificKey',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=com.qualabs-br%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
customKey: [
{
key: 'com.qualabs-br',
type: 'boolean',
header: 'CMCD-Object',
},
],
specificKey: ['sid'],
},
output: {
valid: true,
errors: [],
warnings: [
{
type: 'no-alphabetical-order',
key: undefined,
value: undefined,
description: 'Keys are not arranged alphabetically',
},
],
parsedData: {
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 'i',
'com.qualabs-br': false,
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=com.qualabs-br%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Correct Query with configuration using customKey with two keys',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=com.qualabs-br%3Dfalse%2Ccom.qualabs-bs%3D45%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
customKey: [
{
key: 'com.qualabs-br',
type: 'boolean',
},
{
key: 'com.qualabs-bs',
type: 'number',
},
],
},
output: {
valid: true,
errors: [],
warnings: [
{
type: 'no-alphabetical-order',
key: undefined,
value: undefined,
description: 'Keys are not arranged alphabetically',
},
],
parsedData: {
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 'i',
'com.qualabs-br': false,
'com.qualabs-bs': 45,
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=com.qualabs-br%3Dfalse%2Ccom.qualabs-bs%3D45%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Correct Query with configuration using customKey with two keys but providing just one in the query',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=com.qualabs-br%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
customKey: [
{
key: 'com.qualabs-br',
type: 'boolean',
},
{
key: 'com.qualabs-bs',
type: 'number',
},
],
},
output: {
valid: true,
errors: [],
warnings: [
{
type: 'no-alphabetical-order',
key: undefined,
value: undefined,
description: 'Keys are not arranged alphabetically',
},
{
description: 'A specific/custom key was set but not sent',
key: 'com.qualabs-bs',
type: 'specific-keys-not-sent',
value: undefined,
},
],
parsedData: {
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 'i',
'com.qualabs-br': false,
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=com.qualabs-br%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Incorrect Query with configuration using only customKey with wrong type value',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=com.qualabs-br%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
customKey: [
{
key: 'com.qualabs-br',
type: 'qualabs',
},
],
},
output: {
valid: false,
errors: [
{
description: 'The type does not mach with CMCD types',
key: 'com.qualabs-br',
type: 'wrong-custom-type',
value: 'qualabs',
},
],
warnings: [],
parsedData: undefined,
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=com.qualabs-br%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description: 'Test: Incorrect Query with configuration using only customKey sending true value',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=com.qualabs-br%3Dtrue%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
customKey: [
{
key: 'com.qualabs-br',
type: 'boolean',
},
],
},
output: {
valid: false,
errors: [
{
type: 'incorrect-format',
key: 'com.qualabs-br',
value: 'true',
description: 'If the value is TRUE, the = and the value must be omitted',
},
],
warnings: [],
parsedData: undefined,
rawData: 'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=com.qualabs-br%3Dtrue%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description: 'Test: Incorrect Query with configuration using customKey with a wrong key name #1',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=qualabs-br%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
customKey: [
{
key: '--qualabs-br--',
type: 'boolean',
},
],
},
output: {
valid: false,
errors: [
{
type: 'invalid-custom-key',
key: '--qualabs-br--',
value: undefined,
description: 'Custom key names MUST carry a hyphenated prefix',
},
],
warnings: [
{
description: 'Customkey without Reverse DNS, could be: com.example-customkeyname',
key: undefined,
type: 'customkey-without-reversedns',
value: undefined,
},
],
parsedData: undefined,
rawData: 'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=qualabs-br%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description: 'Test: Incorrect Query with configuration using customKey with a wrong key name #2',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=qualabs-br%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
customKey: [
{
key: '-qualabs-',
type: 'boolean',
},
],
},
output: {
valid: false,
errors: [
{
type: 'invalid-custom-key',
key: '-qualabs-',
value: undefined,
description: 'Custom key names MUST carry a hyphenated prefix',
},
],
warnings: [
{
description: 'Customkey without Reverse DNS, could be: com.example-customkeyname',
key: undefined,
type: 'customkey-without-reversedns',
value: undefined,
},
],
parsedData: undefined,
rawData: 'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=qualabs-br%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description: 'Test: Incorrect Query with configuration using customKey with a wrong key name #3',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=qualabs-br%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
customKey: [
{
key: '-',
type: 'boolean',
},
],
},
output: {
valid: false,
errors: [
{
type: 'invalid-custom-key',
key: '-',
value: undefined,
description: 'Custom key names MUST carry a hyphenated prefix',
},
],
warnings: [
{
description: 'Customkey without Reverse DNS, could be: com.example-customkeyname',
key: undefined,
type: 'customkey-without-reversedns',
value: undefined,
},
],
parsedData: undefined,
rawData: 'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=qualabs-br%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description: 'Test: Incorrect Query with configuration using customKey with a wrong key name #4',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=qualabs-br.com%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
customKey: [
{
key: 'qualabs-br.com',
type: 'boolean',
},
],
},
output: {
valid: false,
errors: [
{
type: 'invalid-custom-key',
key: 'qualabs-br.com',
value: undefined,
description: 'Custom key names MUST carry a hyphenated prefix',
},
],
warnings: [
{
description: 'Customkey without Reverse DNS, could be: com.example-customkeyname',
key: undefined,
type: 'customkey-without-reversedns',
value: undefined,
},
],
parsedData: undefined,
rawData: 'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=qualabs-br.com%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description: 'Test: Warning bad Reverse DNS on customKey',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=qualabs-br%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
customKey: [
{
key: 'qualabs-br',
type: 'boolean',
},
],
},
output: {
valid: true,
errors: [],
warnings: [
{
description: 'Customkey without Reverse DNS, could be: com.example-customkeyname',
key: undefined,
type: 'customkey-without-reversedns',
value: undefined,
},
{
type: 'no-alphabetical-order',
key: undefined,
value: undefined,
description: 'Keys are not arranged alphabetically',
},
],
parsedData: {
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 'i',
'qualabs-br': false,
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=qualabs-br%3Dfalse%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: First stage checking if custom config is not persited, adding customKey config #1',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=com.qualabs-br%3Dfalse%2Ccom.qualabs-bs%3D45%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
customKey: [
{
key: 'com.qualabs-br',
type: 'boolean',
},
{
key: 'com.qualabs-bs',
type: 'number',
},
],
},
output: {
valid: true,
errors: [],
warnings: [
{
type: 'no-alphabetical-order',
key: undefined,
value: undefined,
description: 'Keys are not arranged alphabetically',
},
],
parsedData: {
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 'i',
'com.qualabs-br': false,
'com.qualabs-bs': 45,
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=com.qualabs-br%3Dfalse%2Ccom.qualabs-bs%3D45%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Second stage checking if custom config is not persited, without custom key config #2',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=com.qualabs-br%3Dfalse%2Ccom.qualabs-bs%3D45%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
customKey: [
{
key: 'com.qualabs-bs',
type: 'number',
},
],
},
output: {
valid: false,
errors: [
{
description: 'The key com.qualabs-br is not reserved.',
key: 'com.qualabs-br',
type: 'unknown-key',
value: 'false',
},
],
warnings: [
{
type: 'no-alphabetical-order',
key: undefined,
value: undefined,
description: 'Keys are not arranged alphabetically',
},
],
parsedData: {
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 'i',
'com.qualabs-br': 'false',
'com.qualabs-bs': 45,
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=com.qualabs-br%3Dfalse%2Ccom.qualabs-bs%3D45%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Correct Query with configuration using only specifickey',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D3200%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3D34%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
specificKey: ['br', 'sid'],
},
output: {
valid: true,
errors: [],
warnings: [],
parsedData: {
br: 3200,
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 34,
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D3200%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3D34%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Correct Query with error in br not included in specific key',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D%22qualabs%22%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
specificKey: ['sid'],
},
output: {
valid: true,
errors: [],
warnings: [],
parsedData: {
br: 'qualabs',
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 'i',
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D%22qualabs%22%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Incorrect Query with error in br included in specific key',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D%22qualabs%22%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
specificKey: ['br', 'sid'],
},
output: {
valid: false,
errors: [
{
description: 'The value for the key br must be a number',
type: 'incorrect-format',
key: 'br',
value: '"qualabs"',
},
],
warnings: [],
parsedData: undefined,
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D%22qualabs%22%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Correct Query with configuration using specifickey with error in ot (token with quotes)',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D3200%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3D%22i%22%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
specificKey: ['br', 'sid'],
},
output: {
valid: true,
errors: [],
warnings: [],
parsedData: {
br: 3200,
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 'i',
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D3200%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3D%22i%22%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Correct Query with configuration using specifickey with error in ot (not a string)',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D3200%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3D12345%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
specificKey: ['br', 'sid'],
},
output: {
valid: true,
errors: [],
warnings: [],
parsedData: {
br: 3200,
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 12345,
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D3200%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3D12345%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Correct Header with configuration using specifickey with error in ot (token with quotes)',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D3200%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3D%22i%22%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
specificKey: ['br', 'sid'],
},
output: {
valid: true,
errors: [],
warnings: [],
parsedData: {
br: 3200,
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 'i',
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D3200%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3D%22i%22%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Correct Query with configuration using specifickey with error in ot (not a string)',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D3200%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3D12345%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
specificKey: ['br', 'sid'],
},
output: {
valid: true,
errors: [],
warnings: [],
parsedData: {
br: 3200,
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 12345,
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D3200%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3D12345%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Correct Header with configuration using specifickey with error in bs (=true)',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D3200%2Cbs%3Dtrue%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
specificKey: ['br', 'sid'],
},
output: {
valid: true,
errors: [],
warnings: [],
parsedData: {
br: 3200,
bs: 'true',
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 'i',
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D3200%2Cbs%3Dtrue%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Correct Header with configuration using specifickey with error in bs (value string != false)',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D3200%2Cbs%3D%22qualabs%22%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
specificKey: ['br', 'sid'],
},
output: {
valid: true,
errors: [],
warnings: [],
parsedData: {
br: 3200,
bs: 'qualabs',
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 'i',
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D3200%2Cbs%3D%22qualabs%22%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Correct Header with configuration using specifickey with error in bs (value number)',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D3200%2Cbs%3D12345%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
specificKey: ['br', 'sid'],
},
output: {
valid: true,
errors: [],
warnings: [],
parsedData: {
br: 3200,
bs: 12345,
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 'i',
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=br%3D3200%2Cbs%3D12345%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Correct Header with configuration using specifickey with error in bl (number with quotes)',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=bl%3D%2212345%22%2Cbr%3D3200%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
specificKey: ['br', 'sid'],
},
output: {
valid: true,
errors: [],
warnings: [],
parsedData: {
bl: '12345',
br: 3200,
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 'i',
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=bl%3D%2212345%22%2Cbr%3D3200%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Correct Header with configuration using specifickey with error in bl (not a number)',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=bl%3D%22qualabs%22%2Cbr%3D3200%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
specificKey: ['br', 'sid'],
},
output: {
valid: true,
errors: [],
warnings: [],
parsedData: {
bl: 'qualabs',
br: 3200,
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 'i',
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=bl%3D%22qualabs%22%2Cbr%3D3200%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
{
description:
'Test: Correct Header with configuration using specifickey with error in bl (not a number) #2',
query:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=bl%3Dtrue%2Cbr%3D3200%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
config: {
specificKey: ['br', 'sid'],
},
output: {
valid: true,
errors: [],
warnings: [],
parsedData: {
bl: 'true',
br: 3200,
cid: '21cf726cfe3d937b5f974f72bb5bd06a',
ot: 'i',
sf: 'd',
sid: 'b248658d-1d1a-4039-91d0-8c08ba597da5',
st: 'v',
su: true,
},
rawData:
'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_0.m4v?CMCD=bl%3Dtrue%2Cbr%3D3200%2Ccid%3D%2221cf726cfe3d937b5f974f72bb5bd06a%22%2Cot%3Di%2Csf%3Dd%2Csid%3D%22b248658d-1d1a-4039-91d0-8c08ba597da5%22%2Cst%3Dv%2Csu',
},
},
];