-
Notifications
You must be signed in to change notification settings - Fork 965
/
test_authenticate.py
29 lines (22 loc) · 1.03 KB
/
test_authenticate.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import base64
from requests import get
from galaxy_test.driver import api
TEST_USER_EMAIL = "auth_user_test@bx.psu.edu"
TEST_USER_PASSWORD = "testpassword1"
class AuthenticationApiTestCase(api.ApiTestCase):
def test_auth(self):
self._setup_user(TEST_USER_EMAIL, TEST_USER_PASSWORD)
baseauth_url = self._api_url("authenticate/baseauth", use_key=False)
unencoded_credentials = "%s:%s" % (TEST_USER_EMAIL, TEST_USER_PASSWORD)
authorization = base64.b64encode(unencoded_credentials.encode("utf-8"))
headers = {
"Authorization": authorization,
}
auth_response = get(baseauth_url, headers=headers)
self._assert_status_code_is(auth_response, 200)
auth_dict = auth_response.json()
self._assert_has_keys(auth_dict, "api_key")
# Verify key...
random_api_url = self._api_url("users", use_key=False)
random_api_response = get(random_api_url, params=dict(key=auth_dict["api_key"]))
self._assert_status_code_is(random_api_response, 200)