#!/usr/bin/env python3 # -*- coding: utf-8 -*- import os from unittest import TestCase from pod_client.Resource import Resource, API_URLS HOST = 'http://pod.ubicast.net' API_KEY = os.environ.get('POD_UNIT_TEST_API_KEY') def setUpModule(): pass def tearDownModule(): pass class ResourceTest(TestCase): def test_init(self): resource_name = 'videos' resource_file = Resource(HOST, API_KEY, resource_name) self.assertEqual(HOST, resource_file.host_url) self.assertEqual(resource_name, resource_file.name) success = True try: resource_file = Resource('', API_KEY, resource_name) except Exception: success = False self.assertFalse(success) success = True try: resource_file = Resource(HOST, API_KEY, 'fake') except Exception: success = False self.assertFalse(success) success = True try: resource_file = Resource(HOST, '', 'fake') except Exception: success = False self.assertFalse(success) def test_get(self): for resource_name in API_URLS: resource = Resource(HOST, API_KEY, resource_name) response = resource.get() self.assertEqual(response.status_code, 200, response.text) if response.json().get('results', []): first_id = response.json().get('results', [])[0].get('id') self.assertTrue(first_id) response = resource.get(resource_id=first_id) self.assertEqual(response.status_code, 200, response.text) def test_post(self): resource = Resource(HOST, API_KEY, 'channels') response = resource.post(data={'title': 'unittest'}) self.assertEqual(response.status_code, 201, response.text) data = response.json() self.assertTrue(data['id']) response = resource.delete(resource_id=data['id']) self.assertEqual(response.status_code, 204, response.text) def test_put(self): pass def test_patch(self): pass def test_delete(self): pass