xref: /openbmc/bmcweb/test/include/ossl_random.cpp (revision 40e9b92ec19acffb46f83a6e55b18974da5d708e)
1 // SPDX-License-Identifier: Apache-2.0
2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors
3 #include "ossl_random.hpp"
4 
5 #include <gmock/gmock.h>
6 #include <gtest/gtest.h>
7 
8 namespace
9 {
10 
11 using testing::IsEmpty;
12 using testing::MatchesRegex;
13 
TEST(Bmcweb,GetRandomUUID)14 TEST(Bmcweb, GetRandomUUID)
15 {
16     using bmcweb::getRandomUUID;
17     // 78e96a4b-62fe-48d8-ac09-7f75a94671e0
18     EXPECT_THAT(
19         getRandomUUID(),
20         MatchesRegex(
21             "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"));
22 }
23 
TEST(Bmcweb,GetRandomIdOfLength)24 TEST(Bmcweb, GetRandomIdOfLength)
25 {
26     using bmcweb::getRandomIdOfLength;
27     EXPECT_THAT(getRandomIdOfLength(1), MatchesRegex("^[a-zA-Z0-9]$"));
28     EXPECT_THAT(getRandomIdOfLength(10), MatchesRegex("^[a-zA-Z0-9]{10}$"));
29     EXPECT_THAT(getRandomIdOfLength(0), IsEmpty());
30 }
31 
32 } // namespace
33