Commit Graph

17 Commits (0ab82fe0b4188ed1c446e091a4a46163c2573a14)

Author SHA1 Message Date
Hostea dashboard 6365b84d45
feat: run collectstatic before launching development server to update static assets 2022-09-12 03:53:19 +05:30
Loïc Dachary 6e84746a2c
git config before push
ci/woodpecker/push/woodpecker Pipeline was successful Details
2022-07-08 15:47:53 +02:00
Aravinth Manivannan 5f6c3c459e
chore: mv common static files to common-static 2022-07-07 13:58:53 +05:30
Aravinth Manivannan ca8ffba55e
feat: setup CI to use CI gitea 2022-06-27 04:36:56 +05:30
Aravinth Manivannan 243880f6cc
feat: re-enable gitea service in docker-compose and CI env setup 2022-06-27 02:43:16 +05:30
Aravinth Manivannan 798a2f03d9
feat: integration testing
SUMMARY
    integration/__main__.py is a CLI-based HTTP client that can interact
    with Hostea Dashboard and Gitea.

    Integration tests are run via integration/tests.sh, which is a
    driver for the HTTP client at integration/__main__.py. The script is
    capable of spinning up a test environment consisting of services
    defined in docker-compose-dev-deps.yml and the Hostea Dashboard and
    tearing it down after a successful run.

    The credentials used to create various accounts and other parameters
    are all defined in integration/tests.sh script it self. So it is
    self contained.

CLIENT FUNCTIONALITY:

    HOSTEA DASHBOARD:
	 - register user with email verification
	 - login
	 - create OIDC app
	 - visit support page

    GITEA:
	 - Install Gitea(DB configuration, etc. The first form that's
	 presented to the visitor after a new instance is deployed)
	 - Register User
	 - Login User
	 - Create repository
	 - Configure OIDC SSO
	 - Login via SSO
2022-06-26 04:19:01 +05:30
Aravinth Manivannan 4b20f9a439
feat: Dashboard-Gitea SSO integration test script
STEPS
    1. Register new user on dashboard

    2. Confirm user email, link is received from email. maildev/maildev
       is an SMTP server specifically built for testing emails locally.
       It comes with a REST API[0], which is used to access emails

    3. Sign in to Dashboard

    4. Visit /support/new/ on dashboard to raise new support request

    5. Redirection to Hostea Gitea support repository is done via
       JavaScript, so we simply test to see if the support repository's
       new issue page is present in the Dashboard response

    6. Go to support repository's new issue page. Gitea will redirect to
       sign in page

    7. Parse sign in page, find OIDC SSO link in sign in page

    8. Visit OIDC SSO link in sign in page, to be redirected to
       authorization page

    9. If OIDC integration on Dashboard is setup via `create_oidc`
       management command, then auto-authorization will be enabled for
       the integration. So user will be redirected to Gitea

    10. For new OIDC logins, Gitea will present a form to choose
	preferred username and enter email address. So fill that form
	and submit it.

	Please note the form submits to a different URL than the one at
	which the form is available. See `Gitea.__link_acount` and
	`Gitea.__link_acount_signup` and its usage in `Gitea._sso_login`

    11. Verify user creation by GET /{username}, should respond HTTP 200

    12. Visit new issue on support repository, should respond HTTP 200

RESOURCES
    [0]: https://github.com/maildev/maildev/blob/master/docs/rest.md
2022-06-26 04:19:01 +05:30
Aravinth Manivannan 04ec4037a9
feat: init gitpython and infrastructure app 2022-06-24 20:33:32 +05:30
Aravinth Manivannan 4908754b0d
feat: init billing app 2022-06-22 00:36:46 +05:30
Aravinth Manivannan bdf8f6989f
chore: improve coverage 2022-06-18 13:54:03 +05:30
Aravinth Manivannan 99a7533a79
feat: test coverage report generation 2022-06-18 00:07:56 +05:30
Aravinth Manivannan 5a10b06e11
feat & chore: list logged in user in nav & linting 2022-06-17 17:02:39 +05:30
Aravinth Manivannan 542ce0182d
chore: fix linting cmd and apply linting 2022-06-10 17:32:29 +05:30
Aravinth Manivannan 25937ca6a9
feat: install oauth app and parallelize tests 2022-06-06 04:19:50 +05:30
Aravinth Manivannan 493268c62b
feat: def model for auth grant storage 2022-06-06 01:15:59 +05:30
Aravinth Manivannan 39c1a138ae
add app users 2022-04-27 17:12:03 +05:30
Aravinth Manivannan c93af38aa3
init CI 2022-04-27 17:09:20 +05:30