ara-server/api/tests/tests_playbook.py

46 lines
1.8 KiB
Python

from rest_framework.test import APITestCase
from api import models
from api.tests import factories
class PlaybookTestCase(APITestCase):
def test_get_no_playbooks(self):
request = self.client.get('/api/v1/playbooks/')
self.assertEqual(0, len(request.data['results']))
def test_get_playbooks(self):
playbook = factories.PlaybookFactory()
request = self.client.get('/api/v1/playbooks/')
self.assertEqual(1, len(request.data['results']))
self.assertEqual(playbook.path, request.data['results'][0]['path'])
def test_delete_playbook(self):
playbook = factories.PlaybookFactory()
self.assertEqual(1, models.Playbook.objects.all().count())
request = self.client.delete('/api/v1/playbooks/%s/' % playbook.id)
self.assertEqual(204, request.status_code)
self.assertEqual(0, models.Playbook.objects.all().count())
def test_create_playbook(self):
self.assertEqual(0, models.Playbook.objects.count())
playbook = {
"path": "/tmp/playbook.yml",
"ansible_version": "2.4.0",
}
request = self.client.post('/api/v1/playbooks/', playbook)
self.assertEqual(201, request.status_code)
self.assertEqual(1, models.Playbook.objects.count())
def test_update_playbook(self):
playbook = factories.PlaybookFactory()
self.assertNotEqual('/home/ara/playbook.yml', playbook.path)
new_playbook = {
"path": "/home/ara/playbook.yml",
"ansible_version": "2.4.0",
}
request = self.client.put('/api/v1/playbooks/%s/' % playbook.id, new_playbook)
self.assertEqual(200, request.status_code)
playbook_updated = models.Playbook.objects.get(id=playbook.id)
self.assertEqual('/home/ara/playbook.yml', playbook_updated.path)