Esempio n. 1
0
 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()
         }]
Esempio n. 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
Esempio n. 3
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
Esempio n. 4
0
 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