import sys
from pgadmin.utils.route import BaseTestGenerator
from pgadmin.tools.sqleditor.utils.save_query_to_file_utils import \
    save_query_to_file
from flask import Flask

if sys.version_info < (3, 3):
    from mock import patch, ANY
else:
    from unittest.mock import patch, ANY

class TestSaveQueryToFile(BaseTestGenerator):
    """
    Check that the save_query method works as intended

    """

    scenarios = [
        (
            'When user has not entered the extension .sql while saving the file',
            dict(
                file_data= {
                    'file_name': '/abc/xyz',
                    'file_content': 'some data here', 
                },
                expected_return_value='/abc/xyz.sql'
            )
        ),
        (
            'When user has entered the extension .sql to the file while saving',
            dict(
                file_data= {
                    'file_name': '/abc/xyx.sql',
                    'file_content': 'some data here',
                },
                expected_return_value='/abc/xyx.sql'
            )
        ),
    ]
    
    def runTest(self):
            file_path_result = save_query_to_file(self.file_data)
            self.assertEquals(file_path_result, self.expected_return_value)
