Exemplo n.º 1
0
    def test_objet_get(self):
        '''Un webmestre peut lire les objets'''

        r = self.s.get(spip_api_path('objet/article/1'))
        self.assertEqual(r.status_code, 200)
        self.assertIn('titre', r.json())
        self.assertIn('texte', r.json())
Exemplo n.º 2
0
    def test_objet_get(self):
        '''Un webmestre peut lire les objets'''

        r = self.s.get(spip_api_path('objet/article/1'))
        self.assertEqual(r.status_code, 200)
        self.assertIn('titre', r.json())
        self.assertIn('texte', r.json())
Exemplo n.º 3
0
    def test_lien_get(self):
        '''Un webmestre peut lire les liens'''

        r = self.s.get(spip_api_path('lien/auteur/1/article/1'))
        self.assertEqual(r.status_code, 200)
        self.assertIn('id_auteur', r.json())
        self.assertIn('vu', r.json())
        self.assertIn('id_objet', r.json())
        self.assertIn('objet', r.json())
Exemplo n.º 4
0
    def test_objet_post(self):
        '''Les requêtes POST sont interdites aux anonymes'''

        article = {
            'titre': 'Un nouvel article',
            'texte': "Je suis un article de test",
            'statut': 'publie'
        }
        r = self.s.post(spip_api_path('objet/article'), data=article)
        self.assertEqual(r.status_code, 403)
        self.assertIn('erreur', r.json())
Exemplo n.º 5
0
    def test_objet_post(self):
        '''Les requêtes POST sont interdites aux anonymes'''

        article = {
            'titre': 'Un nouvel article',
            'texte': "Je suis un article de test",
            'statut': 'publie'
        }
        r = self.s.post(spip_api_path('objet/article'), data=article)
        self.assertEqual(r.status_code, 403)
        self.assertIn('erreur', r.json())
Exemplo n.º 6
0
    def test_lien_post(self):
        '''Un webmestre peut créer, éditer et supprimer des liens.'''

        r = self.s.post(spip_api_path('lien/auteur/2/article/1'))
        self.assertEqual(r.status_code, 200)
        # POST retourne une url vers le lien nouvellement créé
        self.assertIn('redirect', r.json())
        r = self.s.get(r.json()['redirect'])
        # On peut suivre ce lien pour récupérer les données complète du lien
        self.assertEqual(r.status_code, 200)
        self.assertIn('id_auteur', r.json())
        self.assertIn('vu', r.json())
        self.assertIn('id_objet', r.json())
        self.assertIn('objet', r.json())
        # On peut effacer ce lien
        r = self.s.delete(spip_api_path('lien/auteur/2/article/1'))
        self.assertEqual(r.status_code, 200)
        self.assertIn('ok', r.json())
        # Demander le lien effacé ne retourne rien
        r = self.s.get(spip_api_path('lien/auteur/2/article/1'))
        self.assertEqual(r.status_code, 404)
        self.assertIn('erreur', r.json())
Exemplo n.º 7
0
    def test_objet_post(self):
        '''Un webmestre peut créer, éditer et supprimer des objets.'''

        article = {
            'titre': 'Un nouvel article',
            'texte': "Je suis un article de test",
            'statut': 'publie'
        }
        r = self.s.post(spip_api_path('objet/article'), data=article)
        self.assertEqual(r.status_code, 200)
        # POST retourne un lien vers l'objet nouvellement créé
        self.assertIn('redirect', r.json())
        r = self.s.get(r.json()['redirect'])
        # On peut suivre ce lien pour récupérer les données complète de l'objet
        self.assertEqual(r.status_code, 200)
        self.assertEqual(r.json()['titre'], 'Un nouvel article')
        id_objet = r.json()['id_article']
        # On peut éditer cet objet
        modifs = {'titre': 'Un nouveau titre pour cet article'}
        r = self.s.post(spip_api_path('objet/article/' + id_objet),
                        data=modifs)
        self.assertEqual(r.status_code, 200)
        self.assertIn('redirect', r.json())
        # le lien de redirection pointe vers le bon objet
        self.assertEqual(r.json()['redirect'],
                         spip_api_path('objet/article/' + id_objet))
        # l'édition a bien eu lieu
        r = self.s.get(r.json()['redirect'])
        self.assertEqual(r.json()['titre'],
                         'Un nouveau titre pour cet article')
        # On peut effacer cet objet
        r = self.s.delete(spip_api_path('objet/article/' + id_objet))
        self.assertEqual(r.status_code, 200)
        self.assertIn('ok', r.json())
        # Demander l'objet effacé ne retourne rien
        r = self.s.get(spip_api_path('objet/article/' + id_objet))
        self.assertEqual(r.status_code, 404)
        self.assertIn('erreur', r.json())
