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