Intitial test for ipns resolve
This commit is contained in:
parent
3eec8553a6
commit
d5c3e01267
1 changed files with 64 additions and 0 deletions
|
@ -21,6 +21,70 @@ void* test_routing_daemon_start(void* arg) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***
|
||||||
|
* "publish" a hash to the datastore (for ipns)
|
||||||
|
*/
|
||||||
|
int test_routing_put_value() {
|
||||||
|
int retVal = 0;
|
||||||
|
char* ipfs_path_publisher = "/tmp/ipfs_1";
|
||||||
|
char* peer_id_publisher = NULL;
|
||||||
|
struct MultiAddress* ma_publisher = NULL;
|
||||||
|
pthread_t thread_publisher;
|
||||||
|
int publisher_thread_started = 0;
|
||||||
|
pthread_t thread_consumer;
|
||||||
|
char* ipfs_path_consumer = "/tmp/ipfs_2";
|
||||||
|
char* peer_id_consumer = NULL;
|
||||||
|
int consumer_thread_started = 0;
|
||||||
|
struct Libp2pVector* ma_vector = NULL;
|
||||||
|
|
||||||
|
// fire up the "publisher"
|
||||||
|
drop_and_build_respository(ipfs_path_publisher, 4001, NULL, &peer_id_publisher);
|
||||||
|
char multiaddress_string[255];
|
||||||
|
sprintf(multiaddress_string, "/ip4/127.0.0.1/tcp/4001/ipfs/%s", peer_id_publisher);
|
||||||
|
ma_publisher = multiaddress_new_from_string(multiaddress_string);
|
||||||
|
char* args[] = { "ipfs", "--config", ipfs_path_publisher, "add", "-r", "~/site"};
|
||||||
|
ipfs_import_files(args, 6);
|
||||||
|
if (!pthread_create(&thread_publisher, test_routing_daemon_start, (void*)ipfs_path_publisher)) {
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
publisher_thread_started = 1;
|
||||||
|
|
||||||
|
// fire up the "consumer"
|
||||||
|
ma_vector = libp2p_utils_vector_new(1);
|
||||||
|
libp2p_utils_vector_add(ma_vector, ma_publisher);
|
||||||
|
drop_and_build_repository(ipfs_path_consumer, 4002, ma_vector, &peer_id_consumer);
|
||||||
|
if (pthread_create(&thread_consumer, NULL, test_routing_daemon_start, (void*)ipfs_path_consumer) < 0)
|
||||||
|
goto exit;
|
||||||
|
consumer_thread_started = 1;
|
||||||
|
|
||||||
|
// wait for everything to fire up
|
||||||
|
sleep(5);
|
||||||
|
|
||||||
|
// now "publish" to publisher, and verify that "consumer" receives the message
|
||||||
|
char* args2[] = {"ipfs" "--config", ipfs_path_publisher, "name", "publish", "QmZtAEqmnXMZkwVPKdyMGxUoo35cQMzNhmq6CN3DvgRwAD" };
|
||||||
|
ipfs_name_publish(args2, 6);
|
||||||
|
|
||||||
|
// wait for everything to settle in
|
||||||
|
sleep(3);
|
||||||
|
|
||||||
|
// see if we have what we should...
|
||||||
|
char* args3[] = {"ipfs", "--config", ipfs_path_consumer, "resolve", peer_id_publisher};
|
||||||
|
char* results = NULL;
|
||||||
|
ipfs_resolve(args3, 5, &results);
|
||||||
|
|
||||||
|
retVal = 1;
|
||||||
|
exit:
|
||||||
|
ipfs_daemon_stop();
|
||||||
|
if (publisher_thread_started) {
|
||||||
|
pthread_join(thread_publisher);
|
||||||
|
}
|
||||||
|
if (consumer_thread_started) {
|
||||||
|
pthread_join(thread_consumer);
|
||||||
|
}
|
||||||
|
multiaddress_free(ma_publisher);
|
||||||
|
return retVal;
|
||||||
|
}
|
||||||
|
|
||||||
int test_routing_find_peer() {
|
int test_routing_find_peer() {
|
||||||
int retVal = 0;
|
int retVal = 0;
|
||||||
char* ipfs_path = "/tmp/test1";
|
char* ipfs_path = "/tmp/test1";
|
||||||
|
|
Loading…
Reference in a new issue