Commit 81260ed2 authored by PidgeyL's avatar PidgeyL
Browse files

test padding

parent 1429d6e2
Loading
Loading
Loading
Loading
+50 −23
Original line number Diff line number Diff line
@@ -13,7 +13,14 @@ import sys
runPath = os.path.dirname(os.path.realpath(__file__))
sys.path.append(os.path.join(runPath, ".."))

from lib.Toolkit import toStringFormattedCPE, toOldCPE
import argparse

from lib.Toolkit import toStringFormattedCPE, toOldCPE, pad

# parse command line arguments
argparser = argparse.ArgumentParser(description='Recursive test for functions')
argparser.add_argument('-v', action='store_true', help='Verbose')
args = argparser.parse_args()

def resultOf(original, result, expected):
  test={'in':original,'out':result,'expect':expected}
@@ -24,6 +31,7 @@ def printResults(test, results):
  l = [x['passed'] for x in results]
  if False in l:
    print('[x] %s failed!'%test)
    if args.v:
      for x in [x for x in results if x['passed']==False]:
        print('    in:       %s'%x['in'])
        print('    out:      %s'%x['out'])
@@ -61,6 +69,16 @@ old = [{'in':'cpe:2.3:o:microsoft:windows_server_2008:-:sp2:itanium',
      {'in':'cpe:2.3:a:7-zip:7-zip:4.65:-:-:-:-:-:x64',                                       'expect':'cpe:/a:7-zip:7-zip:4.65::~~~~x64~'},
      {'in':'cpe:2.3:a:acl:acl:9.1.0.213',                                                    'expect':'cpe:/a:acl:acl:9.1.0.213'}]

pad1=[{'in':['a','b','c'],             'expect':['a','b','c',None,None]},
      {'in':['a','b','c','d','e'],     'expect':['a','b','c','d','e']},
      {'in':['a','b','c','d','e','f'], 'expect':['a','b','c','d','e','f']}]
padtext1=[{'in':['a','b','c'],             'expect':['a','b','c','-','-']},
          {'in':['a','b','c','d','e'],     'expect':['a','b','c','d','e']},
          {'in':['a','b','c','d','e','f'], 'expect':['a','b','c','d','e','f']}]
padtext2=[{'in':['a','b','c'],             'expect':['a','b','c','text','text']},
          {'in':['a','b','c','d','e'],     'expect':['a','b','c','d','e']},
          {'in':['a','b','c','d','e','f'], 'expect':['a','b','c','d','e','f']}]

result=[]
for x in extend:
  result.append(resultOf(x['in'],toStringFormattedCPE(x['in'],autofill=True),x['expect']))
@@ -76,3 +94,12 @@ for x in old:
  result.append(resultOf(x['in'],toOldCPE(x['in']),x['expect']))
printResults('Translate to 2.2 - success/no autofill',result)

result=[]
for x in pad1:
  result.append(resultOf(x['in'],pad(x['in'],5),x['expect']))
for x in padtext1:
  result.append(resultOf(x['in'],pad(x['in'],5,'-'),x['expect']))
for x in padtext2:
  result.append(resultOf(x['in'],pad(x['in'],5,'text'),x['expect']))
printResults('Padding lists    - empty, char and text - ',result)