Exemplo n.º 8
0
    def test_objet_post(self):
        '''Un webmestre peut créer, éditer et supprimer des objets.'''

        article = {
            'titre': 'Un nouvel article',
            'texte': "Je suis un article de test",
            'statut': 'publie'
        }
        r = self.s.post(spip_api_path('objet/article'), data=article)
        self.assertEqual(r.status_code, 200)
        # POST retourne un lien vers l'objet nouvellement créé
        self.assertIn('redirect', r.json())
        r = self.s.get(r.json()['redirect'])
        # On peut suivre ce lien pour récupérer les données complète de l'objet
        self.assertEqual(r.status_code, 200)
        self.assertEqual(r.json()['titre'], 'Un nouvel article')
        id_objet = r.json()['id_article']
        # On peut éditer cet objet
        modifs = {
            'titre': 'Un nouveau titre pour cet article'
        }
        r = self.s.post(spip_api_path('objet/article/' + id_objet), data=modifs)
        self.assertEqual(r.status_code, 200)
        self.assertIn('redirect', r.json())
        # le lien de redirection pointe vers le bon objet
        self.assertEqual(r.json()['redirect'], spip_api_path('objet/article/' + id_objet))
        # l'édition a bien eu lieu
        r = self.s.get(r.json()['redirect'])
        self.assertEqual(r.json()['titre'], 'Un nouveau titre pour cet article')
        # On peut effacer cet objet
        r = self.s.delete(spip_api_path('objet/article/' + id_objet))
        self.assertEqual(r.status_code, 200)
        self.assertIn('ok', r.json())
        # Demander l'objet effacé ne retourne rien
        r = self.s.get(spip_api_path('objet/article/' + id_objet))
        self.assertEqual(r.status_code, 404)
        self.assertIn('erreur', r.json())
Exemplo n.º 9
0
 def test_rejete_ressources_invalides(self):
     r = self.s.get(spip_api_path('ressource-invalide'))
     self.assertEqual(r.status_code, 403)
     self.assertIn('erreur', r.json())
Exemplo n.º 10
0
    def test_objet_delete(self):
        '''Les requêtes DELETE sont interdites aux anonymes'''

        r = self.s.delete(spip_api_path('objet/article/1'))
        self.assertEqual(r.status_code, 403)
        self.assertIn('erreur', r.json())
Exemplo n.º 11
0
 def test_dit_bonjour(self):
     r = self.s.get(spip_api_path(''))
     self.assertEqual(r.status_code, 403)
     self.assertIn('erreur', r.json())
Exemplo n.º 12
0
 def test_rejete_verbes_invalides(self):
     r = self.s.options(spip_api_path('lien/auteur/1/article/1'))
     self.assertEqual(r.status_code, 403)
     self.assertIn('erreur', r.json())
Exemplo n.º 13
0
    def test_objet_delete(self):
        '''Les requêtes DELETE sont interdites aux anonymes'''

        r = self.s.delete(spip_api_path('objet/article/1'))
        self.assertEqual(r.status_code, 403)
        self.assertIn('erreur', r.json())
Exemplo n.º 14
0
 def test_dit_bonjour(self):
     r = self.s.get(spip_api_path(''))
     self.assertEqual(r.status_code, 200)
     self.assertIn('message', r.json())
Exemplo n.º 15
0
 def test_rejete_verbes_invalides(self):
     r = self.s.options(spip_api_path('lien/auteur/1/article/1'))
     self.assertEqual(r.status_code, 403)
     self.assertIn('erreur', r.json())
Exemplo n.º 16
0
 def test_rejete_ressources_invalides(self):
     r = self.s.get(spip_api_path('ressource-invalide'))
     self.assertEqual(r.status_code, 403)
     self.assertIn('erreur', r.json())
Exemplo n.º 17
0
 def test_dit_bonjour(self):
     r = self.s.get(spip_api_path(''))
     self.assertEqual(r.status_code, 403)
     self.assertIn('erreur', r.json())
Exemplo n.º 18
0
    def test_lien_get(self):
        '''Les requêtes GET sont interdites aux anonymes'''

        r = self.s.get(spip_api_path('lien/auteur/1/article/1'))
        self.assertEqual(r.status_code, 403)
        self.assertIn('erreur', r.json())
Exemplo n.º 19
0
 def test_dit_bonjour(self):
     r = self.s.get(spip_api_path(''))
     self.assertEqual(r.status_code, 200)
     self.assertIn('message', r.json())