Example #1
0
    def testAppendOrReplaceMultilineBlockInString(self):
        self.assertEqual(Util.appendOrReplaceMultilineBlockInString('', ''), '')
        content = """
line one
line two
#
"""
        data = """
start block
  block LINE ONE
"""
        result = """
line one
line two
#

start block
  block LINE ONE

"""
        self.assertEqual(Util.appendOrReplaceMultilineBlockInString(content, data),
                         result)

        content = """
line one
start block
  block line 1
  block line 2

#
"""
        result = """
line one
start block
  block LINE ONE

#
"""
        self.assertEqual(Util.appendOrReplaceMultilineBlockInString(content, data),
                         result)

        content = """
line one
start block
  block line 1
  block line 2
"""
        result = """
line one
start block
  block LINE ONE

"""
        self.assertEqual(Util.appendOrReplaceMultilineBlockInString(content, data),
                         result)
Example #2
0
    def testAppendOrReplaceMultilineBlockInString_StartUntil(self):
        content = """
olcDatabase: {0}config
olcAccess: {0}to *  by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=externa
 l,cn=auth" manage  by * none
olcAddContentAcl: TRUE
olcLastMod: TRUE
"""
        data = "olcAccess: ONE LINE"
        start = "olcAccess: {0}to *  by dn.base="
        result = """
olcDatabase: {0}config
%s
olcAddContentAcl: TRUE
olcLastMod: TRUE
""" % data

        self.assertEqual(Util.appendOrReplaceMultilineBlockInString(content, data, start=start, until='olcAdd'),
                         result)

        self.assertEqual(Util.appendOrReplaceMultilineBlockInString(content, data, start='ABC', until='olcAdd'),
                         content+'\n'+data+'\n\n')