initial load of upstream version 1.06.32
[xmlrpc-c] / src / test / server_abyss.c
1 #include "unistdx.h"
2 #include <stdio.h>
3
4 #include "xmlrpc_config.h"
5
6 #include "xmlrpc-c/base.h"
7 #include "xmlrpc-c/server.h"
8 #include "xmlrpc-c/abyss.h"
9 #include "xmlrpc-c/server_abyss.h"
10
11 #include "test.h"
12
13 #include "server_abyss.h"
14
15
16 static void
17 testSetHandlers(TServer * const abyssServerP) {
18
19     xmlrpc_env env;
20     xmlrpc_registry * registryP;
21
22     xmlrpc_env_init(&env);
23
24     registryP = xmlrpc_registry_new(&env);
25     TEST_NO_FAULT(&env);
26     TEST(registryP != NULL);
27
28     xmlrpc_server_abyss_set_handler(&env, abyssServerP, "/RPC3", registryP);
29     TEST_NO_FAULT(&env);
30
31     xmlrpc_server_abyss_set_handlers2(abyssServerP, "/RPC4", registryP);
32
33     xmlrpc_registry_free(registryP);
34
35     {
36         xmlrpc_registry * registryP;
37         registryP = xmlrpc_registry_new(&env);
38         xmlrpc_server_abyss_set_handlers(abyssServerP, registryP);
39         xmlrpc_registry_free(registryP);
40     }
41     xmlrpc_env_clean(&env);
42 }
43
44
45
46 static void
47 testServerParms(void) {
48     xmlrpc_server_abyss_parms parms;
49
50     parms.port_number = 1000;
51     parms.log_file_name = "/tmp/xmlrpc_logfile";
52     parms.keepalive_timeout = 5;
53     parms.keepalive_max_conn = 4;
54     parms.timeout = 50;
55     parms.dont_advertise = TRUE;
56     parms.uri_path = "/RPC9";
57     parms.chunk_response = TRUE;
58 };
59
60
61
62 void
63 test_server_abyss(void) {
64
65     xmlrpc_env env;
66     TServer abyssServer;
67
68     printf("Running Abyss server tests...\n");
69
70     xmlrpc_env_init(&env);
71
72     ServerCreate(&abyssServer, "testserver", 8080, NULL, NULL);
73     
74     testSetHandlers(&abyssServer);
75
76     ServerSetKeepaliveTimeout(&abyssServer, 60);
77     ServerSetKeepaliveMaxConn(&abyssServer, 10);
78     ServerSetTimeout(&abyssServer, 0);
79     ServerSetAdvertise(&abyssServer, FALSE);
80
81     ServerFree(&abyssServer);
82
83     ServerCreateSocket(&abyssServer, "testserver", STDIN_FILENO,
84                        "/home/http", "/tmp/logfile");
85
86     ServerFree(&abyssServer);
87
88     testServerParms();
89
90     printf("\n");
91     printf("Abyss server tests done.\n");
92 }