blob: 624f441695a73b9cef1e5544a5554c0a283c6dff [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.apache.iotdb.db.metadata;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.exception.metadata.IllegalPathException;
import org.apache.iotdb.db.exception.metadata.MetadataException;
import org.apache.iotdb.db.service.IoTDB;
import org.apache.iotdb.db.utils.EnvironmentUtils;
import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import java.util.stream.Collectors;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
public class MManagerBasicTest {
private CompressionType compressionType;
@Before
public void setUp() {
compressionType = TSFileDescriptor.getInstance().getConfig().getCompressor();
EnvironmentUtils.envSetUp();
}
@After
public void tearDown() throws Exception {
EnvironmentUtils.cleanEnv();
}
@Test
public void testAddPathAndExist() throws IllegalPathException {
MManager manager = IoTDB.metaManager;
assertTrue(manager.isPathExist(new PartialPath("root")));
assertFalse(manager.isPathExist(new PartialPath("root.laptop")));
try {
manager.setStorageGroup(new PartialPath("root.laptop.d1"));
manager.setStorageGroup(new PartialPath("root.1"));
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());
}
assertTrue(manager.isPathExist(new PartialPath("root.1")));
try {
manager.setStorageGroup(new PartialPath("root.laptop"));
} catch (MetadataException e) {
Assert.assertEquals(
"some children of root.laptop have already been set to storage group", e.getMessage());
}
try {
manager.createTimeseries(
new PartialPath("root.laptop.d1.s0"),
TSDataType.valueOf("INT32"),
TSEncoding.valueOf("RLE"),
compressionType,
Collections.emptyMap());
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());
}
assertTrue(manager.isPathExist(new PartialPath("root.laptop")));
assertTrue(manager.isPathExist(new PartialPath("root.laptop.d1")));
assertTrue(manager.isPathExist(new PartialPath("root.laptop.d1.s0")));
assertFalse(manager.isPathExist(new PartialPath("root.laptop.d1.s1")));
try {
manager.createTimeseries(
new PartialPath("root.laptop.d1.s1"),
TSDataType.valueOf("INT32"),
TSEncoding.valueOf("RLE"),
compressionType,
Collections.emptyMap());
manager.createTimeseries(
new PartialPath("root.laptop.d1.1_2"),
TSDataType.INT32,
TSEncoding.RLE,
TSFileDescriptor.getInstance().getConfig().getCompressor(),
Collections.EMPTY_MAP);
manager.createTimeseries(
new PartialPath("root.laptop.d1.\"1.2.3\""),
TSDataType.INT32,
TSEncoding.RLE,
TSFileDescriptor.getInstance().getConfig().getCompressor(),
Collections.EMPTY_MAP);
manager.createTimeseries(
new PartialPath("root.1.2.3"),
TSDataType.INT32,
TSEncoding.RLE,
TSFileDescriptor.getInstance().getConfig().getCompressor(),
Collections.EMPTY_MAP);
assertTrue(manager.isPathExist(new PartialPath("root.laptop.d1.s1")));
assertTrue(manager.isPathExist(new PartialPath("root.laptop.d1.1_2")));
assertTrue(manager.isPathExist(new PartialPath("root.laptop.d1.\"1.2.3\"")));
assertTrue(manager.isPathExist(new PartialPath("root.1.2")));
assertTrue(manager.isPathExist(new PartialPath("root.1.2.3")));
} catch (MetadataException e1) {
e1.printStackTrace();
fail(e1.getMessage());
}
try {
manager.deleteTimeseries(new PartialPath("root.laptop.d1.s1"));
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());
}
assertFalse(manager.isPathExist(new PartialPath("root.laptop.d1.s1")));
try {
manager.deleteTimeseries(new PartialPath("root.laptop.d1.s0"));
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());
}
assertFalse(manager.isPathExist(new PartialPath("root.laptop.d1.s0")));
assertTrue(manager.isPathExist(new PartialPath("root.laptop.d1")));
assertTrue(manager.isPathExist(new PartialPath("root.laptop")));
assertTrue(manager.isPathExist(new PartialPath("root")));
try {
manager.createTimeseries(
new PartialPath("root.laptop.d1.s1"),
TSDataType.valueOf("INT32"),
TSEncoding.valueOf("RLE"),
compressionType,
Collections.emptyMap());
} catch (MetadataException e1) {
e1.printStackTrace();
fail(e1.getMessage());
}
try {
manager.createTimeseries(
new PartialPath("root.laptop.d1.s0"),
TSDataType.valueOf("INT32"),
TSEncoding.valueOf("RLE"),
compressionType,
Collections.emptyMap());
} catch (MetadataException e1) {
e1.printStackTrace();
fail(e1.getMessage());
}
assertFalse(manager.isPathExist(new PartialPath("root.laptop.d2")));
assertFalse(manager.checkStorageGroupByPath(new PartialPath("root.laptop.d2")));
try {
manager.deleteTimeseries(new PartialPath("root.laptop.d1.s0"));
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());
}
try {
manager.deleteTimeseries(new PartialPath("root.laptop.d1.s1"));
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());
}
try {
manager.setStorageGroup(new PartialPath("root.laptop1"));
} catch (MetadataException e) {
Assert.assertEquals(
String.format(
"The seriesPath of %s already exist, it can't be set to the storage group",
"root.laptop1"),
e.getMessage());
}
try {
manager.deleteTimeseries(new PartialPath("root.laptop.d1.1_2"));
manager.deleteTimeseries(new PartialPath("root.laptop.d1.\"1.2.3\""));
manager.deleteTimeseries(new PartialPath("root.1.2.3"));
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());
}
assertFalse(manager.isPathExist(new PartialPath("root.laptop.d1.1_2")));
assertFalse(manager.isPathExist(new PartialPath("root.laptop.d1.\"1.2.3\"")));
assertFalse(manager.isPathExist(new PartialPath("root.1.2.3")));
assertFalse(manager.isPathExist(new PartialPath("root.1.2")));
assertTrue(manager.isPathExist(new PartialPath("root.1")));
try {
manager.deleteStorageGroups(Collections.singletonList(new PartialPath("root.1")));
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());
}
assertFalse(manager.isPathExist(new PartialPath("root.1")));
}
@Test
public void testGetAllTimeseriesCount() {
MManager manager = IoTDB.metaManager;
try {
manager.setStorageGroup(new PartialPath("root.laptop"));
manager.createTimeseries(
new PartialPath("root.laptop.d1"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
manager.createTimeseries(
new PartialPath("root.laptop.d1.s1"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
manager.createTimeseries(
new PartialPath("root.laptop.d1.s1.t1"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
manager.createTimeseries(
new PartialPath("root.laptop.d1.s2"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
manager.createTimeseries(
new PartialPath("root.laptop.d2.s1"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
manager.createTimeseries(
new PartialPath("root.laptop.d2.s2"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
assertEquals(manager.getAllTimeseriesCount(new PartialPath("root")), 6);
assertEquals(manager.getAllTimeseriesCount(new PartialPath("root.laptop")), 6);
assertEquals(manager.getAllTimeseriesCount(new PartialPath("root.laptop.*")), 6);
assertEquals(manager.getAllTimeseriesCount(new PartialPath("root.laptop.*.*")), 5);
assertEquals(manager.getAllTimeseriesCount(new PartialPath("root.laptop.*.*.t1")), 1);
assertEquals(manager.getAllTimeseriesCount(new PartialPath("root.laptop.*.s1")), 3);
assertEquals(manager.getAllTimeseriesCount(new PartialPath("root.laptop.d1")), 4);
assertEquals(manager.getAllTimeseriesCount(new PartialPath("root.laptop.d1.*")), 3);
assertEquals(manager.getAllTimeseriesCount(new PartialPath("root.laptop.d2.s1")), 1);
assertEquals(manager.getAllTimeseriesCount(new PartialPath("root.laptop.d2")), 2);
try {
manager.getAllTimeseriesCount(new PartialPath("root.laptop.d3.s1"));
fail("Expected exception");
} catch (MetadataException e) {
assertEquals("Path [root.laptop.d3.s1] does not exist", e.getMessage());
}
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());
}
}
@Test
public void testSetStorageGroupAndExist() {
MManager manager = IoTDB.metaManager;
try {
assertFalse(manager.isStorageGroup(new PartialPath("root")));
assertFalse(manager.isStorageGroup(new PartialPath("root1.laptop.d2")));
manager.setStorageGroup(new PartialPath("root.laptop.d1"));
assertTrue(manager.isStorageGroup(new PartialPath("root.laptop.d1")));
assertFalse(manager.isStorageGroup(new PartialPath("root.laptop.d2")));
assertFalse(manager.isStorageGroup(new PartialPath("root.laptop")));
assertFalse(manager.isStorageGroup(new PartialPath("root.laptop.d1.s1")));
manager.setStorageGroup(new PartialPath("root.laptop.d2"));
assertTrue(manager.isStorageGroup(new PartialPath("root.laptop.d1")));
assertTrue(manager.isStorageGroup(new PartialPath("root.laptop.d2")));
assertFalse(manager.isStorageGroup(new PartialPath("root.laptop.d3")));
assertFalse(manager.isStorageGroup(new PartialPath("root.laptop")));
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());
}
}
@Test
public void testRecover() {
MManager manager = IoTDB.metaManager;
try {
manager.setStorageGroup(new PartialPath("root.laptop.d1"));
manager.setStorageGroup(new PartialPath("root.laptop.d2"));
manager.createTimeseries(
new PartialPath("root.laptop.d1.s1"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
manager.createTimeseries(
new PartialPath("root.laptop.d2.s1"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
assertTrue(manager.isStorageGroup(new PartialPath("root.laptop.d1")));
assertTrue(manager.isStorageGroup(new PartialPath("root.laptop.d2")));
assertFalse(manager.isStorageGroup(new PartialPath("root.laptop.d3")));
assertFalse(manager.isStorageGroup(new PartialPath("root.laptop")));
Set<String> devices =
new TreeSet<String>() {
{
add("root.laptop.d1");
add("root.laptop.d2");
}
};
// prefix with *
assertEquals(
devices,
manager.getDevices(new PartialPath("root.*")).stream()
.map(PartialPath::getFullPath)
.collect(Collectors.toSet()));
manager.deleteStorageGroups(Collections.singletonList(new PartialPath("root.laptop.d2")));
assertTrue(manager.isStorageGroup(new PartialPath("root.laptop.d1")));
assertFalse(manager.isStorageGroup(new PartialPath("root.laptop.d2")));
assertFalse(manager.isStorageGroup(new PartialPath("root.laptop.d3")));
assertFalse(manager.isStorageGroup(new PartialPath("root.laptop")));
devices.remove("root.laptop.d2");
// prefix with *
assertEquals(
devices,
manager.getDevices(new PartialPath("root.*")).stream()
.map(PartialPath::getFullPath)
.collect(Collectors.toSet()));
MManager recoverManager = new MManager();
recoverManager.init();
assertTrue(recoverManager.isStorageGroup(new PartialPath("root.laptop.d1")));
assertFalse(recoverManager.isStorageGroup(new PartialPath("root.laptop.d2")));
assertFalse(recoverManager.isStorageGroup(new PartialPath("root.laptop.d3")));
assertFalse(recoverManager.isStorageGroup(new PartialPath("root.laptop")));
// prefix with *
assertEquals(
devices,
recoverManager.getDevices(new PartialPath("root.*")).stream()
.map(PartialPath::getFullPath)
.collect(Collectors.toSet()));
recoverManager.clear();
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());
}
}
@Test
public void testGetAllFileNamesByPath() {
MManager manager = IoTDB.metaManager;
try {
manager.setStorageGroup(new PartialPath("root.laptop.d1"));
manager.setStorageGroup(new PartialPath("root.laptop.d2"));
manager.createTimeseries(
new PartialPath("root.laptop.d1.s1"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
manager.createTimeseries(
new PartialPath("root.laptop.d2.s1"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
List<String> list = new ArrayList<>();
list.add("root.laptop.d1");
assertEquals(list, manager.getStorageGroupByPath(new PartialPath("root.laptop.d1.s1")));
assertEquals(list, manager.getStorageGroupByPath(new PartialPath("root.laptop.d1")));
list.add("root.laptop.d2");
assertEquals(list, manager.getStorageGroupByPath(new PartialPath("root.laptop")));
assertEquals(list, manager.getStorageGroupByPath(new PartialPath("root")));
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());
}
}
@Test
public void testCheckStorageExistOfPath() {
MManager manager = IoTDB.metaManager;
try {
assertTrue(manager.getAllTimeseriesPath(new PartialPath("root")).isEmpty());
assertTrue(manager.getStorageGroupByPath(new PartialPath("root.vehicle")).isEmpty());
assertTrue(manager.getStorageGroupByPath(new PartialPath("root.vehicle.device")).isEmpty());
assertTrue(
manager.getStorageGroupByPath(new PartialPath("root.vehicle.device.sensor")).isEmpty());
manager.setStorageGroup(new PartialPath("root.vehicle"));
assertFalse(manager.getStorageGroupByPath(new PartialPath("root.vehicle")).isEmpty());
assertFalse(manager.getStorageGroupByPath(new PartialPath("root.vehicle.device")).isEmpty());
assertFalse(
manager.getStorageGroupByPath(new PartialPath("root.vehicle.device.sensor")).isEmpty());
assertTrue(manager.getStorageGroupByPath(new PartialPath("root.vehicle1")).isEmpty());
assertTrue(manager.getStorageGroupByPath(new PartialPath("root.vehicle1.device")).isEmpty());
manager.setStorageGroup(new PartialPath("root.vehicle1.device"));
assertTrue(manager.getStorageGroupByPath(new PartialPath("root.vehicle1.device1")).isEmpty());
assertTrue(manager.getStorageGroupByPath(new PartialPath("root.vehicle1.device2")).isEmpty());
assertTrue(manager.getStorageGroupByPath(new PartialPath("root.vehicle1.device3")).isEmpty());
assertFalse(manager.getStorageGroupByPath(new PartialPath("root.vehicle1.device")).isEmpty());
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());
}
}
@Test
public void testShowChildNodesWithGivenPrefix() {
MManager manager = IoTDB.metaManager;
try {
manager.setStorageGroup(new PartialPath("root.laptop"));
manager.createTimeseries(
new PartialPath("root.laptop.d1.s1"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
manager.createTimeseries(
new PartialPath("root.laptop.d2.s1"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
manager.createTimeseries(
new PartialPath("root.laptop.d1.s2"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
Set<String> nodes = new HashSet<>(Arrays.asList("s1", "s2"));
Set<String> nodes2 = new HashSet<>(Arrays.asList("laptop"));
Set<String> nodes3 = new HashSet<>(Arrays.asList("d1", "d2"));
Set<String> nexLevelNodes1 =
manager.getChildNodeInNextLevel(new PartialPath("root.laptop.d1"));
Set<String> nexLevelNodes2 = manager.getChildNodeInNextLevel(new PartialPath("root"));
Set<String> nexLevelNodes3 = manager.getChildNodeInNextLevel(new PartialPath("root.laptop"));
// usual condition
assertEquals(nodes, nexLevelNodes1);
assertEquals(nodes2, nexLevelNodes2);
assertEquals(nodes3, nexLevelNodes3);
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());
}
}
@Test
public void testGetStorageGroupNameByAutoLevel() {
int level = IoTDBDescriptor.getInstance().getConfig().getDefaultStorageGroupLevel();
try {
assertEquals(
"root.laptop",
MetaUtils.getStorageGroupPathByLevel(new PartialPath("root.laptop.d1.s1"), level)
.getFullPath());
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());
}
boolean caughtException = false;
try {
MetaUtils.getStorageGroupPathByLevel(new PartialPath("root1.laptop.d1.s1"), level);
} catch (MetadataException e) {
caughtException = true;
assertEquals("root1.laptop.d1.s1 is not a legal path", e.getMessage());
}
assertTrue(caughtException);
caughtException = false;
try {
MetaUtils.getStorageGroupPathByLevel(new PartialPath("root"), level);
} catch (MetadataException e) {
caughtException = true;
assertEquals("root is not a legal path", e.getMessage());
}
assertTrue(caughtException);
}
@Test
public void testSetStorageGroupWithIllegalName() {
MManager manager = IoTDB.metaManager;
try {
PartialPath path1 = new PartialPath("root.laptop\n");
try {
manager.setStorageGroup(path1);
fail();
} catch (MetadataException e) {
}
} catch (IllegalPathException e1) {
fail();
}
try {
PartialPath path2 = new PartialPath("root.laptop\t");
try {
manager.setStorageGroup(path2);
fail();
} catch (MetadataException e) {
}
} catch (IllegalPathException e1) {
fail();
}
}
@Test
public void testCreateTimeseriesWithIllegalName() {
MManager manager = IoTDB.metaManager;
try {
PartialPath path1 = new PartialPath("root.laptop.d1\n.s1");
try {
manager.createTimeseries(
path1, TSDataType.INT32, TSEncoding.PLAIN, CompressionType.SNAPPY, null);
fail();
} catch (MetadataException e) {
}
} catch (IllegalPathException e1) {
fail();
}
try {
PartialPath path2 = new PartialPath("root.laptop.d1\t.s1");
try {
manager.createTimeseries(
path2, TSDataType.INT32, TSEncoding.PLAIN, CompressionType.SNAPPY, null);
fail();
} catch (MetadataException e) {
}
} catch (IllegalPathException e1) {
fail();
}
}
@Test
public void testGetDevicesWithGivenPrefix() {
MManager manager = IoTDB.metaManager;
try {
manager.setStorageGroup(new PartialPath("root.laptop"));
manager.createTimeseries(
new PartialPath("root.laptop.d1.s1"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
manager.createTimeseries(
new PartialPath("root.laptop.d2.s1"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
Set<String> devices = new TreeSet<>();
devices.add("root.laptop.d1");
devices.add("root.laptop.d2");
// usual condition
assertEquals(
devices,
manager.getDevices(new PartialPath("root.laptop")).stream()
.map(PartialPath::getFullPath)
.collect(Collectors.toSet()));
manager.setStorageGroup(new PartialPath("root.vehicle"));
manager.createTimeseries(
new PartialPath("root.vehicle.d1.s1"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
devices.add("root.vehicle.d1");
// prefix with *
assertEquals(
devices,
manager.getDevices(new PartialPath("root.*")).stream()
.map(PartialPath::getFullPath)
.collect(Collectors.toSet()));
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());
}
}
@Test
public void testGetChildNodePathInNextLevel() {
MManager manager = IoTDB.metaManager;
String[] res =
new String[] {
"[root.laptop, root.vehicle]",
"[root.laptop.b1, root.laptop.b2]",
"[root.laptop.b1.d1, root.laptop.b1.d2]",
"[root.laptop.b1, root.laptop.b2, root.vehicle.b1, root.vehicle.b2]",
"[root.laptop.b1.d1, root.laptop.b1.d2, root.vehicle.b1.d0, root.vehicle.b1.d2, root.vehicle.b1.d3]",
"[root.laptop.b1.d1, root.laptop.b1.d2]",
"[root.vehicle.b1.d0, root.vehicle.b1.d2, root.vehicle.b1.d3, root.vehicle.b2.d0]",
"[root.laptop.b1.d1.s0, root.laptop.b1.d1.s1, root.laptop.b1.d2.s0, root.laptop.b2.d1.s1, root.laptop.b2.d1.s3, root.laptop.b2.d2.s2]",
"[]"
};
try {
manager.setStorageGroup(new PartialPath("root.laptop"));
manager.setStorageGroup(new PartialPath("root.vehicle"));
manager.createTimeseries(
new PartialPath("root.laptop.b1.d1.s0"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
manager.createTimeseries(
new PartialPath("root.laptop.b1.d1.s1"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
manager.createTimeseries(
new PartialPath("root.laptop.b1.d2.s0"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
manager.createTimeseries(
new PartialPath("root.laptop.b2.d1.s1"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
manager.createTimeseries(
new PartialPath("root.laptop.b2.d1.s3"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
manager.createTimeseries(
new PartialPath("root.laptop.b2.d2.s2"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
manager.createTimeseries(
new PartialPath("root.vehicle.b1.d0.s0"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
manager.createTimeseries(
new PartialPath("root.vehicle.b1.d2.s2"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
manager.createTimeseries(
new PartialPath("root.vehicle.b1.d3.s3"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
manager.createTimeseries(
new PartialPath("root.vehicle.b2.d0.s1"),
TSDataType.INT32,
TSEncoding.PLAIN,
CompressionType.GZIP,
null);
assertEquals(res[0], manager.getChildNodePathInNextLevel(new PartialPath("root")).toString());
assertEquals(
res[1], manager.getChildNodePathInNextLevel(new PartialPath("root.laptop")).toString());
assertEquals(
res[2],
manager.getChildNodePathInNextLevel(new PartialPath("root.laptop.b1")).toString());
assertEquals(
res[3], manager.getChildNodePathInNextLevel(new PartialPath("root.*")).toString());
assertEquals(
res[4], manager.getChildNodePathInNextLevel(new PartialPath("root.*.b1")).toString());
assertEquals(
res[5], manager.getChildNodePathInNextLevel(new PartialPath("root.l*.b1")).toString());
assertEquals(
res[6], manager.getChildNodePathInNextLevel(new PartialPath("root.v*.*")).toString());
assertEquals(
res[7], manager.getChildNodePathInNextLevel(new PartialPath("root.l*.b*.*")).toString());
assertEquals(
res[8], manager.getChildNodePathInNextLevel(new PartialPath("root.laptopp")).toString());
} catch (MetadataException e) {
e.printStackTrace();
fail(e.getMessage());
}
}
}