def test_data_should_accept_from_filter(): Crowdsourcing(id="aaaaaaa").save() Crowdsourcing(id="zzzzzzz").save() DB.commit('UPDATE crowdsourcing SET created_at="2015-01-01" WHERE id="aaaaaaa"') # noqa assert len(list(Crowdsourcing.data())) == 2 assert list(Crowdsourcing.data())[0].id == "zzzzzzz" assert len(list(Crowdsourcing.data(_from="2015-01-02"))) == 1
def test_cannot_create_new_tracked_download_if_missing_email(webapp): assert not DB.fetchone('SELECT count(*) as t FROM tracked_download')['t'] form = webapp.get(url_for('download')).forms['tracked_download'] form['first_name'] = "Victor" form['last_name'] = "Hugo" form['company'] = "Totoche SARL" form.submit() assert not DB.fetchone('SELECT count(*) as t FROM tracked_download')['t']
def test_data_should_accept_from_filter(): Crowdsourcing(id="aaaaaaa").save() Crowdsourcing(id="zzzzzzz").save() DB.commit( 'UPDATE crowdsourcing SET created_at="2015-01-01" WHERE id="aaaaaaa"' ) # noqa assert len(list(Crowdsourcing.data())) == 2 assert list(Crowdsourcing.data())[0].id == "zzzzzzz" assert len(list(Crowdsourcing.data(_from="2015-01-02"))) == 1
def test_cannot_create_new_tracked_download_without_csrf_token(webapp): assert not DB.fetchone('SELECT count(*) as t FROM tracked_download')['t'] form = webapp.get(url_for('download')).forms['tracked_download'] form['first_name'] = "Victor" form['last_name'] = "Hugo" form['email'] = '*****@*****.**' form['company'] = "Totoche SARL" form['csrf_token'] = "" form.submit(status=400) assert not DB.fetchone('SELECT count(*) as t FROM tracked_download')['t']
def test_can_create_new_tracked_download_request_from_form(webapp): assert not DB.fetchone('SELECT count(*) as t FROM tracked_download')['t'] form = webapp.get(url_for('download')).forms['tracked_download'] form['first_name'] = "Victor" form['last_name'] = "Hugo" form['email'] = '*****@*****.**' form['company'] = "Totoche SARL" form.submit().follow() assert DB.fetchone('SELECT count(*) as t FROM tracked_download')['t'] assert DB.fetchone('SELECT token as t FROM tracked_download LIMIT 1')['t']
def test_calling_trackeddownload_save_should_persist_data_in_db(): assert not DB.fetchone('SELECT count(*) as t FROM tracked_download')['t'] dl = TrackedDownload( first_name='toto', last_name='tata', email='*****@*****.**', company='toto SA', area='', ) dl.save() assert DB.fetchone('SELECT count(*) as t FROM tracked_download')['t']
def test_can_create_new_crowdsourcing_from_post(client): assert not DB.fetchone('SELECT count(*) as t FROM crowdsourcing')['t'] url = url_for('crowdsourcing') response = client.get(url) token = get_csrf_token(response.data) data = { 'id': 'xxxx', 'before': '{"geometry": {"coordinates": [0, 0]}, "properties": {}}', 'after': '{"geometry": {"coordinates": [1, 1]}, "properties": {}}', } client.post(url, data=data, headers={'X-CSRFToken': token}) assert DB.fetchone('SELECT count(*) as t FROM crowdsourcing')['t']
def test_do_not_create_new_td_if_already_exist_and_valid(webapp): assert not DB.fetchone('SELECT count(*) as t FROM tracked_download')['t'] form = webapp.get(url_for('download')).forms['tracked_download'] form['first_name'] = "Victor" form['last_name'] = "Hugo" form['email'] = '*****@*****.**' form['company'] = "Totoche SARL" form.submit().follow() assert DB.fetchone('SELECT count(*) as t FROM tracked_download')['t'] == 1 form = webapp.get(url_for('download')).forms['tracked_download'] form['first_name'] = "Victor" form['last_name'] = "Hugo" form['email'] = '*****@*****.**' form['company'] = "Totoche SARL" form.submit().follow() assert DB.fetchone('SELECT count(*) as t FROM tracked_download')['t'] == 1
def test_new_trackeddownload_request_should_send_an_email(webapp, config): with mail.record_messages() as outbox: form = webapp.get(url_for('download')).forms['tracked_download'] form['first_name'] = "Victor" form['last_name'] = "Hugo" form['email'] = '*****@*****.**' form['company'] = "Totoche SARL" form.submit().follow() assert len(outbox) == 1 assert outbox[0].subject == "Votre téléchargement de la base adresse nationale" # noqa assert "Victor" in outbox[0].body token = DB.fetchone('SELECT token FROM tracked_download')['token'] download_link = "https:{domain}{path}".format( domain=config['SITE_URL'], path=url_for('download', token=token)) assert download_link in outbox[0].body
def test_new_trackeddownload_request_should_send_an_email(webapp, config): with mail.record_messages() as outbox: form = webapp.get(url_for('download')).forms['tracked_download'] form['first_name'] = "Victor" form['last_name'] = "Hugo" form['email'] = '*****@*****.**' form['company'] = "Totoche SARL" form.submit().follow() assert len(outbox) == 1 assert outbox[ 0].subject == "Votre téléchargement de la base adresse nationale" # noqa assert "Victor" in outbox[0].body token = DB.fetchone('SELECT token FROM tracked_download')['token'] download_link = "https:{domain}{path}".format( domain=config['SITE_URL'], path=url_for('download', token=token)) assert download_link in outbox[0].body
def test_should_delete_if_id_and_no_after(): assert not DB.fetchone('SELECT count(*) as t FROM crowdsourcing')['t'] Crowdsourcing(id="zzzzzzz").save() assert DB.fetchone('SELECT count(*) as t FROM crowdsourcing WHERE operation="d"')['t'] # noqa
def test_should_create_if_no_id_but_after(): assert not DB.fetchone('SELECT count(*) as t FROM crowdsourcing')['t'] Crowdsourcing(after="zzzzzzz").save() assert DB.fetchone('SELECT count(*) as t FROM crowdsourcing WHERE operation="c"')['t'] # noqa
def test_should_update_if_id_and_after(): assert not DB.fetchone('SELECT count(*) as t FROM crowdsourcing')['t'] Crowdsourcing(id="xxxx", before="yyyyy", after="zzzzzzz").save() assert DB.fetchone('SELECT count(*) as t FROM crowdsourcing WHERE operation="u"')['t'] # noqa
def pytest_runtest_setup(item): ctx = _app.test_request_context() ctx.push() DB.init() DB.commit('DELETE FROM tracked_download') DB.commit('DELETE FROM crowdsourcing')
def test_should_delete_if_id_and_no_after(): assert not DB.fetchone('SELECT count(*) as t FROM crowdsourcing')['t'] Crowdsourcing(id="zzzzzzz").save() assert DB.fetchone( 'SELECT count(*) as t FROM crowdsourcing WHERE operation="d"')[ 't'] # noqa
def test_should_create_if_no_id_but_after(): assert not DB.fetchone('SELECT count(*) as t FROM crowdsourcing')['t'] Crowdsourcing(after="zzzzzzz").save() assert DB.fetchone( 'SELECT count(*) as t FROM crowdsourcing WHERE operation="c"')[ 't'] # noqa
def test_should_update_if_id_and_after(): assert not DB.fetchone('SELECT count(*) as t FROM crowdsourcing')['t'] Crowdsourcing(id="xxxx", before="yyyyy", after="zzzzzzz").save() assert DB.fetchone( 'SELECT count(*) as t FROM crowdsourcing WHERE operation="u"')[ 't'] # noqa