xref: /aosp_15_r20/external/libwebsockets/minimal-examples/api-tests/api-test-jose/main.c (revision 1c60b9aca93fdbc9b5f19b2d2194c91294b22281)
1*1c60b9acSAndroid Build Coastguard Worker /*
2*1c60b9acSAndroid Build Coastguard Worker  * lws-api-test-jose
3*1c60b9acSAndroid Build Coastguard Worker  *
4*1c60b9acSAndroid Build Coastguard Worker  * Written in 2010-2019 by Andy Green <[email protected]>
5*1c60b9acSAndroid Build Coastguard Worker  *
6*1c60b9acSAndroid Build Coastguard Worker  * This file is made available under the Creative Commons CC0 1.0
7*1c60b9acSAndroid Build Coastguard Worker  * Universal Public Domain Dedication.
8*1c60b9acSAndroid Build Coastguard Worker  */
9*1c60b9acSAndroid Build Coastguard Worker 
10*1c60b9acSAndroid Build Coastguard Worker #include <libwebsockets.h>
11*1c60b9acSAndroid Build Coastguard Worker 
12*1c60b9acSAndroid Build Coastguard Worker int
13*1c60b9acSAndroid Build Coastguard Worker test_jwk(struct lws_context *context);
14*1c60b9acSAndroid Build Coastguard Worker int
15*1c60b9acSAndroid Build Coastguard Worker test_jws(struct lws_context *context);
16*1c60b9acSAndroid Build Coastguard Worker int
17*1c60b9acSAndroid Build Coastguard Worker test_jwe(struct lws_context *context);
18*1c60b9acSAndroid Build Coastguard Worker 
main(int argc,const char ** argv)19*1c60b9acSAndroid Build Coastguard Worker int main(int argc, const char **argv)
20*1c60b9acSAndroid Build Coastguard Worker {
21*1c60b9acSAndroid Build Coastguard Worker 	struct lws_context_creation_info info;
22*1c60b9acSAndroid Build Coastguard Worker 	struct lws_context *context;
23*1c60b9acSAndroid Build Coastguard Worker 	const char *p;
24*1c60b9acSAndroid Build Coastguard Worker 	int result = 0, logs = LLL_USER | LLL_ERR | LLL_WARN | LLL_NOTICE;
25*1c60b9acSAndroid Build Coastguard Worker 
26*1c60b9acSAndroid Build Coastguard Worker 	if ((p = lws_cmdline_option(argc, argv, "-d")))
27*1c60b9acSAndroid Build Coastguard Worker 		logs = atoi(p);
28*1c60b9acSAndroid Build Coastguard Worker 
29*1c60b9acSAndroid Build Coastguard Worker 	lws_set_log_level(logs, NULL);
30*1c60b9acSAndroid Build Coastguard Worker 	lwsl_user("LWS JOSE api tests\n");
31*1c60b9acSAndroid Build Coastguard Worker 
32*1c60b9acSAndroid Build Coastguard Worker 	memset(&info, 0, sizeof info); /* otherwise uninitialized garbage */
33*1c60b9acSAndroid Build Coastguard Worker #if defined(LWS_WITH_NETWORK)
34*1c60b9acSAndroid Build Coastguard Worker 	info.port = CONTEXT_PORT_NO_LISTEN;
35*1c60b9acSAndroid Build Coastguard Worker #endif
36*1c60b9acSAndroid Build Coastguard Worker 	info.options = 0;
37*1c60b9acSAndroid Build Coastguard Worker 
38*1c60b9acSAndroid Build Coastguard Worker 	context = lws_create_context(&info);
39*1c60b9acSAndroid Build Coastguard Worker 	if (!context) {
40*1c60b9acSAndroid Build Coastguard Worker 		lwsl_err("lws init failed\n");
41*1c60b9acSAndroid Build Coastguard Worker 		return 1;
42*1c60b9acSAndroid Build Coastguard Worker 	}
43*1c60b9acSAndroid Build Coastguard Worker 
44*1c60b9acSAndroid Build Coastguard Worker 	result |= test_jwk(context);
45*1c60b9acSAndroid Build Coastguard Worker 	lwsl_notice("%d\n", result);
46*1c60b9acSAndroid Build Coastguard Worker 	result |= test_jws(context);
47*1c60b9acSAndroid Build Coastguard Worker 	lwsl_notice("%d\n", result);
48*1c60b9acSAndroid Build Coastguard Worker 	result |= test_jwe(context);
49*1c60b9acSAndroid Build Coastguard Worker 	lwsl_notice("%d\n", result);
50*1c60b9acSAndroid Build Coastguard Worker 
51*1c60b9acSAndroid Build Coastguard Worker 	lwsl_user("Completed: %s\n", result ? "FAIL" : "PASS");
52*1c60b9acSAndroid Build Coastguard Worker 
53*1c60b9acSAndroid Build Coastguard Worker 	lws_context_destroy(context);
54*1c60b9acSAndroid Build Coastguard Worker 
55*1c60b9acSAndroid Build Coastguard Worker 	return result;
56*1c60b9acSAndroid Build Coastguard Worker }
57