"""Tests for exception handler.""" from unittest.mock import MagicMock from oto import status from podcast.logic import megaphone from podcast.logic import network def test_get_networks_handler(fixture_client, network_fixture, monkeypatch): """Test get networks handler.""" monkeypatch.setattr( network, 'get_networks', MagicMock( return_value={'items': [network_fixture]})) result = fixture_client.get('/networks') assert result.status_code == status.OK assert len(result.json['items']) == 1 def test_get_network_handler(fixture_client): """Test get network handler.""" result = fixture_client.get('/networks-by-id', query_string={'ids': '1,2'}) assert result.json['items'] == [ { 'id': 1, 'name': 'Broccoli test', 'is_sony': False, 'num_shows': 1, 'num_episodes': 1, 'megaphone_id': '64756b62-7e5c-4728-895a-2f42f8969e14' }, { 'id': 2, 'name': 'Cowhead test', 'is_sony': False, 'num_episodes': 0, 'num_shows': 0, 'megaphone_id': '74756b62-7e5c-4728-895a-2f42f8969e15' } ] def test_create_network_handler(fixture_client, monkeypatch): """Test create network handler.""" monkeypatch.setattr( megaphone, 'create_network', MagicMock( return_value={'id': 'cow'})) data = {'name': 'Bosha', 'code': 'CODE', 'is_sony': True} result = fixture_client.post('/networks', json=data) assert result.json['is_sony'] is True assert result.json['name'] == 'Bosha' def test_delete_network_handler(fixture_client, monkeypatch): """Test delete network handler.""" monkeypatch.setattr( megaphone, 'create_network', MagicMock( return_value={'id': 'cow'})) monkeypatch.setattr( megaphone, 'delete_network', MagicMock( return_value={'id': 'cow'})) data = {'name': 'Bosha', 'code': 'CODE', 'is_sony': True} result = fixture_client.post('/networks', json=data) fixture_client.delete('/networks/{}'.format(result.json['megaphone_id'])) result = fixture_client.get('/networks') found = [item for item in result.json['items'] if item['name'] == 'Bosha'] assert len(found) == 0 def test_get_show_family_networks_handler(fixture_client, network_fixture, monkeypatch): """Test get show family networks handler.""" monkeypatch.setattr( network, 'get_show_family_networks', MagicMock( return_value={'items': [network_fixture]})) result = fixture_client.get('/show-family-networks') assert result.status_code == status.OK assert len(result.json['items']) == 1