Example #1
0
def test_create_and_retrieve_unparsed_datum(rf):
    response = InfoTvView.as_view()(
        request=rf.post("/", {"datum": "hello", "value": "world"}),
        event="dsfargeg"
    )
    assert not json.loads(response.content)["parsed"]
    assert Datum.objects.get(event_slug="dsfargeg", key="hello").value == "world"
    response = InfoTvView.as_view()(
        event="dsfargeg",
        request=rf.get("/", {"action": "get_deck"})
    )
    assert json.loads(response.content)["datums"]["hello"]["value"] == "world"
Example #2
0
def test_post_deck(rf):
    request = get_deck_post_request()
    last_deck_id = 0
    for x in range(3):
        response = InfoTvView.as_view()(request=request, event="dsfargeg")
        assert response.status_code == 200
        deck_id = json.loads(response.content)["id"]
        assert deck_id > last_deck_id
        last_deck_id = deck_id
    response = InfoTvView.as_view()(request=rf.get("/", {"action": "get_deck"}), event="dsfargeg")
    deck_data = json.loads(response.content)["deck"]
    assert deck_data["id"] == last_deck_id
    assert deck_data["slides"] == EXAMPLE_DECK_DATA["slides"]
Example #3
0
def test_create_and_retrieve_parsed_datum(rf):
    input_data = {"world": str(uuid.uuid4())}
    input_json = json.dumps(input_data)
    response = InfoTvView.as_view()(
        request=rf.post("/", {"datum": "hello", "value": input_json}),
        event="dsfargeg"
    )
    assert json.loads(response.content)["parsed"]
    assert Datum.objects.get(event_slug="dsfargeg", key="hello").value == input_data
    response = InfoTvView.as_view()(
        event="dsfargeg",
        request=rf.get("/", {"action": "get_deck"})
    )
    assert json.loads(response.content)["datums"]["hello"]["value"] == input_data
Example #4
0
def test_datum_auth(rf):
    with override_settings(INFOTV_POLICY_CLASS="infotv.policy.BasePolicy"):
        response = InfoTvView.as_view()(
            request=rf.post("/", {"datum": "hello", "value": "world"}),
            event="dsfargeg"
        )
        assert response.status_code == 401
Example #5
0
def test_post_deck_auth():
    request = get_deck_post_request()
    with override_settings(INFOTV_POLICY_CLASS="infotv.policy.BasePolicy"):
        response = InfoTvView.as_view()(request, event="dsfargeg")
        assert response.status_code == 401
Example #6
0
def test_get_bogus_event_deck(rf):
    response = InfoTvView.as_view()(request=rf.get("/", {"action": "get_deck"}), event="dkfjstwr4iunm")
    assert json.loads(response.content)["deck"]["id"] == "missing"
Example #7
0
from django.conf import settings
from django.conf.urls import include, url
from django.views.decorators.csrf import csrf_exempt
from django.views.generic.base import RedirectView

from django.contrib import admin

admin.autodiscover()

from infotv.views import InfoTvView

from .views import infotv_edit_redirect_view, status_view

urlpatterns = [
    url(r'', include('kompassi_oauth2.urls')),
    url(
        r'^$',
        RedirectView.as_view(url="/events/{event_slug}/infotv/?slow=1".format(
            event_slug=settings.INFOTV_DEFAULT_EVENT))),
    url(r'^edit/?$', infotv_edit_redirect_view,
        dict(event=settings.INFOTV_DEFAULT_EVENT)),
    url(r'^events/(?P<event>[a-z0-9-]+)/infotv/?$',
        csrf_exempt(InfoTvView.as_view()),
        name='infotv_view'),
    url(r'^events/(?P<event>[a-z0-9-]+)/infotv/edit/?$',
        infotv_edit_redirect_view,
        name='infotv_edit_redirect_view'),
    url(r'^admin/', admin.site.urls),
    url(r'^healthz/?$', status_view, name='status_view'),
]
Example #8
0
from django.conf import settings
from django.conf.urls import include, url
from django.views.decorators.csrf import csrf_exempt
from django.views.generic.base import RedirectView

from django.contrib import admin
admin.autodiscover()

from infotv.views import InfoTvView

from .views import infotv_edit_redirect_view


urlpatterns = [
    url(r'', include('kompassi_oauth2.urls')),
    url(r'^$', RedirectView.as_view(url="/events/{event_slug}/infotv/?slow=1".format(event_slug=settings.INFOTV_DEFAULT_EVENT))),
    url(r'^edit/?$', infotv_edit_redirect_view, dict(event=settings.INFOTV_DEFAULT_EVENT)),
    url(r'^events/(?P<event>[a-z0-9-]+)/infotv/?$', csrf_exempt(InfoTvView.as_view()), name='infotv_view'),
    url(r'^events/(?P<event>[a-z0-9-]+)/infotv/edit/?$', infotv_edit_redirect_view, name='infotv_edit_redirect_view'),
    url(r'^admin/', include(admin.site.urls)),
]