@@ -5,18 +5,18 @@ import (
55)
66
77func (s * Suite ) TestWrongPath (c * check.C ) {
8- err := h .LoadPolicy ("asdfg" )
8+ err := h .LoadAclPolicy ("asdfg" )
99 c .Assert (err , check .NotNil )
1010}
1111
1212func (s * Suite ) TestBrokenHuJson (c * check.C ) {
13- err := h .LoadPolicy ("./tests/acls/broken.hujson" )
13+ err := h .LoadAclPolicy ("./tests/acls/broken.hujson" )
1414 c .Assert (err , check .NotNil )
1515
1616}
1717
1818func (s * Suite ) TestInvalidPolicyHuson (c * check.C ) {
19- err := h .LoadPolicy ("./tests/acls/invalid.hujson" )
19+ err := h .LoadAclPolicy ("./tests/acls/invalid.hujson" )
2020 c .Assert (err , check .NotNil )
2121 c .Assert (err , check .Equals , errorEmptyPolicy )
2222}
@@ -36,21 +36,21 @@ func (s *Suite) TestParseInvalidCIDR(c *check.C) {
3636}
3737
3838func (s * Suite ) TestCheckLoaded (c * check.C ) {
39- err := h .LoadPolicy ("./tests/acls/acl_policy_1.hujson" )
39+ err := h .LoadAclPolicy ("./tests/acls/acl_policy_1.hujson" )
4040 c .Assert (err , check .IsNil )
4141 c .Assert (h .aclPolicy , check .NotNil )
4242}
4343
4444func (s * Suite ) TestValidCheckParsedHosts (c * check.C ) {
45- err := h .LoadPolicy ("./tests/acls/acl_policy_1.hujson" )
45+ err := h .LoadAclPolicy ("./tests/acls/acl_policy_1.hujson" )
4646 c .Assert (err , check .IsNil )
4747 c .Assert (h .aclPolicy , check .NotNil )
4848 c .Assert (h .aclPolicy .IsZero (), check .Equals , false )
4949 c .Assert (h .aclPolicy .Hosts , check .HasLen , 2 )
5050}
5151
5252func (s * Suite ) TestRuleInvalidGeneration (c * check.C ) {
53- err := h .LoadPolicy ("./tests/acls/acl_policy_invalid.hujson" )
53+ err := h .LoadAclPolicy ("./tests/acls/acl_policy_invalid.hujson" )
5454 c .Assert (err , check .IsNil )
5555
5656 rules , err := h .generateACLRules ()
@@ -59,7 +59,7 @@ func (s *Suite) TestRuleInvalidGeneration(c *check.C) {
5959}
6060
6161func (s * Suite ) TestBasicRule (c * check.C ) {
62- err := h .LoadPolicy ("./tests/acls/acl_policy_basic_1.hujson" )
62+ err := h .LoadAclPolicy ("./tests/acls/acl_policy_basic_1.hujson" )
6363 c .Assert (err , check .IsNil )
6464
6565 rules , err := h .generateACLRules ()
@@ -68,7 +68,7 @@ func (s *Suite) TestBasicRule(c *check.C) {
6868}
6969
7070func (s * Suite ) TestPortRange (c * check.C ) {
71- err := h .LoadPolicy ("./tests/acls/acl_policy_basic_range.hujson" )
71+ err := h .LoadAclPolicy ("./tests/acls/acl_policy_basic_range.hujson" )
7272 c .Assert (err , check .IsNil )
7373
7474 rules , err := h .generateACLRules ()
@@ -82,7 +82,7 @@ func (s *Suite) TestPortRange(c *check.C) {
8282}
8383
8484func (s * Suite ) TestPortWildcard (c * check.C ) {
85- err := h .LoadPolicy ("./tests/acls/acl_policy_basic_wildcards.hujson" )
85+ err := h .LoadAclPolicy ("./tests/acls/acl_policy_basic_wildcards.hujson" )
8686 c .Assert (err , check .IsNil )
8787
8888 rules , err := h .generateACLRules ()
@@ -126,7 +126,7 @@ func (s *Suite) TestPortNamespace(c *check.C) {
126126 }
127127 db .Save (& m )
128128
129- err = h .LoadPolicy ("./tests/acls/acl_policy_basic_namespace_as_user.hujson" )
129+ err = h .LoadAclPolicy ("./tests/acls/acl_policy_basic_namespace_as_user.hujson" )
130130 c .Assert (err , check .IsNil )
131131
132132 rules , err := h .generateACLRules ()
@@ -142,12 +142,47 @@ func (s *Suite) TestPortNamespace(c *check.C) {
142142 c .Assert ((* rules )[0 ].SrcIPs [0 ], check .Equals , ip .String ())
143143}
144144
145- // func (s *Suite) TestRuleGeneration(c *check.C) {
146- // err := h.LoadPolicy("./tests/acls/acl_policy_1.hujson")
147- // c.Assert(err, check.IsNil)
145+ func (s * Suite ) TestPortGroup (c * check.C ) {
146+ n , err := h .CreateNamespace ("testnamespace" )
147+ c .Assert (err , check .IsNil )
148+
149+ pak , err := h .CreatePreAuthKey (n .Name , false , false , nil )
150+ c .Assert (err , check .IsNil )
151+
152+ db , err := h .db ()
153+ if err != nil {
154+ c .Fatal (err )
155+ }
156+
157+ _ , err = h .GetMachine ("testnamespace" , "testmachine" )
158+ c .Assert (err , check .NotNil )
159+ ip , _ := h .getAvailableIP ()
160+ m := Machine {
161+ ID : 0 ,
162+ MachineKey : "foo" ,
163+ NodeKey : "bar" ,
164+ DiscoKey : "faa" ,
165+ Name : "testmachine" ,
166+ NamespaceID : n .ID ,
167+ Registered : true ,
168+ RegisterMethod : "authKey" ,
169+ IPAddress : ip .String (),
170+ AuthKeyID : uint (pak .ID ),
171+ }
172+ db .Save (& m )
148173
149- // rules, err := h.generateACLRules()
150- // c.Assert(err, check.IsNil)
151- // c.Assert(rules, check.NotNil)
174+ err = h .LoadAclPolicy ("./tests/acls/acl_policy_basic_groups.hujson" )
175+ c .Assert (err , check .IsNil )
176+
177+ rules , err := h .generateACLRules ()
178+ c .Assert (err , check .IsNil )
179+ c .Assert (rules , check .NotNil )
152180
153- // }
181+ c .Assert (* rules , check .HasLen , 1 )
182+ c .Assert ((* rules )[0 ].DstPorts , check .HasLen , 1 )
183+ c .Assert ((* rules )[0 ].DstPorts [0 ].Ports .First , check .Equals , uint16 (0 ))
184+ c .Assert ((* rules )[0 ].DstPorts [0 ].Ports .Last , check .Equals , uint16 (65535 ))
185+ c .Assert ((* rules )[0 ].SrcIPs , check .HasLen , 1 )
186+ c .Assert ((* rules )[0 ].SrcIPs [0 ], check .Not (check .Equals ), "not an ip" )
187+ c .Assert ((* rules )[0 ].SrcIPs [0 ], check .Equals , ip .String ())
188+ }
0 commit comments