void test_o_database_new_open_crud_close() { struct o_database_error_handler *errorHandler = o_database_error_handler_new(o_db_error_handler_function, 0); struct o_database * db = o_database_new_error_handler("remote:127.0.0.1/demo", errorHandler); o_database_open(db, "admin", "admin"); struct o_record * record = o_database_record_new(db); int size = strlen("content content"); o_record_raw_reset(record, "content content", size); struct o_record_id *id; o_database_save(db, record ,&id); struct o_record * load_rec = o_database_load(db, id); int load_size; char * content = o_record_raw_content(load_rec, &load_size); assert_true(size == load_size, "readed have not same size of writed"); assert_true(memcmp(content, "content content", load_size) == 0, "readed have not same content of writed"); int test_size = strlen("test test"); o_record_raw_reset(load_rec, "test test", test_size); o_database_save(db, load_rec, 0); struct o_record * load_rec2 = o_database_load(db, id); content = o_record_raw_content(load_rec2, &load_size); assert_true(test_size == load_size, "readed have not same size of writed"); assert_true(memcmp(content, "test test", load_size) == 0, "readed have not same content of writed"); o_database_delete(db, load_rec2); o_record_release(record); o_record_release(load_rec); o_record_release(load_rec2); o_database_close(db); o_database_free(db); }
void test_o_database_new_open_close() { struct o_database_error_handler *errorHandler = o_database_error_handler_new(o_db_error_handler_function, 0); struct o_database * db = o_database_new_error_handler("remote:127.0.0.1/demo", errorHandler); o_database_open(db, "admin", "admin"); o_database_close(db); o_database_free(db); }
void test_o_database_query() { struct o_database_error_handler *errorHandler = o_database_error_handler_new(o_db_error_handler_function, 0); struct o_database * db = o_database_new_error_handler("remote:127.0.0.1/temp", errorHandler); o_database_open(db, "admin", "admin"); struct o_query * q = o_query_sql("select * from OUser where name = \'admin\' "); struct o_list_record * lr = o_database_query(db, q); assert_true(o_list_record_size(lr) == 1, "The query not return the expected number of record"); o_list_record_release(lr); o_query_free(q); o_database_close(db); o_database_free(db); }
void test_o_database_document_open_save_load_close() { struct o_database_error_handler *errorHandler = o_database_error_handler_new(o_db_error_handler_function, 0); struct o_database_document * db = o_database_document_new_error_handler("remote:127.0.0.1/temp", errorHandler); o_database_document_open(db, "admin", "admin"); struct o_document * doc = o_document_new(); o_document_field_set(doc, "prova", o_document_value_string("prova")); struct o_record_id * id; o_database_document_save(db, doc, &id); struct o_document *readed_doc = o_database_document_load(db, id); struct o_document_value* readed_val = o_document_field_get(doc, "prova"); assert_true(strcmp(o_document_value_get_string(readed_val), "prova") == 0, "the writed document not is the same of loaded"); o_document_release(doc); o_document_release(readed_doc); o_database_document_close(db); o_database_document_free(db); }