Beispiel #1
0
    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)
Beispiel #2
0
    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)
Beispiel #3
0
    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)
Beispiel #4
0
    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)
Beispiel #5
0
    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)