[SDC] rebase 1710 code
[sdc.git] / common-app-api / src / test / java / org / openecomp / sdc / common / test / CommonUtilsTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.sdc.common.test;
22
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.assertFalse;
25 import static org.junit.Assert.assertTrue;
26
27 import java.util.ArrayList;
28 import java.util.HashMap;
29 import java.util.List;
30 import java.util.Map;
31
32 import org.junit.Ignore;
33 import org.junit.Test;
34 import org.openecomp.sdc.common.api.Constants;
35 import org.openecomp.sdc.common.util.GeneralUtility;
36 import org.openecomp.sdc.common.util.HtmlCleaner;
37 import org.openecomp.sdc.common.util.ValidationUtils;
38 import org.openecomp.sdc.common.util.YamlToObjectConverter;
39 import org.slf4j.Logger;
40 import org.slf4j.LoggerFactory;
41 import org.yaml.snakeyaml.DumperOptions;
42 import org.yaml.snakeyaml.Yaml;
43
44 public class CommonUtilsTest {
45         private static Logger log = LoggerFactory.getLogger(CommonUtilsTest.class.getName());
46
47         /*
48          * Validation utils start
49          */
50         @Test
51         public void testValidateServiceName() {
52
53                 assertTrue(ValidationUtils.validateComponentNamePattern("1111222"));
54                 assertTrue(ValidationUtils.validateComponentNamePattern("sfE4444"));
55                 assertTrue(ValidationUtils.validateComponentNamePattern("1111sfd222"));
56                 assertTrue(ValidationUtils.validateComponentNamePattern("11sdf 1124_22"));
57                 assertTrue(ValidationUtils.validateComponentNamePattern("111----1222"));
58                 assertTrue(ValidationUtils.validateComponentNamePattern("1111f .222"));
59                 assertTrue(ValidationUtils.validateComponentNamePattern("1111222"));
60                 assertFalse(ValidationUtils.validateComponentNamePattern("11!11222"));
61                 assertFalse(ValidationUtils.validateComponentNamePattern("111|`1222"));
62                 assertFalse(ValidationUtils.validateComponentNamePattern("."));
63                 assertFalse(ValidationUtils.validateComponentNamePattern(""));
64                 assertTrue(ValidationUtils.validateComponentNamePattern("s"));
65         }
66
67         @Test
68         public void validateServiceNameLengthTest() {
69                 assertTrue(ValidationUtils.validateComponentNameLength("fsdlfsdlksdsd;"));
70                 // assertFalse(ValidationUtils.validateComponentNameLength("ddddddddddddddddddddddsdfsddddddddddddddddddddddsdfs"));
71         }
72
73         @Test
74         public void testValidateIcon() {
75
76                 assertTrue(ValidationUtils.validateIcon("something"));
77                 assertTrue(ValidationUtils.validateIcon("sfE4444"));
78                 assertTrue(ValidationUtils.validateIcon("1111sfd222"));
79                 assertTrue(ValidationUtils.validateIcon("11sdf1124_22"));
80                 assertTrue(ValidationUtils.validateIcon("111----1222"));
81                 assertFalse(ValidationUtils.validateIcon("1111f.222"));
82                 assertTrue(ValidationUtils.validateIcon("1111222"));
83                 assertFalse(ValidationUtils.validateIcon("1111 222"));
84                 assertFalse(ValidationUtils.validateIcon("11!11222"));
85                 assertFalse(ValidationUtils.validateIcon("111|`1222"));
86
87         }
88
89         @Test
90         public void testFloatParsing() {
91                 assertTrue(ValidationUtils.isFloatNumber("15555.45"));
92                 assertTrue(ValidationUtils.isFloatNumber("0.5"));
93                 assertFalse(ValidationUtils.isFloatNumber("15555"));
94                 assertFalse(ValidationUtils.isFloatNumber("1"));
95                 assertFalse(ValidationUtils.isFloatNumber("jk532"));
96                 assertFalse(ValidationUtils.isFloatNumber("12..6"));
97
98         }
99
100         @Test
101         public void testValidateIconLength() {
102                 assertTrue(ValidationUtils.validateIconLength("fsdlfsdlksdsd"));
103                 assertFalse(ValidationUtils.validateIconLength("ddddddddddddddddddddddsdfsddddddddddddddddddddddsdfs"));
104         }
105
106         @Test
107         public void testValidateProjectCode() {
108
109                 assertTrue(ValidationUtils.validateProjectCode("15555"));
110                 assertTrue(ValidationUtils.validateProjectCode("12434501"));
111                 assertTrue(ValidationUtils.validateProjectCode("00000"));
112                 assertTrue(ValidationUtils.validateProjectCode("something"));
113                 assertTrue(ValidationUtils.validateProjectCode("som ething"));
114                 assertTrue(ValidationUtils.validateProjectCode("3255 656"));
115                 assertTrue(ValidationUtils.validateProjectCode("43535t636"));
116                 assertFalse(ValidationUtils.validateProjectCode("098&656"));
117         }
118
119         @Test
120         public void testValidateProjectCodeLength() {
121
122                 assertTrue(ValidationUtils.validateProjectCodeLegth("00000"));
123                 assertFalse(ValidationUtils.validateProjectCodeLegth("ddddddddddddddddddddddsdfsddddddddddddddddddddddsdfs"));
124
125         }
126
127         @Test
128         public void testValidateContactId() {
129
130                 assertTrue(ValidationUtils.validateContactId("ml7889"));
131                 assertTrue(ValidationUtils.validateContactId("Ml7889"));
132                 assertTrue(ValidationUtils.validateContactId("ml788r"));
133                 assertTrue(ValidationUtils.validateContactId("something"));
134                 assertTrue(ValidationUtils.validateContactId("mlk111"));
135                 assertTrue(ValidationUtils.validateContactId("12ml89"));
136                 assertFalse(ValidationUtils.validateContactId("!!78900"));
137         }
138
139         @Test
140         public void testRemoveHtml() {
141
142                 assertTrue("gooboo".equals(ValidationUtils.removeHtmlTags("<b>goo<b></b></b><b>boo</b>")));
143                 assertTrue("goo&lt;boo".equals(ValidationUtils.removeHtmlTags("<b>goo<b></b><</b><b>boo</b>")));
144                 assertTrue("goo boo".equals(ValidationUtils.removeHtmlTags("goo boo")));
145                 assertTrue("goo# . boo12".equals(ValidationUtils.removeHtmlTags("goo# . boo12")));
146         }
147
148         @Test
149         public void testnormaliseWhitespace() {
150
151                 assertTrue("goo boo".equals(ValidationUtils.normaliseWhitespace("goo boo")));
152                 assertTrue("goo boo ".equals(ValidationUtils.normaliseWhitespace("goo boo       ")));
153                 assertTrue("goo boo".equals(ValidationUtils.normaliseWhitespace("goo    boo")));
154         }
155
156         @Test
157         public void teststripOctets() {
158                 assertTrue("goo boo".equals(ValidationUtils.stripOctets("goo%1F boo")));
159                 assertTrue("goo boo ".equals(ValidationUtils.stripOctets("goo boo %1F")));
160                 assertTrue("goo boo".equals(ValidationUtils.stripOctets("%1Fgoo boo")));
161         }
162
163         @Test
164         public void testRemoveNoneUtf8Chars() {
165                 assertTrue("goo boo".equals(ValidationUtils.removeNoneUtf8Chars("goo boo")));
166                 assertTrue("goo boo!!._".equals(ValidationUtils.removeNoneUtf8Chars("goo boo!!._")));
167                 assertTrue("goo         boo".equals(ValidationUtils.removeNoneUtf8Chars("goo    boo")));
168                 assertTrue("goo  bo123o".equals(ValidationUtils.removeNoneUtf8Chars("goo  bo123o")));
169                 assertTrue("goo  bo123o".equals(ValidationUtils.removeNoneUtf8Chars("goo  ×§×§bo123oגכקק")));
170                 assertTrue("goo  bo123o".equals(ValidationUtils.removeNoneUtf8Chars("goo  bo1������23o")));
171         }
172
173         @Test
174         public void validateEnglishTest() {
175                 assertTrue(ValidationUtils.validateIsEnglish("ml7889"));
176                 assertFalse(ValidationUtils.validateIsEnglish("ml7889קר"));
177                 assertFalse(ValidationUtils.validateIsEnglish("ml7889æ–‡"));
178         }
179
180         @Test
181         public void removeDuplicateFromListTest() {
182                 List<String> tagsBefore = new ArrayList<>();
183                 tagsBefore.add("tag1");
184                 tagsBefore.add("tag7");
185                 tagsBefore.add("tag3");
186                 tagsBefore.add("tag4");
187                 tagsBefore.add("tag1");
188
189                 List<String> tagsAfter = new ArrayList<>();
190                 tagsAfter.add("tag1");
191                 tagsAfter.add("tag7");
192                 tagsAfter.add("tag3");
193                 tagsAfter.add("tag4");
194                 assertTrue(tagsAfter.containsAll(ValidationUtils.removeDuplicateFromList(tagsBefore)));
195                 tagsBefore = new ArrayList<>();
196                 tagsBefore.add("tag1");
197                 tagsBefore.add("tag7");
198                 tagsBefore.add("tag3");
199                 tagsBefore.add("tag4");
200                 tagsBefore.add("Tag1");
201
202                 tagsAfter = new ArrayList<>();
203                 tagsAfter.add("tag1");
204                 tagsAfter.add("tag7");
205                 tagsAfter.add("tag3");
206                 tagsAfter.add("tag4");
207                 tagsAfter.add("Tag1");
208                 assertTrue(tagsAfter.containsAll(ValidationUtils.removeDuplicateFromList(tagsBefore)));
209         }
210
211         @Test
212         public void validateTagLengthTest() {
213                 assertTrue(ValidationUtils.validateTagLength("fsdlfsdlkfjkljsdf"));
214                 // assertFalse(ValidationUtils.validateTagLength("ddddddddddddddddddddddsdfsddddddddddddddddddddddsdfs"));
215
216         }
217
218         @Test
219         public void validateTagListLengthTest() {
220                 assertTrue(ValidationUtils.validateTagListLength("fsdlfsdlkfjkljsdf,dsfsdfsdf".length()));
221                 StringBuilder sb = new StringBuilder();
222                 for (int i = 0; i <= 1024; i++) {
223                         sb.append("a");
224                 }
225                 assertFalse(ValidationUtils.validateTagListLength(sb.toString().length()));
226
227         }
228
229         @Test
230         public void validateDescriptionLengthTest() {
231                 assertTrue(ValidationUtils.validateDescriptionLength("fsdlfsdlkfjkljsddgfgdfgdfgdfgff"));
232                 StringBuilder sb = new StringBuilder();
233                 for (int i = 0; i <= 1024; i++) {
234                         sb.append("a");
235                 }
236                 assertFalse(ValidationUtils.validateDescriptionLength(sb.toString()));
237
238         }
239
240         @Test
241         public void validateStringNotEmptyTest() {
242                 assertTrue(ValidationUtils.validateStringNotEmpty("fsdlfsdlk"));
243                 assertFalse(ValidationUtils.validateStringNotEmpty(""));
244                 assertFalse(!ValidationUtils.validateStringNotEmpty("  "));
245                 assertFalse(!ValidationUtils.validateStringNotEmpty("   "));
246         }
247
248         @Test
249         public void validateVendorNameTest() {
250                 assertTrue(ValidationUtils.validateVendorName("fsdlfsdlk"));
251                 assertTrue(ValidationUtils.validateVendorName("fsdlfsdlk.sdsd;"));
252                 assertFalse(ValidationUtils.validateVendorName("sadf:"));
253                 assertFalse(ValidationUtils.validateVendorName("sadf/"));
254                 assertFalse(ValidationUtils.validateVendorName("sadf?"));
255         }
256
257         @Test
258         public void validateVendorNameLengthTest() {
259                 assertTrue(ValidationUtils.validateVendorNameLength("fsdlfsdlk.sdsd;"));
260                 assertFalse(ValidationUtils.validateVendorNameLength("ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddsdfs"));
261         }
262
263         @Test
264         public void validateVendorReleaseTest() {
265                 assertTrue(ValidationUtils.validateVendorRelease("fsdlfsdlk"));
266                 assertTrue(ValidationUtils.validateVendorRelease("fsdlfsdlk.sdsd;"));
267                 assertFalse(ValidationUtils.validateVendorRelease("sadf:"));
268                 assertFalse(ValidationUtils.validateVendorRelease("sadf/"));
269                 assertFalse(ValidationUtils.validateVendorRelease("sadf?"));
270         }
271
272         @Test
273         public void validateVendorReleaseLengthTest() {
274                 assertTrue(ValidationUtils.validateVendorReleaseLength("fsdlfsdlk.sdsd;"));
275                 assertFalse(ValidationUtils.validateVendorReleaseLength("ddddddddddddddddddddddsdfs"));
276         }
277
278         @Test
279         public void hasBeenCertifiedTest() {
280                 assertTrue(ValidationUtils.hasBeenCertified("1.2"));
281                 assertTrue(ValidationUtils.hasBeenCertified("2.2"));
282                 assertTrue(ValidationUtils.hasBeenCertified("1.0"));
283                 assertFalse(ValidationUtils.hasBeenCertified("0.1"));
284
285         }
286
287         @Test
288         public void normalizedNameTest() {
289                 String input = "MyNewSysName";
290                 String outputNorm = ValidationUtils.normaliseComponentName(input);
291                 String outputSys = ValidationUtils.convertToSystemName(input);
292                 log.debug("{} <> {} <> {}", input, outputNorm, outputSys);
293
294                 input = "My New Sys Name";
295                 outputNorm = ValidationUtils.normaliseComponentName(input);
296                 outputSys = ValidationUtils.convertToSystemName(input);
297                 log.debug("{} <> {} <> {}", input, outputNorm, outputSys);
298
299                 input = "My.New-Sys_Name";
300                 outputNorm = ValidationUtils.normaliseComponentName(input);
301                 outputSys = ValidationUtils.convertToSystemName(input);
302                 log.debug("{} <> {} <> {}", input, outputNorm, outputSys);
303
304                 input = "My..New-Sys_Name";
305                 outputNorm = ValidationUtils.normaliseComponentName(input);
306                 outputSys = ValidationUtils.convertToSystemName(input);
307                 log.debug("{} <> {} <> {}", input, outputNorm, outputSys);
308
309                 input = "My.New--sys_NAme";
310                 outputNorm = ValidationUtils.normaliseComponentName(input);
311                 outputSys = ValidationUtils.convertToSystemName(input);
312                 log.debug("{} <> {} <> {}", input, outputNorm, outputSys);
313
314                 input = "Layer 3 Connectivity";
315                 outputNorm = ValidationUtils.normaliseComponentName(input);
316                 outputSys = ValidationUtils.convertToSystemName(input);
317                 log.debug("{} <> {} <> {}", input, outputNorm, outputSys);
318
319                 input = "Layer 3 VPN";
320                 outputNorm = ValidationUtils.normaliseComponentName(input);
321                 outputSys = ValidationUtils.convertToSystemName(input);
322                 log.debug("{} <> {} <> {}", input, outputNorm, outputSys);
323
324                 input = "Layer-3      Connectivity";
325                 outputNorm = ValidationUtils.normaliseComponentName(input);
326                 outputSys = ValidationUtils.convertToSystemName(input);
327                 log.debug("{} <> {} <> {}", input, outputNorm, outputSys);
328
329                 input = "IP-connectivity";
330                 outputNorm = ValidationUtils.normaliseComponentName(input);
331                 outputSys = ValidationUtils.convertToSystemName(input);
332                 log.debug("{} <> {} <> {}", input, outputNorm, outputSys);
333
334         }
335
336         @Test
337         public void normalizeFileNameTest() {
338                 assertTrue("too.jpeg".equals(ValidationUtils.normalizeFileName("too.jpeg")));
339                 assertTrue("too..jpeg".equals(ValidationUtils.normalizeFileName("too..jpeg")));
340                 assertTrue("too..jpeg".equals(ValidationUtils.normalizeFileName("t*o:o..jpe<>g")));
341                 assertTrue("goo.too..jpeg".equals(ValidationUtils.normalizeFileName("goo.t*o:o..jpe<>g")));
342                 assertTrue("goo.too..jpeg".equals(ValidationUtils.normalizeFileName("   goo.t*o:o..jpe<>g  ")));
343                 assertTrue("goo-too-mo.jpeg".equals(ValidationUtils.normalizeFileName("goo   too----mo.jpeg")));
344                 assertTrue("goo-too-mo.jpeg".equals(ValidationUtils.normalizeFileName(".\\..\\goo   too----mo.jpeg")));
345                 assertTrue("goo-too-mo.jpeg".equals(ValidationUtils.normalizeFileName("__--goo   too----mo.jpeg--__")));
346                 assertTrue("goo-too-mo.jpeg".equals(ValidationUtils.normalizeFileName("_ -goo   too----mo.jpeg _--  _-")));
347
348         }
349
350         @Test
351         public void validateUrlTest() {
352                 assertTrue(ValidationUtils.validateUrl("http://google.co.il/"));
353                 assertTrue(ValidationUtils.validateUrl("https://google.co.il/"));
354                 assertTrue(ValidationUtils.validateUrl("https://google.co.il/go/go"));
355                 assertTrue(ValidationUtils.validateUrl("https://google.co.il/go/go"));
356                 assertTrue(ValidationUtils.validateUrl("http://google.co.il/go/go"));
357                 assertFalse(ValidationUtils.validateUrl("google.co.il/go/go"));
358                 assertFalse(ValidationUtils.validateUrl("https://google.co.il/go/go!"));
359                 assertFalse(ValidationUtils.validateUrl("https://g;oogle.co.il/go/go"));
360
361         }
362
363         @Test
364         public void normalizeArtifactLabel() {
365                 assertEquals(ValidationUtils.normalizeArtifactLabel("Test--3    134++"), "test3134");
366         }
367
368         @Test
369         public void cleanArtifactLabel() {
370                 assertEquals(ValidationUtils.cleanArtifactDisplayName("Test--3    134++"), "Test-3 134+");
371         }
372
373         @Test
374         public void validateArtifactLabel() {
375                 assertTrue(ValidationUtils.validateArtifactLabel("dsflkjsdf345JKL"));
376                 assertTrue(ValidationUtils.validateArtifactLabel("dsfsd lkj  "));
377                 assertTrue(ValidationUtils.validateArtifactLabel("sdfdsf---+"));
378                 assertTrue(ValidationUtils.validateArtifactLabel("   -  +"));
379                 assertFalse(ValidationUtils.validateArtifactLabel("sfsdfhkj111="));
380                 assertFalse(ValidationUtils.validateArtifactLabel("sfsdfhkj111=dfsf%"));
381                 assertFalse(ValidationUtils.validateArtifactLabel("sdfsdfljghgklsdg908*"));
382
383         }
384
385         @Test
386         public void validateConsumerNameTest() {
387                 assertTrue(ValidationUtils.validateConsumerName("ab037cd"));
388                 assertFalse(ValidationUtils.validateConsumerName(" "));
389                 assertTrue(ValidationUtils.validateConsumerName("_dD.d9"));
390                 assertTrue(ValidationUtils.validateConsumerName("_dd.G9-"));
391                 assertFalse(ValidationUtils.validateConsumerName(".dA.d9-"));
392                 assertFalse(ValidationUtils.validateConsumerName("-d"));
393                 assertFalse(ValidationUtils.validateConsumerName("d?"));
394                 assertTrue(ValidationUtils.validateConsumerName("9"));
395         }
396
397         @Test
398         public void validateConsumerPassSaltTest() {
399                 assertTrue(ValidationUtils.validateConsumerPassSalt("ad35fg2"));
400                 assertTrue(ValidationUtils.validateConsumerPassSalt("12s"));
401                 assertTrue(ValidationUtils.validateConsumerPassSalt("9"));
402                 assertFalse(ValidationUtils.validateConsumerPassSalt("dA.d9-"));
403                 assertFalse(ValidationUtils.validateConsumerPassSalt("dASQe"));
404                 assertFalse(ValidationUtils.validateConsumerPassSalt("_d"));
405                 assertFalse(ValidationUtils.validateConsumerPassSalt("?"));
406                 assertFalse(ValidationUtils.validateConsumerPassSalt(""));
407                 assertFalse(ValidationUtils.validateConsumerPassSalt(" "));
408         }
409
410         @Test
411         public void validateCategoryNameFormatTest() {
412                 assertTrue(ValidationUtils.validateCategoryDisplayNameFormat("Net           ele-2_3#456&+.'=:@@@@@#####"));
413                 // this will fail at length
414                 assertTrue(ValidationUtils.validateCategoryDisplayNameFormat(null));
415                 // * is not allowed
416                 assertFalse(ValidationUtils.validateCategoryDisplayNameFormat("Net ele-2_3#456&*+.'=:@"));
417                 assertFalse(ValidationUtils.validateCategoryDisplayNameFormat(""));
418                 // should start with alphanumeric
419                 assertFalse(ValidationUtils.validateCategoryDisplayNameFormat("#abcdef"));
420         }
421
422         @Test
423         public void validateCategoryNameLengthTest() {
424                 assertTrue(ValidationUtils.validateCategoryDisplayNameLength("Netele-2_3#456&+.'=:@@@@@"));
425                 assertTrue(ValidationUtils.validateCategoryDisplayNameLength("Nete"));
426                 assertFalse(ValidationUtils.validateCategoryDisplayNameLength("Netele-2_3#456&+.'=:@@@@@1"));
427                 assertFalse(ValidationUtils.validateCategoryDisplayNameLength("Net"));
428                 assertFalse(ValidationUtils.validateCategoryDisplayNameLength(null));
429         }
430
431         @Test
432         public void normalizeCategoryNameTest() {
433                 assertEquals("NeteLE-2_3 of #456&+. & Goal a Abc'=:@ AT & T", ValidationUtils.normalizeCategoryName4Display(
434                                 "   neteLE---2___3 OF ###456&&&+++...     aNd goal A abc'''==::@@@@@     AT and T  "));
435                 assertEquals("The Bank of America", ValidationUtils.normalizeCategoryName4Display("The Bank OF America"));
436         }
437
438         @Test
439         public void normalizeCategoryLabelTest() {
440                 assertEquals("netele-2_3 of #456&+.&goal a abc'=:@ at&t",
441                                 ValidationUtils.normalizeCategoryName4Uniqueness("NeteLE-2_3 of #456&+.&Goal a Abc'=:@ AT&T"));
442         }
443
444         /*
445          * Validation utils end
446          */
447
448         /*
449          * General utility start
450          */
451
452         @Test
453         public void validateFileExtension() {
454                 assertEquals(Constants.EMPTY_STRING, GeneralUtility.getFilenameExtension("lalatru"));
455                 assertEquals(Constants.EMPTY_STRING, GeneralUtility.getFilenameExtension("aa."));
456                 assertEquals(Constants.EMPTY_STRING, GeneralUtility.getFilenameExtension(null));
457                 assertEquals("yaml", GeneralUtility.getFilenameExtension("lala.tru.yaml"));
458                 assertEquals("txt", GeneralUtility.getFilenameExtension("kuku.txt"));
459         }
460
461         @Test
462         public void yamlTest() {
463
464                 log.debug("\"kuku\"");
465                 DumperOptions options = new DumperOptions();
466                 // options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
467                 options.setDefaultScalarStyle(DumperOptions.ScalarStyle.FOLDED);
468                 Yaml yaml = new Yaml(options);
469
470                 Map<String, Object> parameters = new HashMap<String, Object>();
471                 parameters.put("k1", "val");
472                 parameters.put("k2", "\"val\"");
473
474                 String str = yaml.dump(parameters);
475                 log.debug(str);
476         }
477         
478         @Test
479         public void yamlValidTest() {
480
481                 StringBuffer sb = new StringBuffer();
482                 sb.append("key: \"!@;/?:&=+$,_.~*'()[]\"");
483                 byte[] payload = sb.toString().getBytes();
484
485                 YamlToObjectConverter yamlToObjectConverter = new YamlToObjectConverter();
486
487                 assertTrue(yamlToObjectConverter.isValidYaml(payload));
488         }
489
490         @Test
491         public void testRemoveOnlyHtmlTags() {
492
493                 assertEquals("gooboo", HtmlCleaner.stripHtml("<b>goo<b></b></b><b>boo</b>"));
494                 /*String str = HtmlCleaner.stripHtml("<esofer><b>goo<b></b><</b><b>boo</b>");*/
495
496                 String stripHtmlAndEscape = HtmlCleaner.stripHtml("<esofer><b>goo<b></b><</b><b>boo</b>");
497                 assertEquals("<esofer>goo<boo", stripHtmlAndEscape);
498
499                 stripHtmlAndEscape = HtmlCleaner.stripHtml("<esofer><b>goo<b></b><</b><b>boo</b>", true);
500                 assertEquals("&lt;esofer&gt;goo&lt;boo", stripHtmlAndEscape);
501
502                 stripHtmlAndEscape = HtmlCleaner.stripHtml("<esofer><b>goo<b></b><&</b><b>boo</b>dvc&", true);
503                 assertEquals("&lt;esofer&gt;goo&lt;&amp;boodvc&amp;", stripHtmlAndEscape);
504
505                 assertEquals("esofer&gt;&gt;&lt;&lt;", HtmlCleaner.stripHtml("esofer>><<", true));
506                 assertEquals("esofer>><<", HtmlCleaner.stripHtml("esofer>><<", false));
507
508                 assertEquals("<esofer1>><<esofer2>", HtmlCleaner.stripHtml("<esofer1>><<esofer2>"));
509
510                 assertEquals("<esofer1 a= b>><<esofer2>", HtmlCleaner.stripHtml("<esofer1 a= b><h1>><<esofer2><br>"));
511
512                 assertEquals("&lt;esofer1 a= 'b'&gt;&gt;&lt;&lt;esofer2&gt;",
513                                 HtmlCleaner.stripHtml("<esofer1 a= 'b'>><<esofer2>", true));
514                 assertEquals("<esofer1 a= 'b'>><<esofer2>", HtmlCleaner.stripHtml("<esofer1 a= 'b'>><H6><<esofer2>"));
515
516                 assertEquals("<esofer1 a= b>><<esofer2>", HtmlCleaner.stripHtml("<esofer1 a= b>><<esofer2>"));
517
518                 assertEquals("<esofer1 sd sa= b>><<esofer2>", HtmlCleaner.stripHtml("<esofer1 sd sa= b>><<esofer2>"));
519
520                 assertEquals("&lt;esofer1 sd sa= b&gt;&gt;&lt;&lt;esofer2&gt;",
521                                 HtmlCleaner.stripHtml("<esofer1 sd sa= b>><<esofer2>", true));
522                 assertEquals("<esofer1 sd sa= b>><<esofer2>", HtmlCleaner.stripHtml("<esofer1 sd sa= b>><<esofer2>", false));
523                 assertEquals("&lt;esofer1 sd sa= b&gt;&gt;&lt;&lt;esofer2&gt;",
524                                 HtmlCleaner.stripHtml("<esofer1 sd sa= b>><<esofer2>", true));
525                 assertEquals("<esofer1 sd sa= b>><<esofer2>",
526                                 HtmlCleaner.stripHtml("<esofer1 sd sa= b>><br><H1><<esofer2>", false));
527                 assertEquals("&lt;esofer&gt;goo&lt;&amp;boodvc&amp;",
528                                 HtmlCleaner.stripHtml("<esofer><b>goo<b></b><&</b><b>boo</b>dvc&", true));
529                 assertEquals("<esofer>goo<&boodvc&", HtmlCleaner.stripHtml("<esofer><b>goo<b></b><&</b><b>boo</b>dvc&", false));
530                 assertEquals("<<<>>>;\"", HtmlCleaner.stripHtml("<<<>>>;\"", false));
531                 assertEquals("&lt;&lt;&lt;&gt;&gt;&gt;;&quot;", HtmlCleaner.stripHtml("<<<>>>;\"", true));
532                 assertEquals("<<<>>>;\"", HtmlCleaner.stripHtml("<<<>>>;\"", false));
533                 assertEquals("abc ab a", HtmlCleaner.stripHtml("abc ab a", true));
534                 assertEquals("abc ab a", HtmlCleaner.stripHtml("abc ab a", false));
535                 assertEquals("< esofer1 sd &<>sa= b>><<esofer2>",
536                                 HtmlCleaner.stripHtml("< esofer1 sd &<>sa= b>><br><H1><<esofer2>", false));
537                 assertEquals("sa= b>><<esofer2>", HtmlCleaner.stripHtml("<br sd &<>sa= b>><br><H1><<esofer2>", false));
538                 assertEquals("< br sd &<>sa= b>><<esofer2>",
539                                 HtmlCleaner.stripHtml("< br sd &<>sa= b>><br><H1><<esofer2>", false));
540                 assertEquals("sa= b>><<esofer2>", HtmlCleaner.stripHtml("</br sd &<>sa= b>><br><H1><<esofer2>", false));
541                 assertEquals("sa= b>><<esofer2>", HtmlCleaner.stripHtml("<br sd &</>sa= b>><br><H1><<esofer2>", false));
542
543         }
544
545         /*
546          * General utility end
547          */
548 }