Browse Source
[3.3.3] Add operation IN and NOT_IN for String value type to key filterpull/5823/head
committed by
GitHub
6 changed files with 160 additions and 5 deletions
@ -0,0 +1,103 @@ |
|||||
|
/** |
||||
|
* Copyright © 2016-2021 The Thingsboard Authors |
||||
|
* |
||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
|
* you may not use this file except in compliance with the License. |
||||
|
* You may obtain a copy of the License at |
||||
|
* |
||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
* |
||||
|
* Unless required by applicable law or agreed to in writing, software |
||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
|
* See the License for the specific language governing permissions and |
||||
|
* limitations under the License. |
||||
|
*/ |
||||
|
package org.thingsboard.server.dao.sql.query; |
||||
|
|
||||
|
import org.junit.Assert; |
||||
|
import org.junit.Test; |
||||
|
import org.junit.runner.RunWith; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.boot.test.context.SpringBootTest; |
||||
|
import org.springframework.test.context.junit4.SpringRunner; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
@RunWith(SpringRunner.class ) |
||||
|
@SpringBootTest(classes = EntityKeyMapping.class) |
||||
|
public class EntityKeyMappingTest { |
||||
|
|
||||
|
@Autowired |
||||
|
private EntityKeyMapping entityKeyMapping; |
||||
|
|
||||
|
private static final List<String> result = List.of("device1", "device2", "device3"); |
||||
|
|
||||
|
@Test |
||||
|
public void testSplitToList() { |
||||
|
String value = "device1, device2, device3"; |
||||
|
Assert.assertEquals(entityKeyMapping.getListValuesWithoutQuote(value), result); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testReplaceSingleQuote() { |
||||
|
String value = "'device1', 'device2', 'device3'"; |
||||
|
Assert.assertEquals(entityKeyMapping.getListValuesWithoutQuote(value), result); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testReplaceDoubleQuote() { |
||||
|
String value = "\"device1\", \"device2\", \"device3\""; |
||||
|
Assert.assertEquals(entityKeyMapping.getListValuesWithoutQuote(value), result); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testSplitWithoutSpace() { |
||||
|
String value = "\"device1\" , \"device2\" , \"device3\""; |
||||
|
Assert.assertEquals(entityKeyMapping.getListValuesWithoutQuote(value), result); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testSaveSpacesBetweenString() { |
||||
|
String value = "device 1 , device 2 , device 3"; |
||||
|
List<String> result = List.of("device 1", "device 2", "device 3"); |
||||
|
Assert.assertEquals(entityKeyMapping.getListValuesWithoutQuote(value), result); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testSaveQuoteInString() { |
||||
|
String value = "device ''1 , device \"\"2 , device \"'3"; |
||||
|
List<String> result = List.of("device ''1", "device \"\"2", "device \"'3"); |
||||
|
Assert.assertEquals(entityKeyMapping.getListValuesWithoutQuote(value), result); |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void testNotDeleteQuoteWhenDifferentStyle() { |
||||
|
|
||||
|
String value = "\"device1\", 'device2', \"device3\""; |
||||
|
List<String> result = List.of("\"device1\"", "'device2'", "\"device3\""); |
||||
|
Assert.assertEquals(entityKeyMapping.getListValuesWithoutQuote(value), result); |
||||
|
|
||||
|
value = "'device1', \"device2\", \"device3\""; |
||||
|
result = List.of("'device1'", "\"device2\"", "\"device3\""); |
||||
|
Assert.assertEquals(entityKeyMapping.getListValuesWithoutQuote(value), result); |
||||
|
|
||||
|
value = "device1, 'device2', \"device3\""; |
||||
|
result = List.of("device1", "'device2'", "\"device3\""); |
||||
|
Assert.assertEquals(entityKeyMapping.getListValuesWithoutQuote(value), result); |
||||
|
|
||||
|
|
||||
|
value = "'device1', device2, \"device3\""; |
||||
|
result = List.of("'device1'", "device2", "\"device3\""); |
||||
|
Assert.assertEquals(entityKeyMapping.getListValuesWithoutQuote(value), result); |
||||
|
|
||||
|
value = "device1, \"device2\", \"device3\""; |
||||
|
result = List.of("device1", "\"device2\"", "\"device3\""); |
||||
|
Assert.assertEquals(entityKeyMapping.getListValuesWithoutQuote(value), result); |
||||
|
|
||||
|
|
||||
|
value = "\"device1\", device2, \"device3\""; |
||||
|
result = List.of("\"device1\"", "device2", "\"device3\""); |
||||
|
Assert.assertEquals(entityKeyMapping.getListValuesWithoutQuote(value), result); |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue