blob: be2192655796d9a93b40ce0fd4f7432aacede940 [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.
*/
#include "Catch.h"
#include "ProcFs.h"
#include "MockProcFs.h"
namespace org::apache::nifi::minifi::extensions::procfs::tests {
TEST_CASE("ProcFSTest NetDev with mock", "[procfsdiskstatmocktest]") {
ProcFs proc_fs_t0 = mock_proc_fs_t0();
auto net_devs_t0 = proc_fs_t0.getNetDevs();
REQUIRE(net_devs_t0.size() == 3);
REQUIRE(net_devs_t0[1].first == "enp30s0");
CHECK(net_devs_t0[1].second.getBytesReceived() == 46693578527);
CHECK(net_devs_t0[1].second.getPacketsReceived() == 52256526);
CHECK(net_devs_t0[1].second.getReceiveErrors() == 0);
CHECK(net_devs_t0[1].second.getReceiveDropErrors() == 0);
CHECK(net_devs_t0[1].second.getReceiveFifoErrors() == 0);
CHECK(net_devs_t0[1].second.getReceiveFrameErrors() == 0);
CHECK(net_devs_t0[1].second.getCompressedPacketsReceived() == 0);
CHECK(net_devs_t0[1].second.getMulticastFramesReceived() == 4550);
CHECK(net_devs_t0[1].second.getBytesTransmitted() == 53470695397);
CHECK(net_devs_t0[1].second.getPacketsTransmitted() == 56707053);
CHECK(net_devs_t0[1].second.getTransmitErrors() == 0);
CHECK(net_devs_t0[1].second.getTransmitDropErrors() == 0);
CHECK(net_devs_t0[1].second.getTransmitFifoErrors() == 0);
CHECK(net_devs_t0[1].second.getTransmitCollisions() == 0);
CHECK(net_devs_t0[1].second.getTransmitCarrierLosses() == 0);
CHECK(net_devs_t0[1].second.getCompressedPacketsTransmitted() == 0);
ProcFs proc_fs_t1 = mock_proc_fs_t1();
auto net_devs_t1 = proc_fs_t1.getNetDevs();
REQUIRE(net_devs_t1.size() == 3);
for (const auto& net_dev_t0 : net_devs_t0) {
auto net_dev_t1 = std::find_if(net_devs_t1.begin(), net_devs_t1.end(), [&net_dev_t0](auto& net_dev_t1){return net_dev_t1.first == net_dev_t0.first;});
REQUIRE(net_dev_t1 != net_devs_t1.end());
REQUIRE(net_dev_t1->second >= net_dev_t0.second);
}
}
TEST_CASE("ProcFSTest NetDev", "[procfsdiskstatmocktest]") {
ProcFs proc_fs;
auto net_devs_t0 = proc_fs.getNetDevs();
std::this_thread::sleep_for(100ms);
auto net_devs_t1 = proc_fs.getNetDevs();
REQUIRE(net_devs_t0.size() == net_devs_t1.size());
for (const auto& net_dev_t0 : net_devs_t0) {
auto net_dev_t1 = std::find_if(net_devs_t1.begin(), net_devs_t1.end(), [&net_dev_t0](auto& net_dev_t1){return net_dev_t1.first == net_dev_t0.first;});
REQUIRE(net_dev_t1 != net_devs_t1.end());
REQUIRE(net_dev_t1->second >= net_dev_t0.second);
}
}
} // namespace org::apache::nifi::minifi::extensions::procfs::tests