github.com/makyo/juju@v0.0.0-20160425123129-2608902037e9/apiserver/client/filtering_test.go (about) 1 // Copyright 2014 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package client_test 5 6 import ( 7 jc "github.com/juju/testing/checkers" 8 gc "gopkg.in/check.v1" 9 10 "github.com/juju/juju/apiserver/client" 11 "github.com/juju/juju/network" 12 ) 13 14 type filteringUnitTests struct { 15 } 16 17 var _ = gc.Suite(&filteringUnitTests{}) 18 19 func (f *filteringUnitTests) TestMatchPortRanges(c *gc.C) { 20 21 match, ok, err := client.MatchPortRanges([]string{"80/tcp"}, network.PortRange{80, 80, "tcp"}) 22 c.Check(err, jc.ErrorIsNil) 23 c.Check(ok, jc.IsTrue) 24 c.Check(match, jc.IsTrue) 25 26 match, ok, err = client.MatchPortRanges([]string{"80-90/tcp"}, network.PortRange{80, 90, "tcp"}) 27 c.Check(err, jc.ErrorIsNil) 28 c.Check(ok, jc.IsTrue) 29 c.Check(match, jc.IsTrue) 30 31 match, ok, err = client.MatchPortRanges([]string{"90/tcp"}, network.PortRange{80, 90, "tcp"}) 32 c.Check(err, jc.ErrorIsNil) 33 c.Check(ok, jc.IsTrue) 34 c.Check(match, jc.IsFalse) 35 } 36 37 func (s *filteringUnitTests) TestMatchSubnet(c *gc.C) { 38 39 // We do not resolve hostnames. 40 match, ok, err := client.MatchSubnet([]string{"localhost"}, "127.0.0.1") 41 c.Check(err, jc.ErrorIsNil) 42 c.Check(ok, jc.IsFalse) 43 c.Check(match, jc.IsFalse) 44 45 match, ok, err = client.MatchSubnet([]string{"127.0.0.1"}, "127.0.0.1") 46 c.Check(err, jc.ErrorIsNil) 47 c.Check(ok, jc.IsTrue) 48 c.Check(match, jc.IsTrue) 49 50 match, ok, err = client.MatchSubnet([]string{"localhost"}, "10.0.0.1") 51 c.Check(err, jc.ErrorIsNil) 52 c.Check(ok, jc.IsFalse) 53 c.Check(match, jc.IsFalse) 54 55 match, ok, err = client.MatchSubnet([]string{"testing.local"}, "testing.local") 56 c.Check(err, jc.ErrorIsNil) 57 c.Check(ok, jc.IsTrue) 58 c.Check(match, jc.IsTrue) 59 }