예제 #1
0
 def create_factories(self):
     super().create_factories()
     self.bank_account = BankAccountFactory.create(
         name="Hauptkonto",
         bank="Spaßkasse",
         account__name="Bankkonto 3120219540",
         account_number='3120219540',
     )
     self.fee_account = AccountFactory.create(name="Membership Fees",
                                              type='REVENUE')
     self.user = UserFactory.create(name="Dummy User",
                                    account__name="Dummy User")
     self.author = UserFactory.create()
예제 #2
0
def test_profile_ok(client):
    user = UserFactory.create()
    session = Session(
        user=user,
        refresh_token='token_123'
    )
    session.save(force_insert=True)
    token_data = TokenData(
        id=user.id,
        full_name=user.full_name,
        email=user.email,
        session_id=session.id
    )
    token = Token.generate_token(token_data=token_data)
    headers = {
        'Authorization': f'Bearer {token}'
    }

    response = client.get(
        '/api/profile',
        headers=headers
    )

    response_data = response.json['data']
    assert response.status_code == 200
    assert response_data['id'] == str(user.id)
    assert response_data['full_name'] == user.full_name
    assert response_data['email'] == user.email
def test_activate_ok(client):
    user = UserFactory.create()
    payload = {
        'activation_token': user.activation_token,
    }

    response = client.post('/api/users/activate', json=payload)

    assert response.status_code == 204
예제 #4
0
    def test_model_user_auth_token(self):
        """ Test JWT auth tokens """
        uf = UserFactory.create()
        user = User.query.filter_by(username=uf.username).first()
        auth_tkn = encode_auth_token(user.id)

        self.assertTrue(isinstance(auth_tkn, bytes))
        self.assertEqual(decode_auth_token(auth_tkn), user.id)
        self.assertTrue(decode_auth_token(auth_tkn.decode("utf-8")) == 1)
예제 #5
0
def test_create_reset_password_token_ok(client):
    user = UserFactory.create(reset_password_token=None)
    payload = {
        'email': user.email,
    }

    response = client.post('/api/reset-password', json=payload)

    assert response.status_code == 204
예제 #6
0
    def test_slug_field_should_automatically_slugify_title(self):
        user = UserFactory.create()
        article = Article(
            title='This is a title',
            author=user,
            content='Blah blah some content'
        )
        article.save()

        article.slug | should | equal_to('this-is-a-title')
def test_reset_password_ok(client):
    user = UserFactory.create()
    payload = {
        'password': '******',
    }

    response = client.post(f'/api/reset-password/{user.reset_password_token}',
                           json=payload)

    assert response.status_code == 204
def test_activate_with_expired_activation_token(client):
    expired_date = datetime.datetime.now() - datetime.timedelta(seconds=8000)
    user = UserFactory.create(activation_token_created_at=expired_date)
    payload = {
        'activation_token': user.activation_token,
    }

    response = client.post('/api/users/activate', json=payload)

    assert response.status_code == 400
    assert response.json['errors']['activation_token'] == 'Token expired'
예제 #9
0
def test_sign_out_ok(client):
    user = UserFactory.create()
    session = Session(user=user, refresh_token='token_123')
    session.save(force_insert=True)
    token_data = TokenData(id=user.id,
                           full_name=user.full_name,
                           email=user.email,
                           session_id=session.id)
    token = Token.generate_token(token_data=token_data)
    headers = {'Authorization': f'Bearer {token}'}

    response = client.post('/api/sign-out', headers=headers)

    assert response.status_code == 204
예제 #10
0
    def create_factories(self):
        ConfigFactory.create()

        self.processor = UserFactory.create()

        self.last_month_last = session.utcnow().replace(day=1) - timedelta(1)
        self.last_month_last_date = self.last_month_last.date()

        self.membership_fee_last = MembershipFeeFactory.create(
            begins_on=self.last_month_last_date.replace(day=1),
            ends_on=self.last_month_last_date)

        payment_deadline = timedelta(14)
        payment_deadline_final = timedelta(62)

        no_pid_action_date = session.utcnow() - payment_deadline + timedelta(1)
        pid_state_date = no_pid_action_date - timedelta(1)
        pid_no_end_membership_date = session.utcnow(
        ) - payment_deadline_final + timedelta(1)
        pid_end_membership_date = pid_no_end_membership_date - timedelta(1)

        self.membership_fee_no_pid_action = MembershipFeeFactory.create(
            begins_on=no_pid_action_date,
            ends_on=no_pid_action_date,
            booking_begin=timedelta(1),
            booking_end=timedelta(1),
        )

        self.membership_fee_pid_state = MembershipFeeFactory.create(
            begins_on=pid_state_date,
            ends_on=pid_state_date,
            booking_begin=timedelta(1),
            booking_end=timedelta(1),
        )

        self.membership_fee_no_end_membership = MembershipFeeFactory.create(
            begins_on=pid_no_end_membership_date,
            ends_on=pid_no_end_membership_date,
            booking_begin=timedelta(1),
            booking_end=timedelta(1),
        )

        self.membership_fee_pid_end_membership = MembershipFeeFactory.create(
            begins_on=pid_end_membership_date,
            ends_on=pid_end_membership_date,
            booking_begin=timedelta(1),
            booking_end=timedelta(1),
        )
예제 #11
0
    def create_factories(self):
        ConfigFactory.create()

        self.user = UserFactory.create()

        self.user_membership = MembershipFactory.create(
            active_during=closedopen(session.utcnow() - timedelta(weeks=52),
                                     None),
            user=self.user,
            group=config.member_group)

        last_month_last = session.utcnow().date().replace(day=1) - timedelta(1)

        self.membership_fee_current = MembershipFeeFactory.create()
        self.membership_fee_last = MembershipFeeFactory.create(
            begins_on=last_month_last.replace(day=1), ends_on=last_month_last)
def test_sign_in_ok(client):
    user = UserFactory.create()
    Session(
        user=user,
        refresh_token='token_123'
    ).save(force_insert=True)
    payload = {
        'refresh_token': 'token_123'
    }

    response = client.post(
        '/api/sign-in/refresh',
        json=payload
    )

    response_data = response.json['data']
    assert 'refresh_token' not in response_data
    assert response.status_code == 200
    assert response_data['access_token']
    assert response_data['expires_in']
    assert response_data['token_type']
예제 #13
0
 def signup_user(self):
     return UserFactory.create(account='avery',
                               password=bcrypt.hashpw(
                                   'abc123'.encode('utf8'),
                                   bcrypt.gensalt()).decode('utf-8'))
예제 #14
0
            def user(self):
                user = UserFactory.create()
                self.session.commit()

                return user
예제 #15
0
def not_logged_in_user(session):
    user = UserFactory.create()
    session.commit()

    return user
예제 #16
0
 def another_user(self):
     return UserFactory.create()
예제 #17
0
 def logged_in_user(self):
     return UserFactory.create()