def test_delete_emails():
    # GIVEN
    register_user("*****@*****.**", 1234)

    # WHEN
    delete_emails()

    # THEN
    emails = get_emails()
    assert len(emails) == 0
Exemple #2
0
    def test_register_repeated_username(self, client):
        """ POST /register
        Should: return 409 """

        res = register_user(client, VALID_USER['email'],
                            VALID_USER['username'], VALID_USER['password'])
        assert res.status_code == 200
        res = register_user(client, '*****@*****.**',
                            VALID_USER['username'], VALID_USER['password'])
        res_json = res.get_json()
        assert res.status_code == 409
        assert res_json['reason'] == 'User already registered'
def test_emails():
    # GIVEN
    email_to = f"{uuid4()}@example.com"
    res = register_user(email_to, "123456")
    auth_header = {"Authorization": f"Token {res['token']}"}

    user_id = res["user"]["id"]

    # WHEN
    emails = get_emails()

    # THEN
    assert len(emails) == 1
    assert emails[0].get("to")[0] == email_to
    assert len(emails[0].get("body")) > 100
    assert len(emails[0].get("htmlMessage")) > 100
    assert len(emails[0].get("subject")) > 5
    assert "@" in emails[0].get("fromEmail")

    # CLEANUP
    payload = {"id": user_id}
    data = execute_gql_mutation(DELETE_USER_MUTATION,
                                _headers=auth_header,
                                **payload)
    pprint(data)
Exemple #4
0
    def test_register_with_invalid_email(self, client):
        """ POST /register
        Should: return 400 """

        res = register_user(client, 'gibberish', VALID_USER['username'],
                            VALID_USER['password'])
        res_json = res.get_json()
        assert res.status_code == 400
        assert res_json['reason'] == 'Invalid email address'
Exemple #5
0
    def test_register_success(self, client):
        """ POST /register
        Should: return 200 with user id """

        res = register_user(client, VALID_USER['email'],
                            VALID_USER['username'], VALID_USER['password'])
        res_json = res.get_json()
        assert res.status_code == 200
        assert res_json['id'] == NEXT_ID
Exemple #6
0
    def test_login_wrong_password(self, client):
        """ POST /login
        Should: return 401 """

        res = register_user(client, VALID_USER['email'],
                            VALID_USER['username'], VALID_USER['password'])
        res = login_user(client, VALID_USER['email'], 'superHackyPassword')
        res_json = res.get_json()
        assert res.status_code == 401
        assert res_json['reason'] == 'Wrong credentials'
Exemple #7
0
    def test_login_success(self, client):
        """ POST /login
        Should: return 200 """

        res = register_user(client, VALID_USER['email'],
                            VALID_USER['username'], VALID_USER['password'])
        res = login_user(client, VALID_USER['email'], VALID_USER['password'])
        res_json = res.get_json()
        assert res.status_code == 200
        assert res_json['token'] == 'token_{}'.format(VALID_USER['email'])
        assert res_json['user']['id'] == NEXT_ID
        assert res_json['user']['email'] == VALID_USER['email']
        assert res_json['user']['username'] == VALID_USER['username']
Exemple #8
0
    def test_register_with_missing_fields(self, client):
        """ POST /register
        Should: return 400 """

        res = register_user(client,
                            email=VALID_USER['email'],
                            username=VALID_USER['username'])
        res_json = res.get_json()
        assert res.status_code == 400
        assert res_json['reason'] == 'Fields are incomplete'

        res = register_user(client,
                            email=VALID_USER['email'],
                            password=VALID_USER['password'])
        res_json = res.get_json()
        assert res.status_code == 400
        assert res_json['reason'] == 'Fields are incomplete'

        res = register_user(client,
                            username=VALID_USER['username'],
                            password=VALID_USER['password'])
        res_json = res.get_json()
        assert res.status_code == 400
        assert res_json['reason'] == 'Fields are incomplete'
def test_send_signup_email():
    """
    Just here for local testing of sending registration email.
    """
    email_to = "*****@*****.**"
    res = register_user(email_to, "Test1!")
    auth_header = {"Authorization": f"Token {res['token']}"}

    user_id = res["user"]["id"]

    # WHEN

    # THEN

    # CLEANUP
    payload = {"id": user_id}
    execute_gql_mutation(DELETE_USER_MUTATION, _headers=auth_header, **payload)