@@ -106,4 +106,53 @@ describe('IP Utils', () => {
106
106
expect ( ( ) => net_utils . ip_toBuffer ( 'invalid_ip' , Buffer . alloc ( 16 ) , 0 ) ) . toThrow ( 'Invalid IP address: invalid_ip' ) ;
107
107
expect ( ( ) => net_utils . ip_toBuffer ( '10.0.0.1' ) ) . toThrow ( 'Offset is required' ) ;
108
108
} ) ;
109
+
110
+ it ( 'normalize_family should return the proper family' , ( ) => {
111
+ expect ( net_utils . normalize_family ( 4 ) ) . toBe ( 'ipv4' ) ;
112
+ expect ( net_utils . normalize_family ( 6 ) ) . toBe ( 'ipv6' ) ;
113
+ expect ( net_utils . normalize_family ( 'IPv4' ) ) . toBe ( 'ipv4' ) ;
114
+ expect ( net_utils . normalize_family ( 'IPv6' ) ) . toBe ( 'ipv6' ) ;
115
+ expect ( net_utils . normalize_family ( 'customFamily' ) ) . toBe ( 'customfamily' ) ;
116
+ expect ( net_utils . normalize_family ( undefined ) ) . toBe ( 'ipv4' ) ;
117
+ expect ( net_utils . normalize_family ( null ) ) . toBe ( 'ipv4' ) ;
118
+ } ) ;
119
+
120
+ it ( 'should return true for loopback addresses and false if not' , ( ) => {
121
+ expect ( net_utils . is_loopback ( '127.0.0.1' ) ) . toBe ( true ) ;
122
+ expect ( net_utils . is_loopback ( '127.255.255.255' ) ) . toBe ( true ) ;
123
+ expect ( net_utils . is_loopback ( '::1' ) ) . toBe ( true ) ;
124
+ expect ( net_utils . is_loopback ( '192.168.1.1' ) ) . toBe ( false ) ;
125
+ expect ( net_utils . is_loopback ( '10.0.0.1' ) ) . toBe ( false ) ;
126
+ expect ( net_utils . is_loopback ( '8.8.8.8' ) ) . toBe ( false ) ;
127
+ expect ( net_utils . is_loopback ( '2001:db8::1' ) ) . toBe ( false ) ;
128
+ } ) ;
129
+
130
+ it ( 'should return true for localhost and loopback addresses and false if not' , ( ) => {
131
+ expect ( net_utils . is_localhost ( '127.0.0.1' ) ) . toBe ( true ) ;
132
+ expect ( net_utils . is_localhost ( '::1' ) ) . toBe ( true ) ;
133
+ expect ( net_utils . is_localhost ( 'localhost' ) ) . toBe ( true ) ;
134
+ expect ( net_utils . is_localhost ( '192.168.1.1' ) ) . toBe ( false ) ;
135
+ expect ( net_utils . is_localhost ( '10.0.0.1' ) ) . toBe ( false ) ;
136
+ expect ( net_utils . is_localhost ( 'google.com' ) ) . toBe ( false ) ;
137
+ } ) ;
138
+
139
+ it ( 'should return true for private IPv4 addresses or false to any other address' , ( ) => {
140
+ expect ( net_utils . is_private ( '10.0.0.1' ) ) . toBe ( true ) ;
141
+ expect ( net_utils . is_private ( '172.16.0.1' ) ) . toBe ( true ) ;
142
+ expect ( net_utils . is_private ( '192.168.1.1' ) ) . toBe ( true ) ;
143
+ expect ( net_utils . is_private ( '8.8.8.8' ) ) . toBe ( false ) ;
144
+ expect ( net_utils . is_private ( '1.1.1.1' ) ) . toBe ( false ) ;
145
+ expect ( net_utils . is_private ( '2001:db8::1' ) ) . toBe ( false ) ;
146
+ } ) ;
147
+
148
+
149
+ it ( 'should return true for public addresses or false for private addresses' , ( ) => {
150
+ expect ( net_utils . is_public ( '10.0.0.1' ) ) . toBe ( false ) ;
151
+ expect ( net_utils . is_public ( '172.16.0.1' ) ) . toBe ( false ) ;
152
+ expect ( net_utils . is_public ( '192.168.1.1' ) ) . toBe ( false ) ;
153
+ expect ( net_utils . is_public ( '8.8.8.8' ) ) . toBe ( true ) ;
154
+ expect ( net_utils . is_public ( '1.1.1.1' ) ) . toBe ( true ) ;
155
+ expect ( net_utils . is_public ( '2001:db8::1' ) ) . toBe ( true ) ;
156
+ } ) ;
157
+
109
158
} ) ;
0 commit comments