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