示例#1
0
def testSingleLineCommentValueError(corrupted_json, ju_logger):
    with pytest.raises(ValueError) as e_info:
        with patch(builtins.__name__ + ".open",
                   mock_open(read_data=corrupted_json)):
            JsonComments.read_file("corrupted.json")

    ju_logger.error.assert_called_once_with(
        'Could not load json object from file: corrupted.json')
    assert e_info.typename == 'ValueError'
def testSingleLineCommentJSONDecodeError(corrupted_json,
                                    ju_logger):
    with pytest.raises(JSONDecodeError) as e_info:
        with patch(builtins.__name__ + ".open",
                   mock_open(read_data=corrupted_json)):
            JsonComments.read_file("corrupted.json")

    ju_logger.error.assert_called_once_with(
        'Could not load json object from file: corrupted.json')
    assert e_info.typename == 'JSONDecodeError'
    def read_string(self, json_string, description=None, section=None, **kwargs):
        """Parse a complete or partial configuration.
        
        Parameters
        ----------
        json_string : string
            Input to parse.
        description : Description, optional
            Where to put the parsed configuration.  If None a new one is created.
        section : string, optional
            Where to put the parsed configuration within the description.
        
        Returns
        -------
        Description
            The input description with parsed configuration added.
        
        Section is only specified for "bare" objects that are to be added to a section array.
        """
        if description == None:
            description = Description()

        data = JsonComments.read_string(json_string)

        description.unpack(data, section)

        return description
示例#4
0
    def read_string(self,
                    json_string,
                    description=None,
                    section=None,
                    **kwargs):
        '''Parse a complete or partial configuration.

        Parameters
        ----------
        json_string : string
            Input to parse.
        description : Description, optional
            Where to put the parsed configuration.  If None a new one is created.
        section : string, optional
            Where to put the parsed configuration within the description.

        Returns
        -------
        Description
            The input description with parsed configuration added.

        Section is only specified for "bare" objects that are to be added to a section array.
        '''
        if description is None:
            description = Description()

        data = JsonComments.read_string(json_string)

        description.unpack(data, section)

        return description
def testSingleLineCommentFile(commented_json):
    with patch(builtins.__name__ + ".open",
               mock_open(
                   read_data=commented_json)):
        parsed_json = JsonComments.read_file('mock.json')

    assert('color' in parsed_json and
           parsed_json['color'] == 'blue')
def testMultiLineFile(multi_line_json):
    with patch(builtins.__name__ + ".open",
               mock_open(
                   read_data=multi_line_json)):
        parsed_json = JsonComments.read_file('mock.json')

    assert('color' in parsed_json and
           parsed_json['color'] == 'blue')
示例#7
0
def testBlankLinesFile(blank_line_json):
    with patch("__builtin__.open",
               mock_open(
                   read_data=blank_line_json)):
        parsed_json = JsonComments.read_file('mock.json')
     
    assert('color' in parsed_json and
           parsed_json['color'] == 'blue')
示例#8
0
def testTwoMultiLineComments(two_multi_line_json):
    parsed_json = JsonComments.read_string(two_multi_line_json)

    assert ('colors' in parsed_json)
    assert (len(parsed_json['colors']) == 4)
    assert ('blue' in parsed_json['colors'])
    assert ('orange' in parsed_json['colors'])
    assert ('purple' in parsed_json['colors'])
    assert ('violet' in parsed_json['colors'])
示例#9
0
    def testTwoMultiLineComments(self):
        parsed_json = JsonComments.read_string(JsonCommentsTest.two_multi_line_json)

        self.assertTrue("colors" in parsed_json)
        self.assertTrue(len(parsed_json["colors"]) == 4)
        self.assertTrue("blue" in parsed_json["colors"])
        self.assertTrue("orange" in parsed_json["colors"])
        self.assertTrue("purple" in parsed_json["colors"])
        self.assertTrue("violet" in parsed_json["colors"])
def testTwoMultiLineComments(two_multi_line_json):
    parsed_json = JsonComments.read_string(
        two_multi_line_json)

    assert('colors' in parsed_json)
    assert(len(parsed_json['colors']) == 4)
    assert('blue' in parsed_json['colors'])
    assert('orange' in parsed_json['colors'])
    assert('purple' in parsed_json['colors'])
    assert('violet' in parsed_json['colors'])
示例#11
0
def testTwoMultiLineFile(two_multi_line_json):
    with patch("__builtin__.open", mock_open(read_data=two_multi_line_json)):
        parsed_json = JsonComments.read_file('mock.json')

    assert ('colors' in parsed_json)
    assert (len(parsed_json['colors']) == 4)
    assert ('blue' in parsed_json['colors'])
    assert ('orange' in parsed_json['colors'])
    assert ('purple' in parsed_json['colors'])
    assert ('violet' in parsed_json['colors'])
