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  }