blob: 8eaac4e857d015a886fd33ee8924981be1575227 [file]
/*
* 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.
*/
#include <string>
#include <gtest/gtest.h>
#include "iggy.hpp"
TEST(CompressionAlgorithmTest, ReturnsExpectedValues) {
EXPECT_EQ(iggy::CompressionAlgorithm::none().compression_algorithm_value(), "none");
EXPECT_EQ(iggy::CompressionAlgorithm::gzip().compression_algorithm_value(), "gzip");
}
TEST(SnapshotCompressionTest, ReturnsExpectedValues) {
EXPECT_EQ(iggy::SnapshotCompression::stored().snapshot_compression_value(), "stored");
EXPECT_EQ(iggy::SnapshotCompression::deflated().snapshot_compression_value(), "deflated");
EXPECT_EQ(iggy::SnapshotCompression::bzip2().snapshot_compression_value(), "bzip2");
EXPECT_EQ(iggy::SnapshotCompression::zstd().snapshot_compression_value(), "zstd");
EXPECT_EQ(iggy::SnapshotCompression::lzma().snapshot_compression_value(), "lzma");
EXPECT_EQ(iggy::SnapshotCompression::xz().snapshot_compression_value(), "xz");
}
TEST(SystemSnapshotTypeTest, ReturnsExpectedValues) {
EXPECT_EQ(iggy::SystemSnapshotType::filesystem_overview().snapshot_type_value(), "filesystem_overview");
EXPECT_EQ(iggy::SystemSnapshotType::process_list().snapshot_type_value(), "process_list");
EXPECT_EQ(iggy::SystemSnapshotType::resource_usage().snapshot_type_value(), "resource_usage");
EXPECT_EQ(iggy::SystemSnapshotType::test().snapshot_type_value(), "test");
EXPECT_EQ(iggy::SystemSnapshotType::server_logs().snapshot_type_value(), "server_logs");
EXPECT_EQ(iggy::SystemSnapshotType::server_config().snapshot_type_value(), "server_config");
EXPECT_EQ(iggy::SystemSnapshotType::all().snapshot_type_value(), "all");
}
TEST(IdKindTest, ReturnsExpectedValues) {
EXPECT_EQ(iggy::IdKind::numeric().id_kind_value(), "numeric");
EXPECT_EQ(iggy::IdKind::string().id_kind_value(), "string");
}
TEST(MaxTopicSizeTest, ReturnsExpectedValues) {
EXPECT_EQ(iggy::MaxTopicSize::server_default().max_topic_size(), "server_default");
EXPECT_EQ(iggy::MaxTopicSize::unlimited().max_topic_size(), "unlimited");
EXPECT_EQ(iggy::MaxTopicSize::from_bytes(0).max_topic_size(), "server_default");
EXPECT_EQ(iggy::MaxTopicSize::from_bytes(std::numeric_limits<std::uint64_t>::max()).max_topic_size(), "unlimited");
EXPECT_EQ(iggy::MaxTopicSize::from_bytes(1024).max_topic_size(), "1024");
}
TEST(PollingStrategyTest, ReturnsExpectedKindAndValue) {
const auto offset = iggy::PollingStrategy::offset(7);
EXPECT_EQ(offset.polling_strategy_kind(), "offset");
EXPECT_EQ(offset.polling_strategy_value(), 7u);
const auto timestamp = iggy::PollingStrategy::timestamp(42);
EXPECT_EQ(timestamp.polling_strategy_kind(), "timestamp");
EXPECT_EQ(timestamp.polling_strategy_value(), 42u);
const auto first = iggy::PollingStrategy::first();
EXPECT_EQ(first.polling_strategy_kind(), "first");
EXPECT_EQ(first.polling_strategy_value(), 0u);
const auto last = iggy::PollingStrategy::last();
EXPECT_EQ(last.polling_strategy_kind(), "last");
EXPECT_EQ(last.polling_strategy_value(), 0u);
const auto next = iggy::PollingStrategy::next();
EXPECT_EQ(next.polling_strategy_kind(), "next");
EXPECT_EQ(next.polling_strategy_value(), 0u);
}
TEST(ExpiryTest, ReturnsExpectedKindAndValue) {
const auto server_default = iggy::Expiry::server_default();
EXPECT_EQ(server_default.expiry_kind(), "server_default");
EXPECT_EQ(server_default.expiry_value(), static_cast<std::uint64_t>(0));
const auto never_expire = iggy::Expiry::never_expire();
EXPECT_EQ(never_expire.expiry_kind(), "never_expire");
EXPECT_EQ(never_expire.expiry_value(), std::numeric_limits<std::uint64_t>::max());
const auto duration = iggy::Expiry::duration(15);
EXPECT_EQ(duration.expiry_kind(), "duration");
EXPECT_EQ(duration.expiry_value(), static_cast<std::uint64_t>(15));
}
TEST(IggyExceptionTest, StoresMessage) {
const iggy::IggyException from_cstr("boom");
EXPECT_EQ(std::string(from_cstr.what()), "boom");
const std::string message = "boom2";
const iggy::IggyException from_string(message);
EXPECT_EQ(std::string(from_string.what()), message);
}