Files
MicrOBU/microbu-esp32c5/external/vanetza-idf/vanetza/security/v2/tests/subject_attribute.cpp
T
Ashin Walpola 0e9525162d Keep the colleague's microbu-esp32c5 tree in this repository
obu-firmware builds against vanetza-idf from microbu-esp32c5/external, but
that tree was gitignored, so a clone of this repository could not build the
firmware it ships. It is now committed here as ordinary files in its own
folder, microbu-esp32c5/: the colleague's commit cf4b99f plus the V2X2MAP
bridge's signature verification (--trust) used on the bench. Nothing is
fetched from or pushed to the colleague's repository; this repository and
its remotes carry everything. The folder's own .gitignore keeps build output,
downloaded components and private key material out, as it did there; the
committed file set is identical to that repository's tracked files.

The ESP32-C5 is still flashed from obu-firmware/, which only takes
vanetza-idf from microbu-esp32c5/, so the two stay separate folders.
FLASHING.md says how to take a newer version of the colleague's tree (copy
it over the folder, rebuild, test, commit).
2026-09-23 17:46:40 +02:00

48 lines
1.4 KiB
C++

#include <gtest/gtest.h>
#include <vanetza/security/v2/subject_attribute.hpp>
#include <vanetza/security/v2/tests/check_list.hpp>
#include <vanetza/security/v2/tests/check_subject_attribute.hpp>
#include <vanetza/security/tests/serialization.hpp>
using namespace vanetza::security::v2;
using vanetza::security::deserialize_from_hexstring;
TEST(SubjectAttribute, serialize)
{
std::list<SubjectAttribute> list;
list.push_back(create_random_verification_key(33));
list.push_back(create_random_encryption_key(34));
list.push_back(SubjectAssurance { 124 });
std::list<IntX> its_aid;
for (int i = 0; i < 4; ++i) {
its_aid.push_back(create_random_its_aid(i + 66));
}
list.push_back(its_aid);
std::list<ItsAidSsp> its_aid_ssp;
for (int i = 0; i < 1; ++i) {
its_aid_ssp.push_back(create_random_its_aid_ssp(i + 67));
}
list.push_back(its_aid_ssp);
check(list, serialize_roundtrip(list));
}
TEST(SubjectAttribute, WebValidator_ItsAidSsp)
{
std::list<ItsAidSsp> list;
ItsAidSsp its1;
its1.its_aid.set(16512);
its1.service_specific_permissions = {0x01};
list.push_back(its1);
ItsAidSsp its2;
its2.its_aid.set(16513);
its2.service_specific_permissions = {0x01};
list.push_back(its2);
EXPECT_EQ(10, get_size(list));
std::list<ItsAidSsp> other_list;
deserialize_from_hexstring("0AC040800101C040810101", other_list);
check(list, other_list);
}