예제 #1
0
} END_TEST

START_TEST (test_get_users_from_partial_uri) {
	uint32_t count;
	char **uris, **users;
	const char *partial = "sogo://*";

	retval = openchangedb_get_users_from_partial_uri(g_mem_ctx, g_oc_ctx, partial,
							 &count, &uris, &users);
	// FIXME mailboxDN bug?
	ck_assert_int_ne(retval, MAPI_E_SUCCESS);
} END_TEST
예제 #2
0
파일: mgmt.c 프로젝트: antmd/openchange
static PyObject *py_MAPIStoreMGMT_existing_users(PyMAPIStoreMGMTObject *self, PyObject *args)
{
	PyObject	*dict;
	PyObject	*userlist;
	PyObject	*item;
	char		**MAPIStoreURI;
	char		**users;
	uint32_t	count;
	char		*uri;
	const char	*backend;
	const char	*vuser;
	const char	*folder;
	int		ret;
	int		i;
	PyMAPIStoreGlobals *globals;

	if (!PyArg_ParseTuple(args, "sss", &backend, &vuser, &folder)) {
		return NULL;
	}	

	dict = PyDict_New();
	userlist = PyList_New(0);
	PyDict_SetItemString(dict, "backend", PyString_FromString(backend));
	PyDict_SetItemString(dict, "user", PyString_FromString(vuser));
	PyDict_SetItemString(dict, "count", PyLong_FromLong(0));
	PyDict_SetItem(dict, PyString_FromString("infos"), userlist);

	ret = mapistore_mgmt_generate_uri(self->mgmt_ctx, backend, vuser, folder, NULL, NULL, &uri);
	if (ret != MAPISTORE_SUCCESS) return (PyObject *)dict;
	printf("uri: %s\n", uri);

	globals = get_PyMAPIStoreGlobals();
	ret = openchangedb_get_users_from_partial_uri(self->mgmt_ctx, globals->ocdb_ctx, uri, 
						      &count, &MAPIStoreURI, &users);
	if (ret != MAPISTORE_SUCCESS) return (PyObject *)dict;

	PyDict_SetItemString(dict, "count", PyLong_FromLong(count));
	for (i = 0; i != count; i++) {
		item = PyDict_New();
		PyDict_SetItemString(item, "username", PyString_FromString(users[i]));
		PyDict_SetItemString(item, "mapistoreURI", PyString_FromString(MAPIStoreURI[i]));
		PyList_Append(userlist, item);
	}
	PyDict_SetItem(dict, PyString_FromString("infos"), userlist);

	return (PyObject *)dict;
}