blob: a72bd28891672760c39d80d8f422427ff980e11e [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 a
*
* 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.
*/
#include "common/device_id.h"
#include <gtest/gtest.h>
#include "common/tablet.h"
namespace storage {
using namespace ::common;
TEST(DeviceIdTest, NormalTest) {
std::string device_id_string = "root.db.tb.device1";
StringArrayDeviceID device_id = StringArrayDeviceID(device_id_string);
ASSERT_EQ("root.db.tb.device1", device_id.get_device_name());
}
TEST(DeviceIdTest, TabletDeviceId) {
std::vector<TSDataType> measurement_types{
TSDataType::STRING, TSDataType::STRING, TSDataType::STRING,
TSDataType::INT32};
std::vector<ColumnCategory> column_categories{
ColumnCategory::TAG, ColumnCategory::TAG, ColumnCategory::TAG,
ColumnCategory::FIELD};
std::vector<std::string> measurement_names{"tag1", "tag2", "tag3", "value"};
Tablet tablet("test_device0", measurement_names, measurement_types,
column_categories);
tablet.add_timestamp(0, 1);
tablet.add_value(0, 0, "t1");
tablet.add_value(0, 1, "t2");
tablet.add_value(0, 2, "t3");
tablet.add_value(1, 0, "");
tablet.add_value(1, 1, "t2");
tablet.add_value(1, 2, "t3");
tablet.add_value(2, 1, "t2");
tablet.add_value(2, 2, "t3");
auto device_id = std::make_shared<StringArrayDeviceID>(
std::vector<std::string>({"test_device0", "t1", "t2", "t3"}));
auto device_id2 = tablet.get_device_id(0);
ASSERT_TRUE(*device_id2 == *device_id);
ASSERT_EQ("test_device0..t2.t3",
tablet.get_device_id(1)->get_device_name());
ASSERT_EQ("test_device0.null.t2.t3",
tablet.get_device_id(2)->get_device_name());
}
} // namespace storage