Skip to content
Snippets Groups Projects
test_views.py 1.7 KiB
Newer Older
  • Learn to ignore specific revisions
  • from django.urls import reverse
    
    
    def test_nodeinfo_endpoint(db, api_client, mocker):
        payload = {
            'test': 'test'
        }
        mocked_nodeinfo = mocker.patch(
            'funkwhale_api.instance.nodeinfo.get', return_value=payload)
    
        url = reverse('api:v1:instance:nodeinfo-2.0')
    
        response = api_client.get(url)
    
        ct = 'application/json; profile=http://nodeinfo.diaspora.software/ns/schema/2.0#; charset=utf-8'  # noqa
    
        assert response.status_code == 200
    
        assert response['Content-Type'] == ct
    
        assert response.data == payload
    
    
    def test_nodeinfo_endpoint_disabled(db, api_client, preferences):
        preferences['instance__nodeinfo_enabled'] = False
    
        url = reverse('api:v1:instance:nodeinfo-2.0')
    
        response = api_client.get(url)
    
        assert response.status_code == 404
    
    
    
    def test_settings_only_list_public_settings(db, api_client, preferences):
        url = reverse('api:v1:instance:settings')
        response = api_client.get(url)
    
        for conf in response.data:
            p = preferences.model.objects.get(
                section=conf['section'], name=conf['name'])
            assert p.preference.show_in_api is True
    
    
    def test_admin_settings_restrict_access(db, logged_in_api_client, preferences):
        url = reverse('api:v1:instance:admin-settings-list')
        response = logged_in_api_client.get(url)
    
        assert response.status_code == 403
    
    
    def test_admin_settings_correct_permission(
            db, logged_in_api_client, preferences):
        user = logged_in_api_client.user
        user.add_permission('change_globalpreferencemodel')
        url = reverse('api:v1:instance:admin-settings-list')
        response = logged_in_api_client.get(url)
    
        assert response.status_code == 200
        assert len(response.data) == len(preferences.all())