secgateway/Product/user/user_manager/usermanager-test/test_usermanager.c

352 lines
12 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <unistd.h>
#include <cjson/cJSON.h>
#include "common_user.h"
#include "array_index.h"
#include "user_group.h"
#include "user.h"
extern USERGROUP g_group_table[GROUP_INDEX_MAX];
extern USERACCOUNT g_user_table[USER_INDEX_MAX];
int main1()
{
int a[2] = {1,2};
printf("%d", sizeof(a)/sizeof(a[0]));
return 0;
}
int usergroup_config_add_proc(int source, int config_type,
void* input, int input_len,
void* output, int *output_len)
{
int ret = 0;
unsigned short result;
cJSON *root, *data, *name, *description, *res;
char *des = NULL;
char *ret_char = NULL;
root = cJSON_Parse(input);
data = cJSON_GetObjectItem(root, "data");
if(!data)
{
ret = -1;
//ASSERT_RET(ret);
cJSON_Delete(root);
return ret;
}
name = cJSON_GetObjectItem(data, "gname");
if(!name)
{
ret = -1;
//ASSERT_RET(ret);
cJSON_Delete(root);
return ret;
}
description = cJSON_GetObjectItem(data, "gdescription");
if(description)
{
des = description->valuestring;
}
result = add_group(name->valuestring, des); //增加用户组
cJSON_Delete(root);
res = cJSON_CreateObject();
if(!res)
{
ret = -1;
//ASSERT_RET(ret);
return ret;
}
cJSON_AddNumberToObject(res, "result", result);
ret_char = cJSON_PrintUnformatted(res);
memcpy(output, ret_char, strlen(ret_char)+1);
cJSON_Delete(res);
return ret;
}
int main(void)
{
printf("初始化用户组:%d\n", init_group());
printf("增加一个用户组:%d\n", add_group("", ""));
printf("增加一个用户组:%d\n", add_group("aaa01", "描述02"));
printf("增加一个用户组:%d\n", add_group("aaa03", "描述03"));
printf("增加一个用户组:%d\n", add_group("aaa,", "描述04"));
printf("增加一个用户组:%d\n", add_group("", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa04", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa07", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa08", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa09", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa10", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa11", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa12", "描述04"));
char *out_put;
out_put = malloc(sizeof(char) * 200);
if (NULL == out_put)
{
printf("*****\n");
}
char* input = "{\"type\": 0,\"data\": {\"gname\": \"xxx\",\"gdescription\": \"xxx\"}}";
printf("ttttt增加一个用户组%d\n", usergroup_config_add_proc(1, 1, input, 100, out_put, 200));
printf("result: %s", out_put);
//USERGROUP U[22] = { 0 };
int gsize = get_group_count();
USERGROUP* U;
U = (USERGROUP*)malloc(sizeof(USERGROUP) * gsize);
if (NULL == U)
{
printf("shibaile");
}
show_group_list(U);
for (int i = 0; i < gsize; i++)
{
printf("第 %d 用户组 ID : %d, NAME: %s, 描述:%s \n", i, U[i].ID, U[i].gname, U[i].gdescription);
}
char* name1 = { "aaa18" };
printf("删除一个组:%s, %d\n", name1, del_group_by_name(name1));
printf("删除一个组:%s, %d\n", "aaa03", del_group_by_name("aaa03"));
printf("删除一个组:%s, %d\n", "aaaa03", del_group_by_name("aaaa03"));
printf("增加一个用户组:%d\n", add_group("aaa30", "就爱看九分阿道夫就卡了阿道夫阿道夫就"));
printf("增加一个用户组:%d\n", add_group("aaa31", "描述31"));
printf("增加一个用户组:%d\n", add_group("aaa32", "描述31"));
printf("增加一个用户组:%d\n", add_group("aaa13", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa14", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa15", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa16", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa17", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa18", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa18", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa20", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa21", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa22", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa23", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa20", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa20", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa24", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa25", "描述04"));
printf("增加一个用户组:%d\n", add_group("aaa26", "描述04"));
gsize = get_group_count();
USERGROUP* U1;
U1 = (USERGROUP*)malloc(sizeof(USERGROUP) * gsize);
if (NULL == U1)
{
printf("shibaile");
}
show_group_list(U1);
for (int i = 0; i < gsize; i++)
{
printf("第 %d 用户组 ID : %d, NAME: %s, 描述:%s \n", i, U1[i].ID, U1[i].gname, U1[i].gdescription);
}
char* name2 = { "aaa10" };
USERGROUP* U2;
U2 = (USERGROUP*)malloc(sizeof(USERGROUP));
if (NULL == U2)
{
printf("shibaile");
}
find_group_by_name(name2, U2);
if (NULL != U2)
{
printf("%s, %d, %s, %s \n", name2, U2->ID, U2->gname, U2->gdescription);
}
printf("*************************************\n");
printf("初始化用户:%d\n", init_user());
for (int i = 0; i < 10; i++)
{
printf("初始化后的第 %d 个用户,ID:%d, PWD:%s \n", i, g_user_table[i].ID, g_user_table[i].passwd);
}
USERADD* addUserResullt;
addUserResullt = (USERADD*)malloc(sizeof(USERADD));
if (NULL == addUserResullt)
{
printf("shibaile");
}
usermanager_add_user("用户01", "aaa04", addUserResullt);
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
//addUserResullt = AddUser("用户02", "aaa04", NULL);
//printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
usermanager_add_user(NULL, "aaa04", addUserResullt);
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
usermanager_add_user("", "aaa04", addUserResullt);
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
usermanager_add_user("用户04,", "aaa04", addUserResullt);
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
usermanager_add_user("用户05", "aCaa04", addUserResullt);
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
usermanager_add_user("用户01", "aaa04", addUserResullt);
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
usermanager_add_user("用户04", "aaa07", addUserResullt);
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
usermanager_add_user("用户05", "aaa07", addUserResullt);
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
usermanager_add_user("用户06", "aaa07", addUserResullt);
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
usermanager_add_user("用户07", "aaa07", addUserResullt);
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
usermanager_add_user("用户08", "aaa07", addUserResullt);
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
usermanager_add_user("用户09", "aaa07", addUserResullt);
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
for (int i = 0; i < USER_INDEX_MAX; i++)
{
if (g_user_table[i].ID != 0)
{
printf("tianjia后的第 %d 个用户, ID:%d, GID:%d, 用户名:%s, PWD:%s \n", i, g_user_table[i].ID, g_user_table[i].GID, g_user_table[i].uname, g_user_table[i].passwd);
}
}
printf("*****************************************************\n");
USERLIST* ulist;
ulist = (USERLIST*)malloc(sizeof(USERLIST));
if (NULL == ulist)
{
printf("ulist fail");
}
unsigned short id1 = 2;
get_user_by_id(id1, ulist);
printf("查找id为:%d, 用户名:%s, 用户组ID:%d用户组名%s,描述:%s", id1, ulist->uname, ulist->GID, ulist->gname, ulist->udescription);
printf(" ,多用户登陆:%d, 永久性:%d, 开始时间:%s, 结束时间:%s", ulist->multi, ulist->valid, ulist->valid_begin_time, ulist->valid_end_time);
printf("密码:%s\n", ulist->passwd);
USERLIST* ulist2;
ulist2 = (USERLIST*)malloc(sizeof(USERLIST));
if (NULL == ulist2)
{
printf("ulist fail");
}
ulist2->ID = 2;
ulist2->GID = 4;
strcpy(ulist2->udescription, "修改用");
strcpy(ulist2->passwd, "zhelishimima123");
ulist2->multi = 1;
ulist2->valid = 1;
strcpy(ulist2->valid_begin_time, "2013-07-04 15:04:23");
strcpy(ulist2->valid_end_time, "2019-07-04 15:04:23");
printf("%d\n", mod_user_web(ulist2));
USERLIST* ulist22;
ulist22 = (USERLIST*)malloc(sizeof(USERLIST));
if (NULL == ulist22)
{
printf("ulist fail");
}
get_user_by_id(id1, ulist22);
printf("查找id为:%d, 用户名:%s, 用户组ID:%d用户组名%s,描述:%s", id1, ulist22->uname, ulist22->GID, ulist22->gname, ulist22->udescription);
printf(" ,多用户登陆:%d, 永久性:%d, 开始时间:%s, 结束时间:%s", ulist22->multi, ulist22->valid, ulist22->valid_begin_time, ulist22->valid_end_time);
printf("密码:%s\n", ulist22->passwd);
//printf("内存表中的时间:%lld,%lld, mul_avil:%d", g_user_table[2].valid_begin_time, g_user_table[2].valid_end_time, g_user_table[2].multi_valid);
mod_user_line("用户05", 0, "zhelishimiaoshu");
mod_user_line("用户05", 1, "aaa12");
mod_user_line("用户05", 2, "zhelishidenglumima");
//mod_user_line("用户05", 3, "1");
mod_user_line("用户05", 4, "1");
mod_user_line("用户05", 5, "2013-03-03 15:04:23");
mod_user_line("用户05", 6, "2018-03-03 15:04:23");
//mod_user_line("用户05", 7, "2020-03-03 15:04:23");
unsigned short id2 = 3;
get_user_by_id(id2, ulist22);
printf("查找id为:%d, 用户名:%s, 用户组ID:%d用户组名%s,描述:%s", id2, ulist22->uname, ulist22->GID, ulist22->gname, ulist22->udescription);
printf(" ,多用户登陆:%d, 永久性:%d, 开始时间:%s, 结束时间:%s", ulist22->multi, ulist22->valid, ulist22->valid_begin_time, ulist22->valid_end_time);
printf("密码:%s\n", ulist22->passwd);
printf("*********************************************************************************\n");
// USER_AUTH_RET* aret;
// aret = (USER_AUTH_RET*)malloc(sizeof(USER_AUTH_RET));
// if (NULL == aret)
// {
// printf("111111111111");
// }
// time_t t1 = time(NULL);
// aret = user_auth("用户05", "zhelishidenglumima", t1, aret);
// printf("%d,%d,%d\n", aret->ret, aret->user_id, aret->group_id);
// Sleep(1000);
// t1 = time(NULL);
// aret = user_auth("用户05", "zhelishidenglumima", t1, aret);
// printf("%d,%d,%d\n", aret->ret, aret->user_id, aret->group_id);
// Sleep(1000);
// t1 = time(NULL);
// aret = user_auth("用户05", "zhelishidenglumima", t1, aret);
// printf("%d,%d,%d\n",aret->ret,aret->user_id,aret->group_id);
// Sleep(1000);
// t1 = time(NULL);
// aret = user_auth("用户05", "zhelishidenglumima", t1, aret);
// printf("%d,%d,%d\n", aret->ret, aret->user_id, aret->group_id);
// Sleep(1000);
// t1 = time(NULL);
// aret = user_auth("用户05", "zhelishidenglumima", t1, aret);
// printf("%d,%d,%d\n", aret->ret, aret->user_id, aret->group_id);
// Sleep(1000);
// t1 = time(NULL);
// aret = user_auth("用户05", "zhelishidenglumima", t1, aret);
// printf("%d,%d,%d\n", aret->ret, aret->user_id, aret->group_id);
// mod_user_line("用户05", 6, "2020-03-03 15:04:23");
// Sleep(4000);
// t1 = time(NULL);
// aret = user_auth("用户05", "zhelishidenglumima", t1, aret);
// printf("%d,%d,%d\n", aret->ret, aret->user_id, aret->group_id);
///extern USER_AUTH_LIST g_user_auth_ret_table[USER_INDEX_MAX];
//printf("%lld,%lld,%lld",g_user_auth_ret_table[3].fail_time[0], g_user_auth_ret_table[3].fail_time[1], g_user_auth_ret_table[3].fail_time[2]);
return 0;
}