def test_should_discard_unused_vcls_on_error_while_loading_vcl(self): vcl = Vcl('Test-content', name='test') rendered_list = [(vcl, servers[0])] with patch.object(ParallelRenderer, 'render_vcl_for_servers', return_value=rendered_list): with patch.object(ParallelLoader, 'load_vcl_list', side_effect=VclLoadException): with patch.object(ParallelLoader, 'discard_loaded_unused_vcl', return_value=(True, servers[0])) as \ discard_vcl_mock: varnish_cluster = VarnishCluster() with self.assertRaises(VclLoadException): varnish_cluster.load_vcl(timezone.now(), []) assert_list_equal([call([(vcl, servers[0])])], discard_vcl_mock.call_args_list)
def test_should_not_use_vcls_on_error_while_loading_vcl(self): vcl = Vcl('Test-content', name='test') rendered_list = [(vcl, servers[0])] with patch.object(ParallelRenderer, 'render_vcl_for_servers', return_value=rendered_list): with patch.object(ParallelLoader, 'load_vcl_list', side_effect=VclLoadException): with patch.object(ParallelLoader, 'use_vcl_list', return_value=False) as use_vcl_mock: varnish_cluster = VarnishCluster() with self.assertRaises(VclLoadException): varnish_cluster.load_vcl(timezone.now(), []) """ Here we check if 'use' command is NOT sent to servers """ assert_list_equal([], use_vcl_mock.call_args_list)
def test_should_load_and_use_only_loaded_vcls(self): start_processing_time = timezone.now() vcl = Vcl('Test-content', name='test') loader_mock = Mock() loader_mock.use_vcl = Mock(return_value=VclStatus.OK) loader_mock.discard_unused_vcls = Mock() rendered_list = [(vcl, servers[0])] loaded_list = [(vcl, loader_mock, servers[0])] with patch.object(ParallelRenderer, 'render_vcl_for_servers', return_value=rendered_list): with patch.object(ParallelLoader, 'load_vcl_list', return_value=loaded_list): with patch.object(ParallelLoader, 'use_vcl_list', return_value=True) as use_vcl_mock: varnish_cluster = VarnishCluster() assert_true( varnish_cluster.load_vcl(start_processing_time, [])) """ Here we check if only previously loaded vcl-s are used """ assert_list_equal( [call(start_processing_time, loaded_list)], use_vcl_mock.call_args_list)
def test_should_not_use_vcls_on_error_while_loading_vcl(self): vcl = Vcl('Test-content', name='test') rendered_list = [(vcl, servers[0])] with patch.object(ParallelRenderer, 'render_vcl_for_servers', return_value=rendered_list): with patch.object(ParallelLoader, 'load_vcl_list', side_effect=VclLoadException): with patch.object(ParallelLoader, 'use_vcl_list', return_value=False) as use_vcl_mock: varnish_cluster = VarnishCluster() with self.assertRaises(VclLoadException): varnish_cluster.load_vcl(timezone.now(), []) """ Here we check if 'use' command is NOT sent to servers """ assert_list_equal([], use_vcl_mock.call_args_list)
def test_should_load_and_use_only_loaded_vcls(self): start_processing_time = timezone.now() vcl = Vcl('Test-content', name='test') loader_mock = Mock() loader_mock.use_vcl = Mock(return_value=VclStatus.OK) loader_mock.discard_unused_vcls = Mock() rendered_list = [(vcl, servers[0])] loaded_list = [(vcl, loader_mock, servers[0])] with patch.object(ParallelRenderer, 'render_vcl_for_servers', return_value=rendered_list): with patch.object(ParallelLoader, 'load_vcl_list', return_value=loaded_list): with patch.object(ParallelLoader, 'use_vcl_list', return_value=True) as use_vcl_mock: varnish_cluster = VarnishCluster() assert_true(varnish_cluster.load_vcl(start_processing_time, [])) """ Here we check if only previously loaded vcl-s are used """ assert_list_equal([call(start_processing_time, loaded_list)], use_vcl_mock.call_args_list)