diff options
author | Florian Dold <florian@dold.me> | 2022-04-14 19:44:14 +0200 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2022-04-14 19:44:23 +0200 |
commit | 8cffd756c90b296c699eba070021a784d2ecdb8a (patch) | |
tree | 1b55a98a6319127538313d051242745ee9b220c2 /src | |
parent | d39da4a9d646da154b2624b84b0a94a3b28ed234 (diff) | |
download | anastasis-8cffd756c90b296c699eba070021a784d2ecdb8a.tar.gz anastasis-8cffd756c90b296c699eba070021a784d2ecdb8a.tar.bz2 anastasis-8cffd756c90b296c699eba070021a784d2ecdb8a.zip |
tests: do dynamic sync_provider calls until finished
Diffstat (limited to 'src')
-rwxr-xr-x | src/cli/test_anastasis_reducer_recovery_enter_user_attributes.sh | 26 | ||||
-rw-r--r-- | src/reducer/anastasis_api_recovery_redux.c | 2 |
2 files changed, 15 insertions, 13 deletions
diff --git a/src/cli/test_anastasis_reducer_recovery_enter_user_attributes.sh b/src/cli/test_anastasis_reducer_recovery_enter_user_attributes.sh index 3a62704..10799e6 100755 --- a/src/cli/test_anastasis_reducer_recovery_enter_user_attributes.sh +++ b/src/cli/test_anastasis_reducer_recovery_enter_user_attributes.sh @@ -437,20 +437,22 @@ then fi echo " OK" -echo -n "Synchronizing providers" -anastasis-reducer sync_providers < $R2FILE > $R1FILE -anastasis-reducer sync_providers < $R1FILE > $R2FILE -# This one will fail, as we should now have all 3 providers -# used by the policy in sync! -anastasis-reducer sync_providers < $R2FILE > $R1FILE 2> /dev/null || true -# Note: continue with $R2FILE, the last one that was valid! +# Sync with providers (up to 3 providers aren't synced here) +for x in 1 2 3; do + echo "Synchronizing providers (round $x)" + anastasis-reducer sync_providers < $R2FILE > $R1FILE 2> /dev/null || true + CODE=$(jq -r -e ".code // 0" < $R1FILE) + if test "$CODE" = "8420"; then + break + fi + if test "$CODE" != "0"; then + exit_fail "Expected no error or 8420, got $CODE" + fi + cat $R1FILE > $R2FILE +done CODE=`jq -r -e .code < $R1FILE` -if test "$CODE" != "8400" -then - exit_fail "Expected to be synced, instead the code is '$CODE'" -fi -echo " OK" +echo "Providers synced." echo -n "Running challenge logic ..." diff --git a/src/reducer/anastasis_api_recovery_redux.c b/src/reducer/anastasis_api_recovery_redux.c index b0c15ec..d831adc 100644 --- a/src/reducer/anastasis_api_recovery_redux.c +++ b/src/reducer/anastasis_api_recovery_redux.c @@ -2221,7 +2221,7 @@ sync_providers (json_t *state, clean_sync (ms); ANASTASIS_redux_fail_ (cb, cb_cls, - TALER_EC_ANASTASIS_REDUCER_ACTION_INVALID, + TALER_EC_ANASTASIS_REDUCER_PROVIDERS_ALREADY_SYNCED, "already in sync"); return NULL; } |