Esempio n. 1
0
static void test(bool do_encrypt)
{
	struct st_object *obj;
	struct st_keylist *klist;
	struct st_client *stc;
	int port;
	bool rcb;
	char val[] = "my first value";
	char key[64] = "deadbeef";
	size_t len = 0;
	void *mem;

	port = hail_readport(TEST_PORTFILE);
	OK(port > 0);

	stc = stc_new(TEST_HOST, port, TEST_USER, TEST_USER_KEY, do_encrypt);
	OK(stc);

	rcb = stc_table_openz(stc, TEST_TABLE, 0);
	OK(rcb);

	/* store object */
	rcb = stc_put_inlinez(stc, key, val, strlen(val), 0);
	OK(rcb);

	/* make sure object appears in list of volume keys */
	klist = stc_keys(stc);
	OK(klist);
	OK(klist->contents);
	OK(klist->contents->next == NULL);

	obj = klist->contents->data;
	OK(obj);
	OK(obj->name);
	OK(!strcmp(obj->name, key));
	OK(obj->time_mod);
	OK(obj->etag);
	OK(obj->size == strlen(val));
	OK(obj->owner);

	stc_free_keylist(klist);

	/* get object */
	mem = stc_get_inlinez(stc, key, &len);
	OK(mem);
	OK(len == strlen(val));
	OK(!memcmp(val, mem, strlen(val)));

	free(mem);

	/* delete object */
	rcb = stc_delz(stc, key);
	OK(rcb);

	stc_free(stc);
}
Esempio n. 2
0
static struct st_client *stc_new2(const char *server)
{
	char *host;
	char *port;

	host = strdupa(server);

	host = strtok(host, ":");
	if (!host)
		return NULL;

	port = strtok(NULL, ":");
	if (!port)
		return NULL;

	return stc_new(host, atoi(port), "testuser", "testuser", false);
}