Develop and Download Open Source Software

Browse CVS Repository

Contents of /xoonips/AL/test/test_login_logout.cc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.3 - (show annotations) (download) (as text)
Mon Dec 6 01:45:50 2004 UTC (19 years, 4 months ago) by aga
Branch: MAIN
CVS Tags: mv_to_sourceforge_20050217, AL_PORTING, MergePnt_20051116, REL20051226, XOONIPS_RC1, REL20060323, tag20060615, tag20070307current, tag20061115, MergePnt_20051220, tag20061130, merge_to_20060605, tag20070307, REL20060213, RELENG_2_0_0a_RELEASE, RELEASE_1_0_0, RELEASE_1_0_1, demo20050128, tag20060622, merge_to_20060411, HEAD
Branch point for: XOONIPS_STABLE_32, XOONIPS_STABLE, XOONIPS_STABLE_3, XOONIPS_STABLE_2
Changes since 1.2: +5 -3 lines
File MIME type: text/x-c++src
・コメントつけ.
・開放忘れ修正.

1 /*
2 *
3 * loginUser, logoutUser?????鴻????
4 *
5 * g++ -I/usr/local/include -I. -I/usr/include/mysql -DCOMPILE_DL=1 -o test_login_logout test_login_logout.cc common.cc \
6 ../account.cc ../group.cc ../session.cc ../commonal.cc ../common.cc -lmysqlclient
7 * $Revision: 1.2 $
8 * $Log: test_login_logout.cc,v $
9 * Revision 1.2 2004/11/27 02:25:15 aga
10 * ??reateSession, getSession?????鴻????菴遵??.
11 *
12 * Revision 1.1 2004/11/27 00:29:04 aga
13 * ??ommonal??oginUser,logoutUser?????鴻???????違????.
14 *
15 *
16 */
17
18 /* 罩c?????阪??:
19 [aga@psx test]$ ./test_login_logout
20 ret_initdb == RES_OK .... ok
21 ret == RES_LOGIN_FAILURE .... ok
22 s == 0 .... ok
23 ret_login3 == RES_OK .... ok
24 s != 0 .... ok
25 ret == RES_OK .... ok
26 userID=2
27 ret == RES_OK .... ok
28 userID=2
29 ret != RES_OK .... ok
30 */
31
32 #include <time.h>
33 #include <stdio.h>
34 #include <unistd.h>
35 #include <string.h>
36 #include <time.h>
37 #include <mysql.h>
38 #include <netinet/in.h>
39
40 #include "../session.h"
41 #include "../common.h"
42 #include "../commonal.h"
43 #include "common.h"
44
45 #define TEST( x ) test( x, #x );
46
47 static MYSQL *mysql = NULL;
48
49
50 void printSession( const session_t *psession ){
51 if ( psession == 0 )
52 printf("psession==0\n");
53 else
54 // printf("sessionID=%x remoteHost=%x timestamp=%u userID=%d\n",
55 // (unsigned int)psession->getSessionID(), (unsigned int)psession->getRemoteHost(),
56 // (unsigned int)psession->getDate(), (int)psession->getUserID() );
57 printf("userID=%d\n", (int)psession->getUserID() );
58 }
59
60 int main( void )
61 {
62 char *sql;
63
64 // initialize tester mysql
65 mysql = mysql_init(NULL);
66 if ( mysql == NULL ){
67 return 1;
68 }
69 char *unix_socket = NULL; // ?
70 uint flag = 0; // ?
71 if ( NULL == mysql_real_connect( mysql, "localhost", "", "", "aga_xoops", 0, unix_socket, flag ) ){
72 return 2;
73 }
74
75 if ( 0 != mysql_query( mysql, "replace x_session ( sess_id, sess_ip ) values ('testsess_id', '127.0.0.1')" ) ){
76 return 3;
77 }
78 /* // mysql_query(NULL,"...")???紊???莎激???????с???????????????若?違????????????????
79 // loginUser, valid account, before initializeDB
80 {
81 sessionid_t s = 0;
82 result_t ret = loginUser("testuser","testpassword", &s);
83 TEST( ret != RES_OK );
84 printf( "ret=%d\n", ret );
85 TEST( s == 0 );
86 }
87
88 // createSession, valid sess_id, before initializeDB
89 {
90 sessionid_t s = 0;
91 result_t ret = createSession("testsess_id",2,(unsigned long)INADDR_LOOPBACK, &s);
92 TEST( ret != RES_OK );
93 TEST( s == 0 );
94 }
95 */
96
97 // initializeDB
98 {
99 result_t ret = initializeDB( "localhost", "", "", "aga_xoops", "x" );
100 TEST( ret == RES_OK );
101 }
102
103 // loginUser, invalid account
104 {
105 sessionid_t s = 0;
106 result_t ret = loginUser("testuser","badpassword", &s);
107 TEST( ret == RES_LOGIN_FAILURE );
108 TEST( s == 0 );
109 }
110
111 sessionid_t s0;
112 // loginUser, valid account
113 {
114 sessionid_t s = 0;
115 result_t ret = loginUser("testuser","testpassword", &s);
116 TEST( ret == RES_OK );
117 TEST( s != 0 );
118 s0 = s;
119 }
120
121 // getSession
122 {
123 const session_t *psession = 0;
124 result_t ret = getSession(s0,&psession);
125 TEST( ret == RES_OK );
126 printSession(psession);
127 freeResult(psession);
128 }
129
130
131 // logoutUser, invalid sessionid
132 {
133 sessionid_t s = 123;
134 logoutUser(s);
135 }
136
137 // getSession
138 {
139 const session_t *psession = 0;
140 result_t ret = getSession(s0,&psession);
141 TEST( ret == RES_OK );
142 printSession(psession);
143 freeResult(psession);
144 }
145
146 // logoutUser, invalid sessionid
147 {
148 logoutUser(s0);
149 }
150
151 // getSession
152 {
153 const session_t *psession = 0;
154 result_t ret = getSession(s0,&psession);
155 TEST( ret != RES_OK );
156 printf( "ret=%d\n", ret );
157 }
158
159 // createSession, invalid sess_id
160 {
161 sessionid_t s = 0;
162 result_t ret = createSession("badsess_id",2,(unsigned long)INADDR_LOOPBACK, &s);
163 TEST( ret != RES_OK );
164 printf( "ret=%d\n", ret );
165 TEST( s == 0 );
166 }
167
168 // createSession, valid sess_id
169 {
170 sessionid_t s = 0;
171 result_t ret = createSession("testsess_id",2,(unsigned long)INADDR_LOOPBACK, &s);
172 TEST( ret == RES_OK );
173 TEST( s != 0 );
174 s0 = s;
175 }
176
177 // getSession
178 {
179 const session_t *psession = 0;
180 result_t ret = getSession(s0,&psession);
181 TEST( ret == RES_OK );
182
183 time_t session_time = psession->getDate();
184 printf( "remoteHost=%x uid=%d, sessionid=%d, date=%s,\n",
185 (int)psession->getRemoteHost(), (int)psession->getUserID(),
186 (int)psession->getSessionID(), ctime(&session_time) );
187 freeResult(psession);
188 }
189
190 // logoutUser, valid sessionid
191 {
192 logoutUser(s0);
193 }
194
195 // getSession
196 {
197 const session_t *psession = 0;
198 result_t ret = getSession(s0,&psession);
199 TEST( ret == RES_NO_SUCH_SESSION );
200 }
201
202
203 }

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26