示例#12
0
    def testTwoMultiLineFile(self):
        with patch("__builtin__.open", mock_open(read_data=JsonCommentsTest.two_multi_line_json)):
            parsed_json = JsonComments.read_file("mock.json")

        self.assertTrue("colors" in parsed_json)
        self.assertTrue(len(parsed_json["colors"]) == 4)
        self.assertTrue("blue" in parsed_json["colors"])
        self.assertTrue("orange" in parsed_json["colors"])
        self.assertTrue("purple" in parsed_json["colors"])
        self.assertTrue("violet" in parsed_json["colors"])
def testTwoMultiLineFile(two_multi_line_json):
    with patch(builtins.__name__ + ".open",
               mock_open(
                   read_data=two_multi_line_json)):
        parsed_json = JsonComments.read_file('mock.json')

    assert('colors' in parsed_json)
    assert(len(parsed_json['colors']) == 4)
    assert('blue' in parsed_json['colors'])
    assert('orange' in parsed_json['colors'])
    assert('purple' in parsed_json['colors'])
    assert('violet' in parsed_json['colors'])
示例#14
0
    def from_json_string(self, json_string):
        '''Read a configuration from a JSON format string.

        Parameters
        ----------
        json_string : string
            A JSON-formatted string containing an application configuration.

        Returns
        -------
        string
            An application configuration in INI format
        '''
        description = JsonComments.read_string(json_string)

        return self.to_config_string(description)
示例#15
0
    def from_json_string(self, json_string):
        """Read a configuration from a JSON format string.
        
        Parameters
        ----------
        json_string : string
            A JSON-formatted string containing an application configuration.
        
        Returns
        -------
        string
            An application configuration in INI format
        """
        description = JsonComments.read_string(json_string)

        return self.to_config_string(description)
示例#16
0
    def from_json_file(self, json_path):
        '''Read an application configuration from a JSON format file.

        Parameters
        ----------
        json_path : string
            Path to the JSON file.

        Returns
        -------
        string
            An application configuration in INI format

        '''
        description = JsonComments.read_file(json_path)

        return self.to_config_string(description)
示例#17
0
    def from_json_file(self, json_path):
        """Read an application configuration from a JSON format file.
        
        Parameters
        ----------
        json_path : string
            Path to the JSON file.
        
        Returns
        -------
        string
            An application configuration in INI format
        
        """
        description = JsonComments.read_file(json_path)

        return self.to_config_string(description)
示例#18
0
    def testSingleLineComment(self):
        parsed_json = JsonComments.read_string(JsonCommentsTest.commented_json)

        self.assertTrue("color" in parsed_json and parsed_json["color"] == "blue")
示例#19
0
    def testMultiLineComment(self):
        parsed_json = JsonComments.read_string(JsonCommentsTest.multi_line_json)

        self.assertTrue("color" in parsed_json and parsed_json["color"] == "blue")
示例#20
0
def testBlankLinesFile(blank_line_json):
    with patch("__builtin__.open", mock_open(read_data=blank_line_json)):
        parsed_json = JsonComments.read_file('mock.json')

    assert ('color' in parsed_json and parsed_json['color'] == 'blue')
示例#21
0
    def testMultiLineFile(self):
        with patch("__builtin__.open", mock_open(read_data=JsonCommentsTest.multi_line_json)):
            parsed_json = JsonComments.read_file("mock.json")

        self.assertTrue("color" in parsed_json and parsed_json["color"] == "blue")
示例#22
0
def testSingleLineCommentFile(commented_json):
    with patch(builtins.__name__ + ".open",
               mock_open(read_data=commented_json)):
        parsed_json = JsonComments.read_file('mock.json')

    assert ('color' in parsed_json and parsed_json['color'] == 'blue')
示例#23
0
def testMultiLineComment(multi_line_json):
    parsed_json = JsonComments.read_string(multi_line_json)

    assert ('color' in parsed_json and parsed_json['color'] == 'blue')
def testMultiLineComment(multi_line_json):
    parsed_json = JsonComments.read_string(
        multi_line_json)

    assert('color' in parsed_json and
           parsed_json['color'] == 'blue')
示例#25
0
def testMultiLineFile(multi_line_json):
    with patch(builtins.__name__ + ".open",
               mock_open(read_data=multi_line_json)):
        parsed_json = JsonComments.read_file('mock.json')

    assert ('color' in parsed_json and parsed_json['color'] == 'blue')
def testBlankLines(blank_line_json):
    parsed_json = JsonComments.read_string(
        blank_line_json)

    assert('color' in parsed_json and
           parsed_json['color'] == 'blue')
def testSingleLineComment(commented_json):
    parsed_json = JsonComments.read_string(
        commented_json)

    assert('color' in parsed_json and
           parsed_json['color'] == 'blue')
示例#28
0
def testSingleLineComment(commented_json):
    parsed_json = JsonComments.read_string(commented_json)

    assert ('color' in parsed_json and parsed_json['color'] == 'blue')
示例#29
0
    def testBlankLines(self):
        parsed_json = JsonComments.read_string(JsonCommentsTest.blank_line_json)

        self.assertTrue("color" in parsed_json and parsed_json["color"] == "blue")
示例#30
0
def testBlankLines(blank_line_json):
    parsed_json = JsonComments.read_string(blank_line_json)

    assert ('color' in parsed_json and parsed_json['color'] == 'blue')