]>
git.ipfire.org Git - thirdparty/pdns.git/blob - pdns/test-base64_cc.cc
1 #ifndef BOOST_TEST_DYN_LINK
2 #define BOOST_TEST_DYN_LINK
5 #define BOOST_TEST_NO_MAIN
9 #include <boost/test/unit_test.hpp>
10 #include <boost/assign/std/map.hpp>
14 using namespace boost
;
16 BOOST_AUTO_TEST_SUITE(test_base64_cc
)
18 BOOST_AUTO_TEST_CASE(test_Base64_Roundtrip
) {
19 std::string
before("Some Random String"), after
;
20 std::string encoded
= Base64Encode(before
);
21 B64Decode(encoded
, after
);
22 BOOST_CHECK_EQUAL(before
, after
);
25 /* for a in $(seq 1 32);
27 plain=$(pwgen -1 -s $a)
28 echo \(\"$plain\",\"$(echo -n $plain | openssl enc -base64)\"\) ;
32 BOOST_AUTO_TEST_CASE(test_Base64_Encode
) {
33 typedef std::map
<std::string
, std::string
> cases_t
;
43 ("V7ZHmlG","VjdaSG1sRw==")
44 ("FuNFLSd5","RnVORkxTZDU=")
45 ("YVGwy3Vbi","WVZHd3kzVmJp")
46 ("6ueW4V3oLG","NnVlVzRWM29MRw==")
47 ("d5zR7AWIBIQ","ZDV6UjdBV0lCSVE=")
48 ("WJjZ6xgpRMCD","V0pqWjZ4Z3BSTUNE")
49 ("e8I52L0vC9Kfq","ZThJNTJMMHZDOUtmcQ==")
50 ("ufxMi8EZgTDja8","dWZ4TWk4RVpnVERqYTg=")
51 ("MiNPxzxUkNXCFg1","TWlOUHh6eFVrTlhDRmcx")
52 ("abqIPosEky85gFVM","YWJxSVBvc0VreTg1Z0ZWTQ==")
53 ("Qccuox8igoyRKEeTo","UWNjdW94OGlnb3lSS0VlVG8=")
54 ("wbaw6g6WWo4iiYXosV","d2JhdzZnNldXbzRpaVlYb3NW")
55 ("ZIfJZIA3Kd0a6iIr0vc","WklmSlpJQTNLZDBhNmlJcjB2Yw==")
56 ("SUhE1RK7xrRfvYOiaPMQ","U1VoRTFSSzd4clJmdllPaWFQTVE=")
57 ("ZAWsEeB4bcTUzTr828VTd","WkFXc0VlQjRiY1RVelRyODI4VlRk")
58 ("xc9rpu0F5ztR7r3jElr2BS","eGM5cnB1MEY1enRSN3IzakVscjJCUw==")
59 ("xvEWPkZjqVjIZwsL5WhijES","eHZFV1BrWmpxVmpJWndzTDVXaGlqRVM=")
60 ("yy4yAmcBKCNF3hWriWbDnKmF","eXk0eUFtY0JLQ05GM2hXcmlXYkRuS21G")
61 ("9wKEMpl8OlFvnD10wwhoK7BjY","OXdLRU1wbDhPbEZ2bkQxMHd3aG9LN0JqWQ==")
62 ("SB6yLm39pDVIUiQ5g73BvyRzBs","U0I2eUxtMzlwRFZJVWlRNWc3M0J2eVJ6QnM=")
63 ("Acu4kk1puF98lIzd1b9bt8ha7Er","QWN1NGtrMXB1Rjk4bEl6ZDFiOWJ0OGhhN0Vy")
64 ("P4X6efItE6cn03ksLTvniqMQlel3","UDRYNmVmSXRFNmNuMDNrc0xUdm5pcU1RbGVsMw==")
65 ("RnQSvhIOz3ywuHCoSotJGKjBdCVbx","Um5RU3ZoSU96M3l3dUhDb1NvdEpHS2pCZENWYng=")
66 ("ykybXtN0lelsLSzyzd4DTP3sYp8YGu","eWt5Ylh0TjBsZWxzTFN6eXpkNERUUDNzWXA4WUd1")
67 ("eSHBt7Xx5F7A4HFtabXEzDLD01bnSiG","ZVNIQnQ3WHg1RjdBNEhGdGFiWEV6RExEMDFiblNpRw==")
68 ("dq4KydZjmcoQQ45VYBP2EDR8FqKaMul0","ZHE0S3lkWmptY29RUTQ1VllCUDJFRFI4RnFLYU11bDA=");
70 for(const cases_t::value_type
& val
: cases
) {
71 std::string encoded
= Base64Encode(val
.first
), decoded
;
72 BOOST_CHECK_EQUAL(encoded
, val
.second
);
74 B64Decode(val
.second
, decoded
);
75 BOOST_CHECK_EQUAL(decoded
, val
.first
);
80 BOOST_AUTO_TEST_SUITE_END()