Example #1
0
 def test_has_pending(self, session, fake_new_account_request, attrs):
     fake_new_account_request = fake_new_account_request._replace(**attrs)
     session.add(
         StoredNewAccountRequest.from_request(fake_new_account_request,
                                              'reason'))
     session.commit()
     assert user_has_request_pending(session, fake_new_account_request)
Example #2
0
    def test_validate_with_warnings(
        self,
        tasks,
        fake_new_account_request,
        fake_credentials,
        handle_warnings,
        expected,
        celery_app,
        session,
    ):
        assert len(session.query(StoredNewAccountRequest).all()) == 0
        with mock_validate_request([], ['ok warning']):
            request = fake_new_account_request._replace(
                handle_warnings=handle_warnings, )
            resp = tasks.validate_then_create_account(request)

            if expected == NewAccountResponse.CREATED:
                tasks.create_account.delay.assert_called_once_with(request)
                assert resp == tasks.create_account.delay(request).id
            else:
                assert resp == NewAccountResponse(
                    status=expected,
                    errors=['ok warning'],
                )

            if expected == NewAccountResponse.PENDING:
                assert celery_app._sent_messages == [{
                    'type':
                    'ocflib.account_submitted',
                    'request':
                    dict(request.to_dict(), reasons=['ok warning']),
                }]
                assert len(session.query(StoredNewAccountRequest).all()) == 1
            else:
                assert len(session.query(StoredNewAccountRequest).all()) == 0
Example #3
0
def session_with_requests(session, fake_new_account_request):
    session.add(StoredNewAccountRequest.from_request(fake_new_account_request, 'reason'))
    session.add(StoredNewAccountRequest.from_request(
        fake_new_account_request._replace(user_name='other'),
        'reason',
    ))
    session.commit()
    assert len(session.query(StoredNewAccountRequest).all()) == 2
    return session
Example #4
0
def session_with_requests(session, fake_new_account_request):
    session.add(StoredNewAccountRequest.from_request(fake_new_account_request, 'reason'))
    session.add(StoredNewAccountRequest.from_request(
        fake_new_account_request._replace(user_name='other'),
        'reason',
    ))
    session.commit()
    assert len(session.query(StoredNewAccountRequest).all()) == 2
    return session
Example #5
0
 def test_not_has_pending_zero_group(self, session, fake_new_account_request):
     """callink_oid=0 can create infinite accounts."""
     fake_new_account_request = fake_new_account_request._replace(
         is_group=True,
         callink_oid=0,
         calnet_uid=None,
     )
     session.add(StoredNewAccountRequest.from_request(fake_new_account_request, 'reason'))
     session.commit()
     assert not user_has_request_pending(session, fake_new_account_request)
Example #6
0
 def test_not_has_pending_zero_group(self, session, fake_new_account_request):
     """callink_oid=0 can create infinite accounts."""
     fake_new_account_request = fake_new_account_request._replace(
         is_group=True,
         callink_oid=0,
         calnet_uid=None,
     )
     session.add(StoredNewAccountRequest.from_request(fake_new_account_request, 'reason'))
     session.commit()
     assert not user_has_request_pending(session, fake_new_account_request)
Example #7
0
    def test_validate_with_warnings(
        self,
        tasks,
        fake_new_account_request,
        fake_credentials,
        handle_warnings,
        expected,
        celery_app,
        session,
    ):
        assert len(session.query(StoredNewAccountRequest).all()) == 0
        with mock_validate_request([], ['ok warning']):
            request = fake_new_account_request._replace(
                handle_warnings=handle_warnings,
            )
            resp = tasks.validate_then_create_account(request)

            if expected == NewAccountResponse.CREATED:
                tasks.create_account.delay.assert_called_once_with(request)
                assert resp == tasks.create_account.delay(request).id
            else:
                assert resp == NewAccountResponse(
                    status=expected,
                    errors=['ok warning'],
                )

            if expected == NewAccountResponse.PENDING:
                assert celery_app._sent_messages == [
                    {
                        'type': 'ocflib.account_submitted',
                        'request': dict(request.to_dict(), reasons=['ok warning']),
                    }
                ]
                assert len(session.query(StoredNewAccountRequest).all()) == 1
            else:
                assert len(session.query(StoredNewAccountRequest).all()) == 0
Example #8
0
 def test_has_pending(self, session, fake_new_account_request, attrs):
     fake_new_account_request = fake_new_account_request._replace(**attrs)
     session.add(StoredNewAccountRequest.from_request(fake_new_account_request, 'reason'))
     session.commit()
     assert user_has_request_pending(session, fake_new_account_request)