Beispiel #1
0
    def test_non200(self, mock_opener, mock_exists, mock_move):
        ##
        # Setup mocks
        ##
        instance = mock_opener.return_value
        http_error = IOError("http error", 404, "NOT FOUND", mock.Mock())
        instance.retrieve.side_effect = http_error
        mock_exists.return_value = False

        ##
        # Execute
        ##
        result = wsgi_handler.do_fallback(self.fallback_servers, self.base_path, self.path_info)

        # assert that do_fallback did not create the
        # object and the reason was because of the http_error
        self.assertEqual((False, (http_error, (self.expected_url, self.output_file))), result)

        # Ensure the directory tree was not created.
        self.assertTrue(not os.path.isdir(os.path.dirname(self.output_file)), os.path.dirname(self.output_file))

        # Ensure that the URLopener instance was called with the
        # correct parameters
        instance.retrieve.assert_called_with(self.expected_url)

        # Ensure that the move never happend
        self.assertFalse(mock_move.called)
Beispiel #2
0
    def test_200(self, mock_opener, mock_exists, mock_move):
        ##
        # Setup mocks
        ##
        instance = mock_opener.return_value
        instance.retrieve.return_value = ("/tmp/sometmpfilename", mock.Mock())

        mock_exists.return_value = False

        ##
        # Execute
        ##
        success = wsgi_handler.do_fallback(self.fallback_servers, self.base_path, self.path_info)

        ##
        # Test
        ##

        self.assertTrue(success)

        # Ensure that the URLopener instance was called with the
        # correct parameters
        instance.retrieve.assert_called_with(self.expected_url)

        # Ensure the directory tree was created.
        self.assertTrue(os.path.isdir(os.path.dirname(self.output_file)))

        # Ensure that shutil.move was called correctly
        mock_move.assert_called_with("/tmp/sometmpfilename", self.output_file)