How do I run the Globus unit test? #329
forsyth2
announced in
Announcements
Replies: 1 comment 1 reply
-
Interestingly, sometimes the unit test will send the consent code prompt to the user but still hang. In this case, it is best to cancel the test (Control C) and try the manual solution above. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
The Globus unit test is run with
python -u -m unittest tests/test_globus.py
.First, you need to make sure the Globus endpoints are activated. Go to https://www.globus.org/. Log in with your NERSC credentials. Activate the following Globus endpoints using the corresponding credentials:
Now you can run the test. Unfortunately, unexpected errors often appear with this test. These were introduced by the new (~Fall 2023) requirement of Globus consents.
See #298 -- errors include this:
'ConsentRequired', 'Missing required data_access consent'
. A workaround was provided in that issue, but it was cumbersome for users. Therefore, automated consent was implemented in #304.Unfortunately, automated runs of
zstash
(e.g., whenzstash
is run via a unit test, whenzstash
is run from a bash script) tend to not send the consent prompt to users, causing hangs. At this point, it's simplest to try to provide the consent manually. E3SM-Project/e3sm_data_docs#34 (comment) and #326 (comment) provide some examples of this.Note that a hang or error may in fact be caused by a different issue. E.g., in #299, the hang was caused by a missing endpoint (the Cori endpoint had been deleted and the Perlmutter endpoint needed to be used instead). In #326, the
TransferAPIError
was also caused by needing to replace one endpoint with another.Lastly, #322 (and related discussion #323) indicate one possible for solution of a
'ClientError.AuthenticationFailed', 'No credentials supplied'
error is to runrm ~/.globus-native-apps.cfg
.Beta Was this translation helpful? Give feedback.
All reactions