def test_process_inotify_event_flock_error( firewall_flock_mock, active_service_groups_mock, ensure_service_chains_mock, log_mock, ): active_service_groups_mock.return_value = { firewall.ServiceGroup('myservice', 'myinstance'): {'00:00:00:00:00:00'}, firewall.ServiceGroup('anotherservice', 'instance'): {'11:11:11:11:11:11'}, firewall.ServiceGroup('thirdservice', 'instance'): {'22:22:22:22:22:22'}, } services_by_dependencies = { 'mydep.depinstance': {('myservice', 'myinstance'), ('anotherservice', 'instance')}, } soa_dir = mock.Mock() synapse_service_dir = mock.Mock() firewall_update.process_inotify_event( (None, None, None, b'mydep.depinstance.json'), services_by_dependencies, soa_dir, synapse_service_dir, ) assert log_mock.debug.call_count == 1 assert log_mock.error.call_count == 1
def test_process_inotify_event_flock_error( firewall_flock_mock, active_service_groups_mock, ensure_service_chains_mock, log_mock, ): active_service_groups_mock.return_value = { firewall.ServiceGroup("myservice", "myinstance"): {"00:00:00:00:00:00"}, firewall.ServiceGroup("anotherservice", "instance"): {"11:11:11:11:11:11"}, firewall.ServiceGroup("thirdservice", "instance"): {"22:22:22:22:22:22"}, } services_by_dependencies = { "mydep.depinstance": { ("myservice", "myinstance"), ("anotherservice", "instance"), } } soa_dir = mock.Mock() synapse_service_dir = mock.Mock() firewall_update.process_inotify_event( (None, None, None, b"mydep.depinstance.json"), services_by_dependencies, soa_dir, synapse_service_dir, ) assert log_mock.debug.call_count == 1 assert log_mock.error.call_count == 1
def test_process_inotify_event( firewall_flock_mock, active_service_groups_mock, ensure_service_chains_mock, log_mock, ): active_service_groups_mock.return_value = { firewall.ServiceGroup("myservice", "myinstance"): {"00:00:00:00:00:00"}, firewall.ServiceGroup("anotherservice", "instance"): {"11:11:11:11:11:11"}, firewall.ServiceGroup("thirdservice", "instance"): {"22:22:22:22:22:22"}, } services_by_dependencies = { "mydep.depinstance": { ("myservice", "myinstance"), ("anotherservice", "instance"), } } soa_dir = mock.Mock() synapse_service_dir = mock.Mock() firewall_update.process_inotify_event( (None, None, None, b"mydep.depinstance.json"), services_by_dependencies, soa_dir, synapse_service_dir, ) assert log_mock.debug.call_count == 3 log_mock.debug.assert_any_call("Updated ('myservice', 'myinstance')") log_mock.debug.assert_any_call("Updated ('anotherservice', 'instance')") assert ensure_service_chains_mock.mock_calls == [ mock.call( { firewall.ServiceGroup("myservice", "myinstance"): {"00:00:00:00:00:00"}, firewall.ServiceGroup("anotherservice", "instance"): {"11:11:11:11:11:11"}, }, soa_dir, synapse_service_dir, ) ] assert firewall_flock_mock.return_value.__enter__.called is True # Verify that tmp writes do not apply log_mock.reset_mock() ensure_service_chains_mock.reset_mock() firewall_update.process_inotify_event( (None, None, None, b"mydep.depinstance.tmp"), services_by_dependencies, soa_dir, synapse_service_dir, ) assert log_mock.debug.call_count == 1 assert ensure_service_chains_mock.call_count == 0
def test_process_inotify_event(log_mock): # TODO: test something more meaningful than the log function once we have actual iptables services_by_dependencies = { 'mydep.depinstance': {('myservice', 'myinstance'), ('anotherservice', 'instance')} } firewall_update.process_inotify_event( (None, None, None, 'mydep.depinstance.json'), services_by_dependencies) assert log_mock.debug.call_count == 2 log_mock.debug.assert_any_call('Update ', ('myservice', 'myinstance')) log_mock.debug.assert_any_call('Update ', ('anotherservice', 'instance')) # Verify that tmp writes do not apply log_mock.reset_mock() firewall_update.process_inotify_event( (None, None, None, 'mydep.depinstance.tmp'), services_by_dependencies) assert log_mock.debug.call_count == 0
def test_process_inotify_event(firewall_flock_mock, active_service_groups_mock, ensure_service_chains_mock, log_mock): active_service_groups_mock.return_value = { firewall.ServiceGroup('myservice', 'myinstance'): {'00:00:00:00:00:00'}, firewall.ServiceGroup('anotherservice', 'instance'): {'11:11:11:11:11:11'}, firewall.ServiceGroup('thirdservice', 'instance'): {'22:22:22:22:22:22'}, } services_by_dependencies = { 'mydep.depinstance': {('myservice', 'myinstance'), ('anotherservice', 'instance')} } soa_dir = mock.Mock() synapse_service_dir = mock.Mock() firewall_update.process_inotify_event( (None, None, None, 'mydep.depinstance.json'), services_by_dependencies, soa_dir, synapse_service_dir) assert log_mock.debug.call_count == 2 log_mock.debug.assert_any_call('Updated ', ('myservice', 'myinstance')) log_mock.debug.assert_any_call('Updated ', ('anotherservice', 'instance')) assert ensure_service_chains_mock.mock_calls == [ mock.call( { firewall.ServiceGroup('myservice', 'myinstance'): {'00:00:00:00:00:00'}, firewall.ServiceGroup('anotherservice', 'instance'): {'11:11:11:11:11:11'}, }, soa_dir, synapse_service_dir) ] assert firewall_flock_mock.return_value.__enter__.called is True # Verify that tmp writes do not apply log_mock.reset_mock() ensure_service_chains_mock.reset_mock() firewall_update.process_inotify_event( (None, None, None, 'mydep.depinstance.tmp'), services_by_dependencies, soa_dir, synapse_service_dir) assert log_mock.debug.call_count == 0 assert ensure_service_chains_mock.call_count == 0