Skip to content

Commit a50a952

Browse files
eisenmann-b1sumit-bose
authored andcommitted
Add test for OAuth2 prompting config
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com> Reviewed-by: Sumit Bose <sbose@redhat.com>
1 parent 870619c commit a50a952

File tree

1 file changed

+36
-7
lines changed

1 file changed

+36
-7
lines changed

src/tests/cmocka/test_prompt_config.c

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,22 @@ void test_pc_list_add_smartcard(void **state)
134134
pc_list_free(pc_list);
135135
}
136136

137+
void test_pc_list_add_oauth2(void **state)
138+
{
139+
int ret;
140+
struct prompt_config **pc_list = NULL;
141+
142+
ret = pc_list_add_oauth2(&pc_list, "inter");
143+
assert_int_equal(ret, EOK);
144+
assert_non_null(pc_list);
145+
assert_non_null(pc_list[0]);
146+
assert_int_equal(PC_TYPE_OAUTH2, pc_get_type(pc_list[0]));
147+
assert_string_equal("inter", pc_get_oauth2_inter_prompt(pc_list[0]));
148+
assert_null(pc_list[1]);
149+
150+
pc_list_free(pc_list);
151+
}
152+
137153
void test_pam_get_response_prompt_config(void **state)
138154
{
139155
int ret;
@@ -156,21 +172,26 @@ void test_pam_get_response_prompt_config(void **state)
156172
ret = pc_list_add_smartcard(&pc_list, "init", "PIN");
157173
assert_int_equal(ret, EOK);
158174

175+
ret = pc_list_add_oauth2(&pc_list, "inter");
176+
assert_int_equal(ret, EOK);
177+
159178
ret = pam_get_response_prompt_config(pc_list, &len, &data);
160179
pc_list_free(pc_list);
161180
assert_int_equal(ret, EOK);
162-
assert_int_equal(len, 96);
181+
assert_int_equal(len, 109);
163182

164183
#if __BYTE_ORDER == __LITTLE_ENDIAN
165-
assert_memory_equal(data, "\5\0\0\0\1\0\0\0\10\0\0\0" "password\2\0\0\0\5\0\0\0"
184+
assert_memory_equal(data, "\6\0\0\0\1\0\0\0\10\0\0\0" "password\2\0\0\0\5\0\0\0"
166185
"first\6\0\0\0" "second\3\0\0\0\6\0\0\0" "single\6\0\0\0\4\0\0\0"
167186
"init\4\0\0\0" "link\5\0\0\0\4\0\0\0"
168-
"init\3\0\0\0" "PIN", len);
187+
"init\3\0\0\0" "PIN\7\0\0\0\5\0\0\0"
188+
"inter", len);
169189
#else
170-
assert_memory_equal(data, "\0\0\0\5\0\0\0\1\0\0\0\10" "password\0\0\0\2\0\0\0\5"
190+
assert_memory_equal(data, "\0\0\0\6\0\0\0\1\0\0\0\10" "password\0\0\0\2\0\0\0\5"
171191
"first\0\0\0\6" "second\0\0\0\3\0\0\0\6" "single\0\0\0\6\0\0\0\4"
172192
"init\0\0\0\4" "link\0\0\0\5\0\0\0\4"
173-
"init\0\0\0\3" "PIN", len);
193+
"init\0\0\0\3" "PIN\0\0\0\7\0\0\0\5"
194+
"inter", len);
174195
#endif
175196

176197
free(data);
@@ -198,10 +219,13 @@ void test_pc_list_from_response(void **state)
198219
ret = pc_list_add_smartcard(&pc_list, "init", "PIN");
199220
assert_int_equal(ret, EOK);
200221

222+
ret = pc_list_add_oauth2(&pc_list, "inter");
223+
assert_int_equal(ret, EOK);
224+
201225
ret = pam_get_response_prompt_config(pc_list, &len, &data);
202226
pc_list_free(pc_list);
203227
assert_int_equal(ret, EOK);
204-
assert_int_equal(len, 96);
228+
assert_int_equal(len, 109);
205229

206230
pc_list = NULL;
207231

@@ -233,7 +257,11 @@ void test_pc_list_from_response(void **state)
233257
assert_string_equal("init", pc_get_smartcard_init_prompt(pc_list[4]));
234258
assert_string_equal("PIN", pc_get_smartcard_pin_prompt(pc_list[4]));
235259

236-
assert_null(pc_list[5]);
260+
assert_non_null(pc_list[5]);
261+
assert_int_equal(PC_TYPE_OAUTH2, pc_get_type(pc_list[5]));
262+
assert_string_equal("inter", pc_get_oauth2_inter_prompt(pc_list[5]));
263+
264+
assert_null(pc_list[6]);
237265

238266
pc_list_free(pc_list);
239267
}
@@ -254,6 +282,7 @@ int main(int argc, const char *argv[])
254282
cmocka_unit_test(test_pc_list_add_2fa),
255283
cmocka_unit_test(test_pc_list_add_eidp),
256284
cmocka_unit_test(test_pc_list_add_smartcard),
285+
cmocka_unit_test(test_pc_list_add_oauth2),
257286
cmocka_unit_test(test_pam_get_response_prompt_config),
258287
cmocka_unit_test(test_pc_list_from_response),
259288
};

0 commit comments

Comments
 (0)