@@ -15,10 +15,11 @@ const keysData = keyTypes.map(object => ({ ...object })).filter((v, i) => i <= 6
15
15
keysData . forEach ( key => key . keyName = `${ key . keyName } ` + '-' + `${ common . generateWord ( keyLength ) } ` ) ;
16
16
const binaryFormattersSet = [ formatters [ 5 ] , formatters [ 6 ] , formatters [ 7 ] ] ;
17
17
const formattersHighlightedSet = [ formatters [ 0 ] , formatters [ 3 ] ] ;
18
- const fromBinaryFormattersSet = [ formatters [ 1 ] , formatters [ 2 ] , formatters [ 4 ] ] ;
18
+ const fromBinaryFormattersSet = [ formatters [ 1 ] , formatters [ 2 ] , formatters [ 4 ] , formatters [ 8 ] ] ;
19
19
const formattersForEditSet = [ formatters [ 0 ] , formatters [ 1 ] , formatters [ 3 ] ] ;
20
- const formattersWithTooltipSet = [ formatters [ 0 ] , formatters [ 1 ] , formatters [ 2 ] , formatters [ 3 ] , formatters [ 4 ] ] ;
21
- const notEditableFormattersSet = [ formatters [ 2 ] , formatters [ 4 ] ] ;
20
+ const formattersWithTooltipSet = [ formatters [ 0 ] , formatters [ 1 ] , formatters [ 2 ] , formatters [ 3 ] , formatters [ 4 ] , formatters [ 8 ] ] ;
21
+ const notEditableFormattersSet = [ formatters [ 2 ] , formatters [ 4 ] , formatters [ 8 ] ] ;
22
+ const defaultFormatter = 'Unicode' ;
22
23
23
24
fixture `Formatters`
24
25
. meta ( {
@@ -43,21 +44,22 @@ formattersHighlightedSet.forEach(formatter => {
43
44
// Create new keys
44
45
await addKeysViaCli ( keysData , formatter . fromText , formatter . fromText ) ;
45
46
} ) ( `Verify that user can see highlighted key details in ${ formatter . format } format` , async t => {
46
- // Verify for JSON and PHP Unserialize
47
+ // Verify for JSON and PHP serialized
47
48
// Verify for Hash, List, Set, ZSet, String, Stream keys
48
49
for ( const key of keysData ) {
49
50
const valueSelector = Selector ( `[data-testid^=${ key . keyName . split ( '-' ) [ 0 ] } -][data-testid*=${ key . data } ]` ) ;
50
51
await browserPage . openKeyDetailsByKeyName ( key . keyName ) ;
51
52
// Verify that value not formatted with default formatter
53
+ await browserPage . selectFormatter ( defaultFormatter ) ;
52
54
await t . expect ( valueSelector . find ( browserPage . cssJsonValue ) . exists ) . notOk ( `${ key . textType } Value is formatted to ${ formatter . format } ` ) ;
53
55
await browserPage . selectFormatter ( formatter . format ) ;
54
56
// Verify that value is formatted and highlighted
55
57
await t . expect ( valueSelector . find ( browserPage . cssJsonValue ) . exists ) . ok ( `${ key . textType } Value is not formatted to ${ formatter . format } ` ) ;
56
- // Verify that Hash field is formatted and highlighted for JSON and PHP Unserialize
58
+ // Verify that Hash field is formatted and highlighted for JSON and PHP serialized
57
59
if ( key . keyName === 'hash' ) {
58
60
await t . expect ( browserPage . hashField . find ( browserPage . cssJsonValue ) . exists ) . ok ( `Hash field is not formatted to ${ formatter . format } ` ) ;
59
61
}
60
- // Verify that Stream field is formatted and highlighted for JSON and PHP Unserialize
62
+ // Verify that Stream field is formatted and highlighted for JSON and PHP serialized
61
63
if ( key . keyName === 'stream' ) {
62
64
await t . expect ( Selector ( browserPage . cssJsonValue ) . count ) . eql ( 2 , `Hash field is not formatted to ${ formatter . format } ` ) ;
63
65
}
@@ -66,7 +68,7 @@ formattersHighlightedSet.forEach(formatter => {
66
68
} ) ;
67
69
fromBinaryFormattersSet . forEach ( formatter => {
68
70
test ( `Verify that user can see highlighted key details in ${ formatter . format } format` , async t => {
69
- // Verify for Msgpack, Protobuf, Java Object formats
71
+ // Verify for Msgpack, Protobuf, Java serialized, Pickle formats
70
72
// Open Hash key details
71
73
await browserPage . openKeyDetailsByKeyName ( keysData [ 0 ] . keyName ) ;
72
74
// Add valid value in HEX format for convertion
@@ -81,7 +83,7 @@ fromBinaryFormattersSet.forEach(formatter => {
81
83
} ) ;
82
84
formattersForEditSet . forEach ( formatter => {
83
85
test ( `Verify that user can edit the values in the key regardless if they are valid in ${ formatter . format } format or not` , async t => {
84
- // Verify for JSON, Msgpack, PHP unserialise formatters
86
+ // Verify for JSON, Msgpack, PHP serialized formatters
85
87
const invalidText = 'invalid text' ;
86
88
// Open key details and select formatter
87
89
await browserPage . openKeyDetails ( keysData [ 0 ] . keyName ) ;
@@ -92,7 +94,7 @@ formattersForEditSet.forEach(formatter => {
92
94
// Add valid value which can be converted
93
95
await browserPage . editHashKeyValue ( formatter . fromText ?? '' ) ;
94
96
// Verify that valid value can be saved on edit
95
- formatter . format === 'PHP Unserialize '
97
+ formatter . format === 'PHP serialized '
96
98
? await t . expect ( browserPage . hashFieldValue . innerText ) . contains ( formatter . formattedText ?? '' , `Valid ${ formatter . format } value is not saved` )
97
99
: await t . expect ( browserPage . hashFieldValue . innerText ) . contains ( formatter . fromText ?? '' , `Valid ${ formatter . format } value is not saved` ) ;
98
100
await t . expect ( browserPage . hashFieldValue . find ( browserPage . cssJsonValue ) . exists ) . ok ( `Value is not formatted to ${ formatter . format } ` ) ;
@@ -104,7 +106,7 @@ formattersForEditSet.forEach(formatter => {
104
106
} ) ;
105
107
formattersWithTooltipSet . forEach ( formatter => {
106
108
test ( `Verify that user can see tooltip with convertion failed message on hover when data is not valid ${ formatter . format } ` , async t => {
107
- // Verify for JSON, Msgpack, Protobuf, PHP unserialise , Java serialized object formatters
109
+ // Verify for JSON, Msgpack, Protobuf, PHP serialized , Java serialized object, Pickle formatters
108
110
const failedMessage = `Failed to convert to ${ formatter . format } ` ;
109
111
for ( let i = 0 ; i < keysData . length ; i ++ ) {
110
112
const valueSelector = Selector ( `[data-testid^=${ keysData [ i ] . keyName . split ( '-' ) [ 0 ] } -][data-testid*=${ keysData [ i ] . data } ]` ) ;
@@ -132,6 +134,7 @@ binaryFormattersSet.forEach(formatter => {
132
134
const valueSelector = Selector ( `[data-testid^=${ keysData [ i ] . keyName . split ( '-' ) [ 0 ] } -][data-testid*=${ keysData [ i ] . data } ]` ) ;
133
135
await browserPage . openKeyDetailsByKeyName ( keysData [ i ] . keyName ) ;
134
136
// Verify that value not formatted with default formatter
137
+ await browserPage . selectFormatter ( defaultFormatter ) ;
135
138
await t . expect ( valueSelector . innerText ) . contains ( formatter . fromText ?? '' , `Value is formatted as ${ formatter . format } in Unicode` ) ;
136
139
await browserPage . selectFormatter ( formatter . format ) ;
137
140
// Verify that value is formatted
@@ -163,7 +166,7 @@ binaryFormattersSet.forEach(formatter => {
163
166
await t . expect ( browserPage . hashFieldValue . innerText ) . contains ( formatter . fromTextEdit ?? '' , `${ formatter . format } value is not converted to Unicode` ) ;
164
167
} ) ;
165
168
} ) ;
166
- test ( 'Verify that user can format different data types of PHP unserialize ' , async t => {
169
+ test ( 'Verify that user can format different data types of PHP serialized ' , async t => {
167
170
// Open Hash key details
168
171
await browserPage . openKeyDetailsByKeyName ( keysData [ 0 ] . keyName ) ;
169
172
for ( const type of phpData ) {
@@ -172,15 +175,15 @@ test('Verify that user can format different data types of PHP unserialize', asyn
172
175
await browserPage . addFieldToHash ( type . dataType , type . from ) ;
173
176
//Search the added field
174
177
await browserPage . searchByTheValueInKeyDetails ( type . dataType ) ;
175
- await browserPage . selectFormatter ( 'PHP Unserialize ' ) ;
176
- // Verify that PHP Unserialize value is formatted and highlighted
178
+ await browserPage . selectFormatter ( 'PHP serialized ' ) ;
179
+ // Verify that PHP serialized value is formatted and highlighted
177
180
await t . expect ( browserPage . hashFieldValue . innerText ) . contains ( type . converted , `Value is not saved as PHP ${ type . dataType } ` ) ;
178
181
await t . expect ( browserPage . hashFieldValue . find ( browserPage . cssJsonValue ) . exists ) . ok ( `Value is not formatted to PHP ${ type . dataType } ` ) ;
179
182
}
180
183
} ) ;
181
184
notEditableFormattersSet . forEach ( formatter => {
182
185
test ( `Verify that user see edit icon disabled for all keys when ${ formatter . format } selected` , async t => {
183
- // Verify for Protobuf and Java Object
186
+ // Verify for Protobuf, Java serialized, Pickle
184
187
// Verify for Hash, List, ZSet, String keys
185
188
for ( const key of keysData ) {
186
189
if ( key . keyName === 'hash' || key . keyName === 'list' || key . keyName === 'zset' || key . keyName === 'string' ) {
0 commit comments