Example #1
0
    def test_add(self):
        obj = {'foo': 'bar'}
        response = add(obj, '/baz', 'quux')
        assert response == {'foo': 'bar', 'baz': 'quux'}
        assert response != obj

        obj = {'foo': {'bar': 'baz'}}
        response = add(obj, '/baz', 'quux')
        assert response == {'foo': {'bar': 'baz'}, 'baz': 'quux'}

        response = add(obj, '/foo/quux', 42)
        assert response == {'foo': {'bar': 'baz', 'quux': 42}}
Example #2
0
    def test_add(self):
        obj = {'foo': 'bar'}
        response = add(obj, '/baz', 'quux')
        assert response == {'foo': 'bar', 'baz': 'quux'}
        assert response != obj

        obj = {'foo': {'bar': 'baz'}}
        response = add(obj, '/baz', 'quux')
        assert response == {'foo': {'bar': 'baz'}, 'baz': 'quux'}

        response = add(obj, '/foo/quux', 42)
        assert response == {'foo': {'bar': 'baz', 'quux': 42}}
Example #3
0
 def test_adding_nested_member_object(self):
     obj = {'foo': 'bar'}
     assert add(obj, '/child', {'grandchild': {}}) == {
         'foo': 'bar',
         'child': {
             'grandchild': {}
         }
     }
Example #4
0
 def test_adding_nested_member_object(self):
     obj = {'foo': 'bar'}
     assert add(obj, '/child', {'grandchild': {}}) == {
         'foo': 'bar',
         'child': {
             'grandchild': {}
         }
     }
Example #5
0
    def run(self, args):
        parse_pointer(args)
        parse_document(args)
        parse_fragment(args)

        from jsonspec.operations import add, Error
        from jsonspec.pointer import ParseError

        try:
            response = add(args.document, args.pointer, args.fragment)
            return driver.dumps(response, indent=args.indent)
        except Error as error:
            raise Exception(error)
        except ParseError as error:
            raise Exception('{} is not a valid pointer'.format(args.pointer))
Example #6
0
    def run(self, args):
        parse_pointer(args)
        parse_document(args)
        parse_fragment(args)

        from jsonspec.operations import add, Error
        from jsonspec.pointer import ParseError

        try:
            response = add(args.document, args.pointer, args.fragment)
            return driver.dumps(response, indent=args.indent)
        except Error as error:
            raise Exception(error)
        except ParseError as error:
            raise Exception('{} is not a valid pointer'.format(args.pointer))
Example #7
0
 def test_add_array_element(self):
     obj = {'foo': ['bar', 'baz']}
     assert add(obj, '/foo/1', 'qux') == {
         'foo': ['bar', 'qux', 'baz']
     }
Example #8
0
 def test_add_object_member(self):
     obj = {'foo': 'bar'}
     assert add(obj, '/baz', 'qux') == {
         'baz': 'qux',
         'foo': 'bar'
     }
Example #9
0
 def test_adding_array_value(self):
     obj = {'foo': ['bar']}
     assert add(obj, '/foo/-', ['abc', 'def']) == {
         'foo': ['bar', ['abc', 'def']]
     }
Example #10
0
 def test_adding_to_nonexistent_target(self):
     obj = {'foo': 'bar'}
     with self.assertRaises(NonexistentTarget):
         assert add(obj, '/baz/bat', 'qux')
Example #11
0
 def test_add_array_element(self):
     obj = {'foo': ['bar', 'baz']}
     assert add(obj, '/foo/1', 'qux') == {'foo': ['bar', 'qux', 'baz']}
Example #12
0
 def test_add_object_member(self):
     obj = {'foo': 'bar'}
     assert add(obj, '/baz', 'qux') == {'baz': 'qux', 'foo': 'bar'}
Example #13
0
 def test_adding_array_value(self):
     obj = {'foo': ['bar']}
     assert add(obj, '/foo/-', ['abc', 'def']) == {
         'foo': ['bar', ['abc', 'def']]
     }
Example #14
0
 def test_adding_to_nonexistent_target(self):
     obj = {'foo': 'bar'}
     with self.assertRaises(NonexistentTarget):
         assert add(obj, '/baz/bat', 'qux')
Example #15
0
def test_adding_mapping_type_value():
    obj = TestMappingType({'foo': ['bar']})
    assert add(obj, '/foo/-', ['abc', 'def']) == TestMappingType(
        {'foo': ['bar', ['abc', 'def']]})
Example #16
0
def test_adding_mapping_type_value():
    obj = TestMappingType({'foo': ['bar']})
    assert add(obj, '/foo/-', ['abc', 'def']) == TestMappingType({
        'foo': ['bar', ['abc', 'def']]
    })