aboutsummaryrefslogtreecommitdiff
path: root/rpkid/tests/yamltest.py
diff options
context:
space:
mode:
Diffstat (limited to 'rpkid/tests/yamltest.py')
-rw-r--r--rpkid/tests/yamltest.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/rpkid/tests/yamltest.py b/rpkid/tests/yamltest.py
index 1e9256e3..6c950645 100644
--- a/rpkid/tests/yamltest.py
+++ b/rpkid/tests/yamltest.py
@@ -215,6 +215,12 @@ class allocation(object):
if "regen_margin" in yaml:
self.regen_margin = rpki.sundial.timedelta.parse(yaml["regen_margin"]).convert_to_seconds()
self.roa_requests = [roa_request.parse(y) for y in yaml.get("roa_request", yaml.get("route_origin", ()))]
+ if "ghostbusters" in yaml:
+ self.ghostbusters = yaml.get("ghostbusters")
+ elif "ghostbuster" in yaml:
+ self.ghostbusters = [yaml.get("ghostbuster")]
+ else:
+ self.ghostbusters = []
for r in self.roa_requests:
if r.v4:
self.base.v4 |= r.v4.to_resource_set()
@@ -349,6 +355,24 @@ class allocation(object):
if not stop_after_config:
self.run_rpkic("load_roa_requests", fn)
+ def dump_ghostbusters(self):
+ """
+ Write Ghostbusters vCard file.
+ """
+ if self.ghostbusters:
+ fn = "%s.ghostbusters.vcard" % d.name
+ if not skip_config:
+ path = self.path(fn)
+ print "Writing", path
+ f = open(path, "w")
+ for i, g in enumerate(self.ghostbusters):
+ if i:
+ f.write("\n")
+ f.write(g)
+ f.close()
+ if not stop_after_config:
+ self.run_rpkic("load_ghostbuster_requests", fn)
+
@property
def pubd(self):
"""
@@ -759,6 +783,7 @@ try:
d.dump_asns()
d.dump_prefixes()
d.dump_roas()
+ d.dump_ghostbusters()
# Wait until something terminates.