static void testGetUsers() { struct Allocator* allocator = MallocAllocator_new(1<<20); struct EventBase* base = EventBase_new(allocator); struct CryptoAuth* ca = CryptoAuth_new(allocator, NULL, base, NULL, evilRandom(allocator, NULL)); List* users = NULL; users = CryptoAuth_getUsers(ca, allocator); Assert_true(List_size(users) == 0); CryptoAuth_addUser(String_CONST("pass1"), String_CONST("user1"), ca); users = CryptoAuth_getUsers(ca, allocator); Assert_true(List_size(users) == 1); Assert_true(String_equals(String_CONST("user1"), List_getString(users,0))); CryptoAuth_addUser(String_CONST("pass2"), String_CONST("user2"), ca); users = CryptoAuth_getUsers(ca, allocator); Assert_true(List_size(users) == 2); Assert_true(String_equals(String_CONST("user2"),List_getString(users,0))); Assert_true(String_equals(String_CONST("user1"),List_getString(users,1))); Allocator_free(allocator); }
static void list(Dict* args, void* vcontext, String* txid, struct Allocator* requestAlloc) { struct Context* context = (struct Context*) vcontext; struct Allocator* child = Allocator_child(context->allocator); List* users = CryptoAuth_getUsers(context->ca, child); uint32_t count = List_size(users); Dict response = Dict_CONST( String_CONST("total"), Int_OBJ(count), Dict_CONST( String_CONST("users"), List_OBJ(users), NULL )); Admin_sendMessage(&response, txid, context->admin); Allocator_free(child); }