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"
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"]
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
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
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
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"
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'), ]
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)), ]