#include "storage/test_ds_helper.h" #include "storage/test_ds_helper.h" #include "storage/test_datastore.h" #include "storage/test_datastore.h" #include "storage/test_blocks.h" #include "storage/test_blocks.h" +#include "ipfs/node/node.h" -int testit(const char* name, int (*func)(void)) { +int main(int argc, char** argv) - printf("Testing %s...\n", name); +{ - int retVal = func(); + printf("XETH TESTS\n"); - if (retVal) + //Variables of link: - printf("%s success!\n", name); + char * name = "Alex"; - else + char * ahash = "QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG"; - printf("** Uh oh! %s failed.**\n", name); + struct Link * mylink; - return retVal == 0; + mylink = Create_Link(name,ahash); -} + printf("===================================\n" \ - + "Node Link:\n" \ -const char* names[] = { + " -Name: %s\n" \ - "test_cid_new_free", + " -Size: %lu\n" \ - "test_cid_cast_multihash", + "\n Cid Details:\n\n" \ - "test_cid_cast_non_multihash", + " -Version: %d\n" \ - //"test_init_new_installation", + " -Codec: %c\n" \ - "test_repo_config_new", + " -Hash: %s\n" \ - "test_repo_config_init", + " -Hash Length: %lu\n" \ - "test_repo_config_write", + "====================================\n" \ - "test_repo_config_identity_new", + , mylink->name, mylink->size, mylink->Lcid->version,mylink->Lcid->codec,mylink->Lcid->hash,mylink->Lcid->hash_length); - "test_repo_config_identity_private_key", + //Link Two for testing purposes - "test_get_init_command", + char * name2 = "Simo"; - "test_repo_fsrepo_open_config", + char * ahash2 = "QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnSimo"; - "test_flatfs_get_directory", + struct Link * mylink2; - "test_flatfs_get_filename", + mylink2 = Create_Link(name2,ahash2); - "test_flatfs_get_full_filename", + //Nodes - "test_ds_key_from_binary", + struct Node * Mynode; - "test_blocks_new", + Mynode = N_Create_From_Link(mylink,sizeof(mylink)); - "test_repo_bootstrap_peers_init", + mylink->name = "HAHA";//Testing for valid node creation - "test_ipfs_datastore_put" + printf("Node Link[0] Name: %s\nHash: %s\n",Mynode->links[0]->name, Mynode->links[0]->Lcid->hash); -}; + Mynode = N_Add_Link(&Mynode, mylink2, sizeof(mylink2)); - + mylink2->name = "HAHA";//Testing for valid node creation -int (*funcs[])(void) = { + printf("Node Link[1] Name: %s\nHash: %s\n",Mynode->links[1]->name,Mynode->links[1]->Lcid->hash); - test_cid_new_free, + struct Link * ResultLink = Node_Get_Link("Simo", Mynode); - test_cid_cast_multihash, + printf("\nResultLink: \nName: %s\nHash: %s\n", ResultLink->name, ResultLink->Lcid->hash); - test_cid_cast_non_multihash, + Node_Remove_Link("Simo", Mynode); - //test_init_new_installation, + printf("Outlinkamt: %d\n", Mynode->link_ammount); - test_repo_config_new, + Free_Link(mylink); - test_repo_config_init, + Free_Link(mylink2); - test_repo_config_write, + Free_Link(ResultLink); - test_repo_config_identity_new, + Node_Delete(Mynode); - test_repo_config_identity_private_key, + return 0; - test_get_init_command, - test_repo_fsrepo_open_config, - test_flatfs_get_directory, - test_flatfs_get_filename, - test_flatfs_get_full_filename, - test_ds_key_from_binary, - test_blocks_new, - test_repo_bootstrap_peers_init, - test_ipfs_datastore_put -}; - -/** - * run 1 test or run all - */ -int main(int argc, char** argv) { - int counter = 0; - char* test_wanted; - int only_one = 0; - if(argc > 1) { - only_one = 1; - test_wanted = argv[1]; - } - for (int i = 0; i < sizeof(funcs) / sizeof(funcs[0]); i++) { - if (only_one && strcmp(names[i], test_wanted) == 0) - counter += testit(names[i], funcs[i]); - else - if (!only_one) - counter += testit(names[i], funcs[i]); - - } - - if (counter > 0) { - printf("***** There were %d failed test(s) *****\n", counter); - } else { - printf("All tests passed\n"); - } - return 1; }