Add simple automated (but network-requiring) test for the asynch interface#131
Add simple automated (but network-requiring) test for the asynch interface#131Todd-L-Miller wants to merge 5 commits intoscitokens:masterfrom
Conversation
it requires a valid scitoken for an uncached issuer.
…invokes the test with it.
…user's key cache.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
| @@ -0,0 +1,124 @@ | |||
| #include <stdio.h> | |||
There was a problem hiding this comment.
[lint] reported by reviewdog 🐶
| #include <stdio.h> | |
| #include "../src/scitokens.h" |
| @@ -0,0 +1,124 @@ | |||
| #include <stdio.h> | |||
| #include <errno.h> | |||
| #include <stdlib.h> | |||
There was a problem hiding this comment.
[lint] reported by reviewdog 🐶
| #include <stdlib.h> | |
| #include <stdio.h> | |
| #include <stdlib.h> |
| #include <stdio.h> | ||
| #include <errno.h> | ||
| #include <stdlib.h> | ||
| #include <sys/select.h> |
There was a problem hiding this comment.
[lint] reported by reviewdog 🐶
| #include <sys/select.h> |
| #include <stdlib.h> | ||
| #include <sys/select.h> | ||
| #include <string.h> | ||
| #include <unistd.h> |
There was a problem hiding this comment.
[lint] reported by reviewdog 🐶
| #include <unistd.h> | |
| #include <sys/select.h> | |
| #include <unistd.h> |
| #include <errno.h> | ||
| #include "../src/scitokens.h" |
There was a problem hiding this comment.
[lint] reported by reviewdog 🐶
| #include <errno.h> | |
| #include "../src/scitokens.h" |
test/asynch.cc
Outdated
| rv = scitoken_status_get_max_fd( & status, & max_fds, & error ); | ||
| if( rv != 0 ) { | ||
| fprintf( stderr, "scitoken_status_get_max_fds() failed: %s\n", error ); | ||
| exit( -2 ); |
There was a problem hiding this comment.
[lint] reported by reviewdog 🐶
| rv = scitoken_status_get_max_fd( & status, & max_fds, & error ); | |
| if( rv != 0 ) { | |
| fprintf( stderr, "scitoken_status_get_max_fds() failed: %s\n", error ); | |
| exit( -2 ); | |
| rv = scitoken_status_get_max_fd(&status, &max_fds, &error); | |
| if (rv != 0) { | |
| fprintf(stderr, "scitoken_status_get_max_fds() failed: %s\n", | |
| error); | |
| exit(-2); |
test/asynch.cc
Outdated
| struct timeval time_out{1, 0}; | ||
| int s = select( max_fds + 1, read_fds, write_fds, except_fds, & time_out ); | ||
| if( s == -1 ) { | ||
| fprintf( stderr, "select() failed: %s (%d)\n", strerror(errno), errno ); | ||
| exit( -4 ); | ||
| } else if( s == 0 ) { | ||
| fprintf( stderr, "select() timed out, checking for progress.\n" ); |
There was a problem hiding this comment.
[lint] reported by reviewdog 🐶
| struct timeval time_out{1, 0}; | |
| int s = select( max_fds + 1, read_fds, write_fds, except_fds, & time_out ); | |
| if( s == -1 ) { | |
| fprintf( stderr, "select() failed: %s (%d)\n", strerror(errno), errno ); | |
| exit( -4 ); | |
| } else if( s == 0 ) { | |
| fprintf( stderr, "select() timed out, checking for progress.\n" ); | |
| struct timeval time_out { | |
| 1, 0 | |
| }; | |
| int s = select(max_fds + 1, read_fds, write_fds, except_fds, &time_out); | |
| if (s == -1) { | |
| fprintf(stderr, "select() failed: %s (%d)\n", strerror(errno), | |
| errno); | |
| exit(-4); | |
| } else if (s == 0) { | |
| fprintf(stderr, "select() timed out, checking for progress.\n"); |
test/asynch.cc
Outdated
| fprintf( stderr, "Calling scitoken_deserialize_continue()...\n" ); | ||
| rv = scitoken_deserialize_continue( & token, & status, & error ); | ||
| if( rv != 0 ) { | ||
| fprintf( stderr, "scitoken_deserialize_continue() failed: %s\n", error ); | ||
| exit( -3 ); |
There was a problem hiding this comment.
[lint] reported by reviewdog 🐶
| fprintf( stderr, "Calling scitoken_deserialize_continue()...\n" ); | |
| rv = scitoken_deserialize_continue( & token, & status, & error ); | |
| if( rv != 0 ) { | |
| fprintf( stderr, "scitoken_deserialize_continue() failed: %s\n", error ); | |
| exit( -3 ); | |
| fprintf(stderr, "Calling scitoken_deserialize_continue()...\n"); | |
| rv = scitoken_deserialize_continue(&token, &status, &error); | |
| if (rv != 0) { | |
| fprintf(stderr, "scitoken_deserialize_continue() failed: %s\n", | |
| error); | |
| exit(-3); |
test/asynch.cc
Outdated
| } while( status != NULL ); | ||
|
|
There was a problem hiding this comment.
[lint] reported by reviewdog 🐶
| } while( status != NULL ); | |
| } while (status != NULL); |
| print_claim(token, "iss"); | ||
| print_claim(token, "jti"); | ||
|
|
||
| scitoken_destroy( token ); |
There was a problem hiding this comment.
[lint] reported by reviewdog 🐶
| scitoken_destroy( token ); | |
| scitoken_destroy(token); |
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
| void | ||
| void usage(const char *self) { |
There was a problem hiding this comment.
[lint] reported by reviewdog 🐶
| void | |
| void usage(const char *self) { | |
| void void usage(const char *self) { |
| void | ||
| void print_claim(SciToken &token, const char *claim) { | ||
| char *value; | ||
| char *error; | ||
| int rv = scitoken_get_claim_string(token, claim, &value, &error); | ||
| if (rv != 0) { | ||
| fprintf(stderr, "scitoken_get_claim_string('%s') failed: %s\n", claim, | ||
| error); | ||
| return; | ||
| } | ||
| fprintf( stdout, "%s = %s\n", claim, value ); | ||
| fprintf(stdout, "%s = %s\n", claim, value); | ||
|
|
||
|
|
||
| int main(int argc, char **argv) { | ||
| if (argc < 2) { | ||
| usage(argv[0]); | ||
| exit(-1); | ||
| } | ||
| const char *encoded = argv[1]; | ||
| int rv; | ||
| char * error; | ||
| char *error; | ||
|
|
||
|
|
||
| char cache_path[FILENAME_MAX]; | ||
| if( getcwd(cache_path, sizeof(cache_path)) == NULL ) { | ||
| if (getcwd(cache_path, sizeof(cache_path)) == NULL) { | ||
| fprintf(stderr, "Failed to determine cwd, aborting.\n"); | ||
| exit(-5); | ||
|
|
||
| const char * key = "keycache.cache_home"; | ||
| const char *key = "keycache.cache_home"; | ||
| rv = scitoken_config_set_str(key, cache_path, &error); | ||
| if (rv != 0) { | ||
| fprintf(stderr, "Failed to set %s: %s, aborting.\n", key, cache_path); | ||
| exit(-5); | ||
|
|
||
|
|
||
| SciTokenStatus status; |
There was a problem hiding this comment.
[lint] reported by reviewdog 🐶
| void | |
| void print_claim(SciToken &token, const char *claim) { | |
| char *value; | |
| char *error; | |
| int rv = scitoken_get_claim_string(token, claim, &value, &error); | |
| if (rv != 0) { | |
| fprintf(stderr, "scitoken_get_claim_string('%s') failed: %s\n", claim, | |
| error); | |
| return; | |
| } | |
| fprintf( stdout, "%s = %s\n", claim, value ); | |
| fprintf(stdout, "%s = %s\n", claim, value); | |
| int main(int argc, char **argv) { | |
| if (argc < 2) { | |
| usage(argv[0]); | |
| exit(-1); | |
| } | |
| const char *encoded = argv[1]; | |
| int rv; | |
| char * error; | |
| char *error; | |
| char cache_path[FILENAME_MAX]; | |
| if( getcwd(cache_path, sizeof(cache_path)) == NULL ) { | |
| if (getcwd(cache_path, sizeof(cache_path)) == NULL) { | |
| fprintf(stderr, "Failed to determine cwd, aborting.\n"); | |
| exit(-5); | |
| const char * key = "keycache.cache_home"; | |
| const char *key = "keycache.cache_home"; | |
| rv = scitoken_config_set_str(key, cache_path, &error); | |
| if (rv != 0) { | |
| fprintf(stderr, "Failed to set %s: %s, aborting.\n", key, cache_path); | |
| exit(-5); | |
| SciTokenStatus status; | |
| void void print_claim(SciToken & token, const char *claim) { | |
| char *value; | |
| char *error; | |
| int rv = scitoken_get_claim_string(token, claim, &value, &error); | |
| if (rv != 0) { | |
| fprintf(stderr, "scitoken_get_claim_string('%s') failed: %s\n", | |
| claim, error); | |
| return; | |
| } | |
| fprintf(stdout, "%s = %s\n", claim, value); | |
| fprintf(stdout, "%s = %s\n", claim, value); | |
| int main(int argc, char **argv) { | |
| if (argc < 2) { | |
| usage(argv[0]); | |
| exit(-1); | |
| } | |
| const char *encoded = argv[1]; | |
| int rv; | |
| char *error; | |
| char *error; | |
| char cache_path[FILENAME_MAX]; | |
| if (getcwd(cache_path, sizeof(cache_path)) == NULL) { | |
| if (getcwd(cache_path, sizeof(cache_path)) == NULL) { | |
| fprintf(stderr, "Failed to determine cwd, aborting.\n"); | |
| exit(-5); | |
| const char *key = "keycache.cache_home"; | |
| const char *key = "keycache.cache_home"; | |
| rv = scitoken_config_set_str(key, cache_path, &error); | |
| if (rv != 0) { | |
| fprintf(stderr, "Failed to set %s: %s, aborting.\n", | |
| key, cache_path); | |
| exit(-5); | |
| SciTokenStatus status; |
No description provided.