From faa4ba26688a1a7ae977be41ab67a30898bd1107 Mon Sep 17 00:00:00 2001 From: Roland Shoemaker Date: Tue, 6 Oct 2015 14:06:04 -0700 Subject: [PATCH] Fix policy rule dump --- policy/policy-authority-data.go | 2 +- policy/policy-authority-data_test.go | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/policy/policy-authority-data.go b/policy/policy-authority-data.go index 1a61a1dd8..c9a79343e 100644 --- a/policy/policy-authority-data.go +++ b/policy/policy-authority-data.go @@ -103,8 +103,8 @@ func (padb *PolicyAuthorityDatabaseImpl) DumpRules() (rs RuleSet, err error) { } for _, r := range bList { r.Host = core.ReverseName(r.Host) + rs.Blacklist = append(rs.Blacklist, r) } - rs.Blacklist = bList var wList []WhitelistRule _, err = padb.dbMap.Select(&wList, "SELECT * FROM whitelist") if err != nil { diff --git a/policy/policy-authority-data_test.go b/policy/policy-authority-data_test.go index 34e91a860..81137617d 100644 --- a/policy/policy-authority-data_test.go +++ b/policy/policy-authority-data_test.go @@ -24,6 +24,34 @@ func padbImpl(t *testing.T) (*PolicyAuthorityDatabaseImpl, func()) { return padb, cleanUp } +func TestLoadAndDumpRules(t *testing.T) { + p, cleanup := padbImpl(t) + defer cleanup() + + load := RuleSet{ + Blacklist: []BlacklistRule{ + BlacklistRule{ + Host: "bad.com", + }, + }, + Whitelist: []WhitelistRule{ + WhitelistRule{ + Host: "good.bad.com", + }, + }, + } + err := p.LoadRules(load) + test.AssertNotError(t, err, "Couldn't load rules") + + dumped, err := p.DumpRules() + test.AssertNotError(t, err, "Couldn't dump rules") + test.AssertEquals(t, len(dumped.Blacklist), 1) + test.AssertEquals(t, len(dumped.Whitelist), 1) + + test.AssertEquals(t, dumped.Whitelist[0], load.Whitelist[0]) + test.AssertEquals(t, dumped.Blacklist[0], load.Blacklist[0]) +} + func TestBlacklist(t *testing.T) { p, cleanup := padbImpl(t) defer cleanup()