4949START_TEST (test_util_base64url_encode ) {
5050 int len = -1 ;
5151 char * dst = NULL ;
52- const char * src = "test" ;
52+ const char * src = NULL ;
53+
54+ len = oidc_util_base64url_encode (oidc_test_request_get (), & dst , NULL , 0 , 1 );
55+ ck_assert_ptr_null (dst );
56+ ck_assert_int_eq (len , -1 );
57+
58+ src = "test" ;
5359 len = oidc_util_base64url_encode (oidc_test_request_get (), & dst , src , _oidc_strlen (src ), 1 );
5460 ck_assert_msg (dst != NULL , "dst value is NULL" );
5561 ck_assert_int_eq (len , 6 );
@@ -69,6 +75,16 @@ START_TEST(test_util_base64_decode) {
6975 const char * input = "dGVzdA==" ;
7076 char * output = NULL ;
7177 int len = -1 ;
78+
79+ rv = oidc_util_base64_decode (oidc_test_pool_get (), NULL , & output , & len );
80+ ck_assert_ptr_nonnull (rv );
81+ ck_assert_ptr_null (output );
82+ ck_assert_int_eq (len , -1 );
83+
84+ rv = oidc_util_base64_decode (oidc_test_pool_get (), "\\" , & output , & len );
85+ ck_assert_ptr_nonnull (rv );
86+ ck_assert_int_eq (len , 0 );
87+
7288 rv = oidc_util_base64_decode (oidc_test_pool_get (), input , & output , & len );
7389 ck_assert_msg (rv == NULL , "return value is not NULL" );
7490 ck_assert_int_eq (len , 4 );
@@ -78,12 +94,13 @@ END_TEST
7894
7995START_TEST (test_util_base64url_decode ) {
8096 int len = -1 ;
81- char * src = "dGVzdA== " ;
97+ char * src = "c3ViamVjdHM_X2Q9MQ-Tl5u, " ;
8298 char * dst = NULL ;
8399 len = oidc_util_base64url_decode (oidc_test_pool_get (), & dst , src );
84100 ck_assert_msg (dst != NULL , "dst value is NULL" );
85- ck_assert_int_eq (len , 4 );
86- ck_assert_str_eq (dst , "test" );
101+ ck_assert_int_eq (len , 17 );
102+ // TODO: need binary compare
103+ // ck_assert_str_eq(dst, "subjects?_d=1���");
87104}
88105END_TEST
89106
0 commit comments