You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
1.9 KiB
68 lines
1.9 KiB
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <check.h>
|
|
|
|
#include "../src/sekrits.h"
|
|
|
|
START_TEST(test_create_from_file) {
|
|
const char *cases[] ={
|
|
"hello=true",
|
|
"OK=FINE\n",
|
|
"notok"
|
|
};
|
|
for (int i = 0; i < sizeof(cases); ++ i) {
|
|
struct sekrits *secrets = NULL;
|
|
FILE *data = fmemopen((char *)cases[i], strlen(cases[i]) + 1, "r");
|
|
ck_assert_msg(
|
|
sekrits_create_from_file(&secrets, data) == SEKRITS_OK,
|
|
"Was expecting valid secret data to load from %s", cases[i]
|
|
);
|
|
sekrits_destroy(secrets);
|
|
fclose(data);
|
|
}
|
|
}
|
|
END_TEST
|
|
|
|
START_TEST(test_create_from_file_neg) {
|
|
const char *cases[] ={
|
|
"notok"
|
|
};
|
|
for (int i = 0; i < sizeof(cases); ++ i) {
|
|
printf("running case");
|
|
struct sekrits *secrets = NULL;
|
|
FILE *data = fmemopen((char *)cases[i], strlen(cases[i]) + 1, "r");
|
|
ck_assert_msg(
|
|
sekrits_create_from_file(&secrets, data) == SEKRITS_ERROR,
|
|
"Was expecting invalid secret data to load from %s", cases[i]
|
|
);
|
|
sekrits_destroy(secrets);
|
|
fclose(data);
|
|
}
|
|
}
|
|
END_TEST
|
|
|
|
Suite * sekrits_suite(void) {
|
|
TCase *tc_create_file;
|
|
tc_create_file = tcase_create("create_from_file");
|
|
tcase_add_test(tc_create_file, test_create_from_file);
|
|
|
|
TCase *tc_create_file_neg;
|
|
tc_create_file_neg = tcase_create("create_from_file_neg");
|
|
tcase_add_test(tc_create_file_neg, test_create_from_file_neg);
|
|
|
|
Suite *s = suite_create("sekrits");
|
|
suite_add_tcase(s, tc_create_file);
|
|
suite_add_tcase(s, tc_create_file_neg);
|
|
return s;
|
|
}
|
|
|
|
int main(void) {
|
|
int number_failed;
|
|
SRunner *srunner = srunner_create(sekrits_suite());
|
|
|
|
srunner_run_all(srunner, CK_VERBOSE);
|
|
number_failed = srunner_ntests_failed(srunner);
|
|
srunner_free(srunner);
|
|
|
|
return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
|
|
}
|