Skip to content

Instantly share code, notes, and snippets.

@micha
Created January 8, 2017 23:50
Show Gist options
  • Save micha/932096efc147c2d2c0e6a2f06f4d1be5 to your computer and use it in GitHub Desktop.
Save micha/932096efc147c2d2c0e6a2f06f4d1be5 to your computer and use it in GitHub Desktop.
import csv
class FieldTests(object):
def __init__(self,csvfile):
self.reader = csv.DictReader(csvfile)
self.rows = []
for row in self.reader:
self.rows.append(row)
self.Fieldname = 'name/__text'
self.Fieldtype = 'fieldType/__text'
self.Contextual = 'contextualField/__text'
self.Partneredit = 'partnerEditable/__text'
self.Otherpers = 'otherDisplayOption/__text'
self.Values = 'values/__text'
self.Defaultvals = 'defaults/__text'
self.Default = 'toIgnorePartnerDefaults/__text'
self.Marcom = 'availableToMarcom/__text'
def completefieldtest(self,fieldname,fieldtype,contextual,partneredit,otherpers,default,marcom,values=None,defaultvals=None):
for row in self.rows:
print "hello {0} {1}".format(fieldname,fieldtype)
if fieldname == row[self.Fieldname]:
if row[self.Fieldtype] != fieldtype:
print "Field type for {0} is {1} and should be {2}".format(fieldname,row[self.Fieldtype],fieldtype)
elif row[self.Contextual] != contextual:
print "Contextual value for {0} is {1} and should be {2}".format(fieldname,row[self.Contextual],contextual)
elif row[self.Partneredit] != partneredit:
print "Partner editability for {0} is {1} and should be {2}".format(fieldname,row[self.Partneredit],partneredit)
elif row[self.Otherpers] != otherpers:
print "Other personalization for {0} is {1} and should be {2}".format(fieldname,row[self.Otherpers],otherpers)
elif row[self.Default] != default:
print "Skip partner default setting for {0} is {1} and should be {2}".format(fieldname,row[self.Default],default)
elif row[self.Marcom] != marcom:
print "Marcom setting for {0} is {1} and should be {2}".format(fieldname,row[self.Marcom],marcom)
elif row[self.Values] != "None":
if row[self.Values] != values:
print "Value(s) for {0} are {1} and should be {2}".format(fieldname,row[self.Values],values)
elif row[self.Defaultvals] != "None":
if row[self.Defaultvals] != defaultvals:
print "Default value(s) for {0} is {1} and should be {2}".format(fieldname,row[self.Defaultvals],defaultvals)
print "got here {0} {1}".format(fieldname,fieldtype)
def typetest(self,list,value):
for row in self.reader:
if row[self.Fieldname] in list:
if row[self.fFieldtype] != value:
print "{0} is not {1}".format(row[self.Fieldname],value)
def valuetest(self,fieldname,key,value):
for row in self.reader:
if fieldname == row[self.Fieldname]:
if row[key] == value:
print "The setting is correct."
else:
print "The {0} value for {1} is not {2}".format(key,fieldname,value)
def listallfields(self,key,value):
for row in self.reader:
if (key,value) in row.iteritems():
print row[self.fieldname]
def listallattributes(self,fieldname):
for row in self.reader:
if fieldname == row[self.Fieldname]:
print "Field type: {0}".format(row[self.Fieldtype])
print "Contextual: {0}".format(row[self.Contextual])
print "Partner Editable: {0}".format(row[self.Partneredit])
print "Other personalization: {0}".format(row[self.Otherpers])
print "Values: {0}".format(row[self.Values])
print "Default Values: {0}".format(row[self.Defaultvals])
print "Skip partner defaulting: {0}".format(row[self.Default])
print "Viewable in Marcom: {0}".format(row[self.Marcom])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment