#include #include #include #include #include "apiClient.h" #include "cJSON.h" #include "pet.h" #include "PetAPI.h" #include "category.h" #include "tag.h" #include "keyValuePair.h" #define EXAMPLE_CATEGORY_NAME "Example Category" #define EXAMPLE_CATEGORY_ID 5 #define EXAMPLE_PET_NAME "Example Pet" #define EXAMPLE_URL_1 "http://www.github.com" #define EXAMPLE_URL_2 "http://www.gitter.im" #define EXAMPLE_TAG_1_NAME "beautiful code" #define EXAMPLE_TAG_2_NAME "at least I tried" #define EXAMPLE_TAG_1_ID 1 #define EXAMPLE_TAG_2_ID 542353 #define EXAMPLE_PET_ID 1234 // Set to 0 to generate a new pet int main() { // Add pet test apiClient_t *apiClient = apiClient_create(); char *categoryName = malloc(strlen(EXAMPLE_CATEGORY_NAME) + 1); strcpy(categoryName, EXAMPLE_CATEGORY_NAME); category_t *category = category_create(EXAMPLE_CATEGORY_ID, categoryName); char *petName = malloc(strlen(EXAMPLE_PET_NAME) + 1); strcpy(petName, EXAMPLE_PET_NAME); char *exampleUrl1 = malloc(strlen(EXAMPLE_URL_1) + 1); strcpy(exampleUrl1, EXAMPLE_URL_1); char *exampleUrl2 = malloc(strlen(EXAMPLE_URL_2) + 1); strcpy(exampleUrl2, EXAMPLE_URL_2); list_t *photoUrls = list_create(); list_addElement(photoUrls, exampleUrl1); list_addElement(photoUrls, exampleUrl2); char *exampleTag1Name = malloc(strlen(EXAMPLE_TAG_1_NAME) + 1); strcpy(exampleTag1Name, EXAMPLE_TAG_1_NAME); tag_t *exampleTag1 = tag_create(EXAMPLE_TAG_1_ID, exampleTag1Name); char *exampleTag2Name = malloc(strlen(EXAMPLE_TAG_2_NAME) + 1); strcpy(exampleTag2Name, EXAMPLE_TAG_2_NAME); tag_t *exampleTag2 = tag_create(EXAMPLE_TAG_2_ID, exampleTag2Name); list_t *tags = list_create(); list_addElement(tags, exampleTag1); list_addElement(tags, exampleTag2); status_e status = available; pet_t *pet = pet_create(EXAMPLE_PET_ID, category, petName, photoUrls, tags, status); PetAPI_addPet(apiClient, pet); pet_free(pet); // Pet update with form test char *petName1 = "Rocky Handsome"; char *petName2 = "sold"; apiClient_t *apiClient1 = apiClient_create(); PetAPI_updatePetWithForm(apiClient1, EXAMPLE_PET_ID, petName1, petName2); // Get pet by id test apiClient_t *apiClient2 = apiClient_create(); pet_t *mypet = PetAPI_getPetById(apiClient2, EXAMPLE_PET_ID); cJSON *JSONR = pet_convertToJSON(mypet); char *petJson = cJSON_Print(JSONR); printf("Data is:%s\n", petJson); assert(strcmp(mypet->name, "Rocky Handsome") == 0); assert(mypet->id == EXAMPLE_PET_ID); assert(strcmp(mypet->category->name, EXAMPLE_CATEGORY_NAME) == 0); assert(mypet->category->id == EXAMPLE_CATEGORY_ID); assert(strcmp(list_getElementAt(mypet->photoUrls, 0)->data, EXAMPLE_URL_1) == 0); assert(strcmp(list_getElementAt(mypet->photoUrls, 1)->data, EXAMPLE_URL_2) == 0); assert(((tag_t *) list_getElementAt(mypet->tags, 0)->data)->id == EXAMPLE_TAG_1_ID); assert(((tag_t *) list_getElementAt(mypet->tags, 1)->data)->id == EXAMPLE_TAG_2_ID); assert(strcmp(((tag_t *) list_getElementAt(mypet->tags, 0)->data)->name, EXAMPLE_TAG_1_NAME) == 0); assert(strcmp(((tag_t *) list_getElementAt(mypet->tags, 1)->data)->name, EXAMPLE_TAG_2_NAME) == 0); free(petJson); cJSON_Delete(JSONR); pet_free(mypet); // Pet upload file Test apiClient_t *apiClient3 = apiClient_create(); FILE *file = fopen("/opt/image.png", "r"); if(file != NULL) { api_response_t *respo = PetAPI_uploadFile(apiClient3, EXAMPLE_PET_ID, "dec", file); api_response_free(respo); fclose(file); } else { apiClient_free(apiClient3); } }