@@ -2,13 +2,15 @@ package server
22
33import (
44 "fmt"
5- "github.com/stretchr/testify/suite"
65 "io/ioutil"
6+ "net"
77 "net/http"
88 "net/http/httptest"
99 "net/url"
1010 "strings"
1111 "testing"
12+
13+ "github.com/stretchr/testify/suite"
1214)
1315
1416type UtilTestSuite struct {
@@ -173,3 +175,73 @@ func (s *UtilTestSuite) Test_SendDistributeRequests_ReturnsError_WhenProxyIPsAre
173175 s .Assertions .Equal (http .StatusBadRequest , actualStatus )
174176 s .Assertions .Error (err )
175177}
178+
179+ func (s * UtilTestSuite ) Test_FilterIPs_NoIps () {
180+ s .Equal ([]string {}, filterNetworkIPs ([]string {}))
181+ }
182+ func (s * UtilTestSuite ) Test_FilterIPs_NoFiltering () {
183+ interfaceAddrsOrg := interfaceAddrs
184+ defer func () {
185+ interfaceAddrs = interfaceAddrsOrg
186+ }()
187+ interfaceAddrs = func () ([]net.Addr , error ) {
188+ output := make ([]net.Addr , 2 )
189+ _ , netIP1 , _ := net .ParseCIDR ("10.0.0.1/24" )
190+ output [0 ] = netIP1
191+ _ , netIP2 , _ := net .ParseCIDR ("12.0.0.1/24" )
192+ output [1 ] = netIP2
193+ return output , nil
194+ }
195+
196+ ips := []string {
197+ "10.0.0.2" , "10.0.0.3" , "10.0.0.8" , "12.0.0.3" ,
198+ }
199+ fitlerIPs := filterNetworkIPs (ips )
200+
201+ s .Equal (fitlerIPs , ips )
202+ }
203+ func (s * UtilTestSuite ) Test_FilterIPs_FiltersEverything () {
204+
205+ interfaceAddrsOrg := interfaceAddrs
206+ defer func () {
207+ interfaceAddrs = interfaceAddrsOrg
208+ }()
209+ interfaceAddrs = func () ([]net.Addr , error ) {
210+ output := make ([]net.Addr , 2 )
211+ _ , netIP1 , _ := net .ParseCIDR ("11.0.0.1/24" )
212+ output [0 ] = netIP1
213+ _ , netIP2 , _ := net .ParseCIDR ("12.0.0.1/24" )
214+ output [1 ] = netIP2
215+ return output , nil
216+ }
217+
218+ ips := []string {
219+ "10.0.0.2" , "10.0.0.3" , "10.0.0.8" ,
220+ }
221+ fitlerIPs := filterNetworkIPs (ips )
222+
223+ s .Equal ([]string {}, fitlerIPs )
224+ }
225+
226+ func (s * UtilTestSuite ) Test_FilterIPs_FiltersHalf () {
227+
228+ interfaceAddrsOrg := interfaceAddrs
229+ defer func () {
230+ interfaceAddrs = interfaceAddrsOrg
231+ }()
232+ interfaceAddrs = func () ([]net.Addr , error ) {
233+ output := make ([]net.Addr , 2 )
234+ _ , netIP1 , _ := net .ParseCIDR ("11.0.0.1/24" )
235+ output [0 ] = netIP1
236+ _ , netIP2 , _ := net .ParseCIDR ("12.0.0.1/24" )
237+ output [1 ] = netIP2
238+ return output , nil
239+ }
240+
241+ ips := []string {
242+ "10.0.0.2" , "10.0.0.3" , "12.0.0.8" , "11.0.0.3" ,
243+ }
244+ fitlerIPs := filterNetworkIPs (ips )
245+
246+ s .Equal ([]string {"12.0.0.8" , "11.0.0.3" }, fitlerIPs )
247+ }
0 commit comments