#include "testing.h" #include "download.h" void test_download() { struct testcase { const char *url; long http_code; const char *data; const char *errmsg; }; struct testcase tc[] = { {.url = "https://ssb.stsci.edu/jhunk/stasis_test/test_download.txt", .http_code = 200L, .data = "It works!\n", .errmsg = NULL}, {.url = "https://ssb.stsci.edu/jhunk/stasis_test/test_download.broken", .http_code = 404L, .data = "= 0) { STASIS_ASSERT(data != NULL, "data should not be null"); STASIS_ASSERT(strncmp(data[0], tc[i].data, strlen(tc[i].data)) == 0, "data file does not match the expected contents"); } else { STASIS_ASSERT(http_code == -1, "http_code should be -1 on fatal curl error"); STASIS_ASSERT(data == NULL, "data should be NULL on fatal curl error"); } guard_free(data); remove(filename); } } int main(int argc, char *argv[]) { STASIS_TEST_BEGIN_MAIN(); STASIS_TEST_FUNC *tests[] = { test_download, }; STASIS_TEST_RUN(tests); STASIS_TEST_END_MAIN(); }