Skip to content

Commit db51501

Browse files
Restore (for now) _HackyConnect
1 parent 9d3d7ad commit db51501

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

pins/rsconnect/api.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -437,6 +437,35 @@ def misc_get_applications(
437437
)
438438

439439

440+
# ported from github.com/rstudio/connectapi
441+
# TODO: no longer used here, only in other packages' test suites.
442+
# Remove once those are cleaned up.
443+
class _HackyConnect(RsConnectApi):
444+
"""Handles logging in to connect, rather than using an API key.
445+
446+
This class allows you to create users and generate API keys on a fresh
447+
Posit Connect service.
448+
"""
449+
450+
def login(self, user, password):
451+
res = self.query(
452+
"__login__",
453+
"POST",
454+
return_request=True,
455+
json={"username": user, "password": password},
456+
)
457+
return res
458+
459+
def create_first_admin(self, user, password, email, keyname="first-key"):
460+
self.login(user, password)
461+
462+
self.query("me")
463+
464+
api_key = self.query("keys", "POST", json=dict(name=keyname))
465+
466+
return RsConnectApi(self.server_url, api_key=api_key["key"])
467+
468+
440469
class LoginConnectApi(RsConnectApi):
441470
"""Handles logging in to Connect with username and password rather than API key."""
442471

0 commit comments

Comments
 (0)