github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/apiserver/facades/client/firewallrules/mock_test.go (about) 1 // Copyright 2017 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package firewallrules_test 5 6 import ( 7 jtesting "github.com/juju/testing" 8 "gopkg.in/juju/names.v2" 9 10 "github.com/juju/juju/apiserver/facades/client/firewallrules" 11 "github.com/juju/juju/state" 12 ) 13 14 type mockBackend struct { 15 jtesting.Stub 16 firewallrules.Backend 17 18 modelUUID string 19 rules map[string]state.FirewallRule 20 } 21 22 func (m *mockBackend) GetBlockForType(t state.BlockType) (state.Block, bool, error) { 23 return nil, false, nil 24 } 25 26 func (m *mockBackend) ModelTag() names.ModelTag { 27 m.MethodCall(m, "ModelTag") 28 m.PopNoErr() 29 return names.NewModelTag(m.modelUUID) 30 } 31 32 func (m *mockBackend) SaveFirewallRule(rule state.FirewallRule) error { 33 m.MethodCall(m, "SaveFirewallRule") 34 m.PopNoErr() 35 m.rules[string(rule.WellKnownService)] = rule 36 return nil 37 } 38 39 func (m *mockBackend) ListFirewallRules() ([]*state.FirewallRule, error) { 40 m.MethodCall(m, "ListFirewallRules") 41 m.PopNoErr() 42 return []*state.FirewallRule{ 43 { 44 WellKnownService: state.JujuApplicationOfferRule, 45 WhitelistCIDRs: []string{"1.2.3.4/8"}, 46 }, 47 }, nil 48 } 49 50 type mockBlockChecker struct { 51 jtesting.Stub 52 } 53 54 func (c *mockBlockChecker) ChangeAllowed() error { 55 c.MethodCall(c, "ChangeAllowed") 56 return c.NextErr() 57 }