]>
git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/opentelemetry-cpp/third_party/prometheus-cpp/pull/tests/internal/base64_test.cc
1 #include "detail/base64.h"
3 #include <gtest/gtest.h>
11 const std::string decoded
;
12 const std::string encoded
;
15 const TestVector testVector
[] = {
21 {"fooba", "Zm9vYmE="},
22 {"foobar", "Zm9vYmFy"},
25 const unsigned nVectors
= sizeof(testVector
) / sizeof(testVector
[0]);
27 using namespace testing
;
29 TEST(Base64Test
, decodeTest
) {
30 for (unsigned i
= 0; i
< nVectors
; ++i
) {
31 std::string decoded
= detail::base64_decode(testVector
[i
].encoded
);
32 EXPECT_EQ(testVector
[i
].decoded
, decoded
);
36 TEST(Base64Test
, rejectInvalidSymbols
) {
37 EXPECT_ANY_THROW(detail::base64_decode("...."));
40 TEST(Base64Test
, rejectInvalidInputSize
) {
41 EXPECT_ANY_THROW(detail::base64_decode("ABC"));
44 TEST(Base64Test
, rejectInvalidPadding
) {
45 EXPECT_ANY_THROW(detail::base64_decode("A==="));
49 } // namespace prometheus