/* * Test on class HwIdentifier * * Created on: Dec 26, 2019 * Author: devel */ #define BOOST_TEST_MODULE test_hw_identifier #include #include #include #include #include #include #include #include #include #include "../../../src/library/hw_identifier/hw_identifier.hpp" namespace license { namespace test { using namespace std; using namespace license::hw_identifier; /** * Test get and set and compare hardware identifier data */ BOOST_AUTO_TEST_CASE(set_and_compare_data) { array data = {0xFF, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42}; HwIdentifier pc_id; pc_id.set_data(data); data[0] = data[0] & 0x1f; BOOST_CHECK_MESSAGE(pc_id.data_match(data), "Data match"); } /** * Test get and set and compare hardware identifier data */ BOOST_AUTO_TEST_CASE(compare_wrong_data) { array data = {0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42}; HwIdentifier pc_id; pc_id.set_data(data); data[4] = 0; BOOST_CHECK_MESSAGE(!pc_id.data_match(data), "Data shouldn't match"); } /** * Print a hardware identifier and read it from the same string, check the data matches */ BOOST_AUTO_TEST_CASE(print_and_read) { array data = {0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42}; HwIdentifier pc_id; pc_id.set_data(data); pc_id.set_identification_strategy(LCC_API_HW_IDENTIFICATION_STRATEGY::STRATEGY_ETHERNET); string pc_id_str = pc_id.print(); cout << pc_id_str << endl; const HwIdentifier id2(pc_id_str); BOOST_CHECK_MESSAGE(id2.get_identification_strategy() == LCC_API_HW_IDENTIFICATION_STRATEGY::STRATEGY_ETHERNET, "Strategy decoded correctly"); BOOST_CHECK_MESSAGE(id2.data_match(data), "Data deserialized correctly"); } } // namespace test } // namespace license