def test_me(): with patch("taiga.base.connectors.github.login") as m_login, \ patch("taiga.base.connectors.github.get_user_profile") as m_get_user_profile, \ patch("taiga.base.connectors.github.get_user_emails") as m_get_user_emails: m_login.return_value = github.AuthInfo(access_token="xxxxxxxx") m_get_user_profile.return_value = github.User( id=1955, username="******", full_name="martin seamus mcfly", bio="time traveler") m_get_user_emails.return_value = [ github.Email(email="*****@*****.**", is_primary=False), github.Email(email="*****@*****.**", is_primary=True) ] email, user = github.me("**access-code**") assert email == "*****@*****.**" assert user.id == 1955 assert user.username == "mmcfly" assert user.full_name == "martin seamus mcfly" assert user.bio == "time traveler" headers = github.HEADERS.copy() headers["Authorization"] = "token xxxxxxxx" m_get_user_profile.assert_called_once_with(headers=headers) m_get_user_emails.assert_called_once_with(headers=headers)
def test_response_200_in_registration_with_github_account_and_existed_user_by_email( client, settings): settings.PUBLIC_REGISTER_ENABLED = False form = {"type": "github", "code": "xxxxxx"} user = factories.UserFactory() user.email = "*****@*****.**" user.github_id = None user.save() with patch("taiga.base.connectors.github.me") as m_me: m_me.return_value = ("*****@*****.**", github.User(id=1955, username="******", full_name="martin seamus mcfly", bio="time traveler")) response = client.post(reverse("auth-list"), form) assert response.status_code == 200 assert response.data["username"] == user.username assert response.data["auth_token"] != "" and response.data[ "auth_token"] != None assert response.data["email"] == user.email assert response.data["full_name"] == user.full_name assert response.data["bio"] == user.bio assert response.data["github_id"] == 1955
def test_response_404_in_registration_with_github_in_a_project_with_invalid_token( client, settings): settings.PUBLIC_REGISTER_ENABLED = False form = {"type": "github", "code": "xxxxxx", "token": "123456"} with patch("taiga.base.connectors.github.me") as m_me: m_me.return_value = ("*****@*****.**", github.User(id=1955, username="******", full_name="martin seamus mcfly", bio="time traveler")) response = client.post(reverse("auth-list"), form) assert response.status_code == 404
def test_response_200_in_registration_with_github_account_in_a_project(client, settings): settings.PUBLIC_REGISTER_ENABLED = False membership_model = apps.get_model("projects", "Membership") membership = factories.MembershipFactory(user=None) form = {"type": "github", "code": "xxxxxx", "token": membership.token} with patch("taiga.base.connectors.github.me") as m_me: m_me.return_value = ("*****@*****.**", github.User(id=1955, username="******", full_name="martin seamus mcfly", bio="time traveler")) response = client.post(reverse("auth-list"), form) assert response.status_code == 200 assert membership_model.objects.get(token=form["token"]).user.username == "mmcfly"