def test_create_no_issues( self, tasks, fake_new_account_request, mock_real_create_account, fake_credentials, celery_app, mock_redis_locking, ): with mock_validate_request([], []): resp = tasks.create_account(fake_new_account_request) assert resp == NewAccountResponse( status=NewAccountResponse.CREATED, errors=[], ) mock_real_create_account.assert_called_once_with( fake_new_account_request, fake_credentials, mock.ANY, known_uid=mock.ANY, ) mock_redis_locking().set.assert_called_once_with( 'known_uid', mock.ANY) assert celery_app._sent_messages == [{ 'type': 'ocflib.account_created', 'request': fake_new_account_request.to_dict() }]
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
def test_validate_with_errors( self, tasks, fake_new_account_request, fake_credentials, ): with mock_validate_request(['bad error'], ['ok warning']): resp = tasks.validate_then_create_account(fake_new_account_request) assert resp == NewAccountResponse( status=NewAccountResponse.REJECTED, errors=['bad error', 'ok warning'], ) assert not tasks.create_account.delay.called
def test_create_with_errors( self, send_rejected_mail, tasks, fake_new_account_request, mock_real_create_account, fake_credentials, mock_redis_locking, ): with mock_validate_request(['bad error'], ['ok warning']): resp = tasks.create_account(fake_new_account_request) assert resp == NewAccountResponse( status=NewAccountResponse.REJECTED, errors=['bad error', 'ok warning'], ) assert not mock_real_create_account.called assert send_rejected_mail.called