summaryrefslogtreecommitdiff
path: root/tools/generate_token.py
diff options
context:
space:
mode:
authorNejc Habjan <nejc.habjan@siemens.com>2020-09-05 00:15:04 +0200
committerNejc Habjan <nejc.habjan@siemens.com>2020-09-15 22:05:48 +0200
commit79489c775141c4ddd1f7aecae90dae8061d541fe (patch)
tree7c8f45e232049e0cad13af57e05b7ccbd8c6bb82 /tools/generate_token.py
parent0d89a6e61bd4ae244c1545463272ef830d72dda9 (diff)
downloadgitlab-79489c775141c4ddd1f7aecae90dae8061d541fe.tar.gz
test(env): replace custom scripts with pytest and docker-compose
Diffstat (limited to 'tools/generate_token.py')
-rwxr-xr-xtools/generate_token.py51
1 files changed, 0 insertions, 51 deletions
diff --git a/tools/generate_token.py b/tools/generate_token.py
deleted file mode 100755
index 89909bd..0000000
--- a/tools/generate_token.py
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/env python
-
-from urllib.parse import urljoin
-from requests_html import HTMLSession
-
-ENDPOINT = "http://localhost:8080"
-LOGIN = "root"
-PASSWORD = "5iveL!fe"
-
-
-class GitlabSession(HTMLSession):
- def __init__(self, endpoint, *args, **kwargs):
- super().__init__(*args, **kwargs)
- self.endpoint = endpoint
- self.csrf = None
-
- def find_csrf_token(self, html):
- param = html.find("meta[name=csrf-param]")[0].attrs["content"]
- token = html.find("meta[name=csrf-token]")[0].attrs["content"]
- self.csrf = {param: token}
-
- def obtain_csrf_token(self):
- r = self.get(urljoin(self.endpoint, "/"))
- self.find_csrf_token(r.html)
-
- def sign_in(self, login, password):
- data = {"user[login]": login, "user[password]": password, **self.csrf}
- r = self.post(urljoin(self.endpoint, "/users/sign_in"), data=data)
- self.find_csrf_token(r.html)
-
- def obtain_personal_access_token(self, name):
- data = {
- "personal_access_token[name]": name,
- "personal_access_token[scopes][]": ["api", "sudo"],
- **self.csrf,
- }
- r = self.post(
- urljoin(self.endpoint, "/profile/personal_access_tokens"), data=data
- )
- return r.html.find("#created-personal-access-token")[0].attrs["value"]
-
-
-def main():
- with GitlabSession(ENDPOINT) as s:
- s.obtain_csrf_token()
- s.sign_in(LOGIN, PASSWORD)
- print(s.obtain_personal_access_token("default"))
-
-
-if __name__ == "__main__":
- main()