1+ using EvlWatcher . SystemAPI ;
2+ using Microsoft . VisualStudio . TestTools . UnitTesting ;
3+
4+ namespace EvlWatcher . Tests . Integration
5+ {
6+ [ TestClass ]
7+ public class FirewallApiTests
8+ {
9+ [ TestMethod ]
10+ public void GetBannedIPs ( )
11+ {
12+ //given we have a firewall API
13+ var api = new FirewallAPI ( ) ;
14+
15+ //when we get the bannes IPs, we want a result
16+ var ips = api . GetBannedIPs ( ) ;
17+
18+ Assert . IsNotNull ( ips ) ;
19+ }
20+
21+ [ TestMethod ]
22+ public void AddV4IP ( )
23+ {
24+ //given we have a firewall API, and an empty rule
25+ var api = new FirewallAPI ( ) ;
26+ var list = new System . Collections . Generic . List < System . Net . IPAddress > ( ) ;
27+ api . AdjustIPBanList ( list ) ;
28+ var ips = api . GetBannedIPs ( ) ;
29+ Assert . IsNotNull ( ips ) ;
30+ Assert . IsTrue ( ips . Count == 0 ) ;
31+
32+ //when we add a some ipv4 addresses
33+ list . Add ( System . Net . IPAddress . Parse ( "192.192.182.15" ) ) ;
34+ list . Add ( System . Net . IPAddress . Parse ( "192.192.182.16" ) ) ;
35+ list . Add ( System . Net . IPAddress . Parse ( "192.192.182.21" ) ) ;
36+ api . AdjustIPBanList ( list ) ;
37+
38+ //then we want that address to be in there
39+ ips = api . GetBannedIPs ( ) ;
40+ Assert . IsTrue ( ips . Contains ( "192.192.182.15/255.255.255.255" ) ) ;
41+ Assert . IsTrue ( ips . Contains ( "192.192.182.16/255.255.255.255" ) ) ;
42+ Assert . IsTrue ( ips . Contains ( "192.192.182.21/255.255.255.255" ) ) ;
43+
44+
45+ }
46+
47+ [ TestMethod ]
48+ public void AddV6IP ( )
49+ {
50+ //given we have a firewall API, and an empty rule
51+ var api = new FirewallAPI ( ) ;
52+ var list = new System . Collections . Generic . List < System . Net . IPAddress > ( ) ;
53+ api . AdjustIPBanList ( list ) ;
54+ var ips = api . GetBannedIPs ( ) ;
55+ Assert . IsNotNull ( ips ) ;
56+ Assert . IsTrue ( ips . Count == 0 ) ;
57+
58+ //when we add a some ipv6 addresses
59+ list . Add ( System . Net . IPAddress . Parse ( "48a2:ca86:e35:977c:d2dc:1276:1754:f5e6" ) ) ;
60+ list . Add ( System . Net . IPAddress . Parse ( "2b9c:5213:2df6:9866:5073:45c4:291:d82f" ) ) ;
61+ list . Add ( System . Net . IPAddress . Parse ( "692d:22df:cd31:d65b:ba37:ba83:fc5b:3d40" ) ) ;
62+ api . AdjustIPBanList ( list ) ;
63+
64+ //then we want that address to be in there
65+ ips = api . GetBannedIPs ( ) ;
66+ Assert . IsTrue ( ips . Contains ( "48a2:ca86:e35:977c:d2dc:1276:1754:f5e6" ) ) ;
67+ Assert . IsTrue ( ips . Contains ( "2b9c:5213:2df6:9866:5073:45c4:291:d82f" ) ) ;
68+ Assert . IsTrue ( ips . Contains ( "692d:22df:cd31:d65b:ba37:ba83:fc5b:3d40" ) ) ;
69+
70+
71+ }
72+
73+ [ TestMethod ]
74+ public void AddCombinedV4V6 ( )
75+ {
76+ //given we have a firewall API, and an empty rule
77+ var api = new FirewallAPI ( ) ;
78+ var list = new System . Collections . Generic . List < System . Net . IPAddress > ( ) ;
79+ api . AdjustIPBanList ( list ) ;
80+ var ips = api . GetBannedIPs ( ) ;
81+ Assert . IsNotNull ( ips ) ;
82+ Assert . IsTrue ( ips . Count == 0 ) ;
83+
84+ //when we add a some ipv6 addresses
85+ list . Add ( System . Net . IPAddress . Parse ( "48a2:ca86:e35:977c:d2dc:1276:1754:f5e6" ) ) ;
86+ list . Add ( System . Net . IPAddress . Parse ( "192.192.182.15" ) ) ;
87+ list . Add ( System . Net . IPAddress . Parse ( "192.192.182.16" ) ) ;
88+ list . Add ( System . Net . IPAddress . Parse ( "2b9c:5213:2df6:9866:5073:45c4:291:d82f" ) ) ;
89+ list . Add ( System . Net . IPAddress . Parse ( "192.192.182.21" ) ) ;
90+ list . Add ( System . Net . IPAddress . Parse ( "692d:22df:cd31:d65b:ba37:ba83:fc5b:3d40" ) ) ;
91+
92+ api . AdjustIPBanList ( list ) ;
93+
94+ //then we want that address to be in there
95+ ips = api . GetBannedIPs ( ) ;
96+ Assert . IsTrue ( ips . Contains ( "48a2:ca86:e35:977c:d2dc:1276:1754:f5e6" ) ) ;
97+ Assert . IsTrue ( ips . Contains ( "2b9c:5213:2df6:9866:5073:45c4:291:d82f" ) ) ;
98+ Assert . IsTrue ( ips . Contains ( "692d:22df:cd31:d65b:ba37:ba83:fc5b:3d40" ) ) ;
99+ Assert . IsTrue ( ips . Contains ( "192.192.182.15/255.255.255.255" ) ) ;
100+ Assert . IsTrue ( ips . Contains ( "192.192.182.16/255.255.255.255" ) ) ;
101+ Assert . IsTrue ( ips . Contains ( "192.192.182.21/255.255.255.255" ) ) ;
102+
103+
104+ }
105+
106+ }
107+ }
0 commit comments