xref: /openbmc/libcper/tests/base64_test.cpp (revision a7d2cddd)
1*a7d2cdddSEd Tanous extern "C" {
2*a7d2cdddSEd Tanous #include "base64.h"
3*a7d2cdddSEd Tanous }
4*a7d2cdddSEd Tanous 
5*a7d2cdddSEd Tanous #include "gtest/gtest.h"
6*a7d2cdddSEd Tanous #include "gmock/gmock.h"
7*a7d2cdddSEd Tanous 
TEST(Base64Encode,Good)8*a7d2cdddSEd Tanous TEST(Base64Encode, Good)
9*a7d2cdddSEd Tanous {
10*a7d2cdddSEd Tanous 	int32_t encoded_len = 0;
11*a7d2cdddSEd Tanous 	std::array<uint8_t, 1> data = { 'f' };
12*a7d2cdddSEd Tanous 	char *encoded = base64_encode(data.data(), data.size(), &encoded_len);
13*a7d2cdddSEd Tanous 	EXPECT_EQ(encoded_len, 4);
14*a7d2cdddSEd Tanous 	ASSERT_EQ(std::string_view(encoded, encoded_len), "Zg==");
15*a7d2cdddSEd Tanous 	free(encoded);
16*a7d2cdddSEd Tanous }
17*a7d2cdddSEd Tanous 
TEST(Base64Decode,Good)18*a7d2cdddSEd Tanous TEST(Base64Decode, Good)
19*a7d2cdddSEd Tanous {
20*a7d2cdddSEd Tanous 	int32_t decoded_len = 0;
21*a7d2cdddSEd Tanous 	std::string_view data{ "Zg==" };
22*a7d2cdddSEd Tanous 	UINT8 *decoded = base64_decode(data.data(), data.size(), &decoded_len);
23*a7d2cdddSEd Tanous 	EXPECT_EQ(decoded_len, 1);
24*a7d2cdddSEd Tanous 	ASSERT_EQ(decoded[0], 'f');
25*a7d2cdddSEd Tanous 	free(decoded);
26*a7d2cdddSEd Tanous }
27