11import json
2+ import pytest
3+
24from datetime import datetime , timedelta
35
46from tests .responses import iris_investigate_data
@@ -15,24 +17,18 @@ def test_get_domain_age():
1517def test_get_threat_component ():
1618 threat_components = [
1719 {"name" : "threat_profile_malware" , "risk_score" : 31 },
18- {"name" : "threat_profile_spam" , "risk_score" : 73 , "threats" : ["spam" ]}
20+ {"name" : "threat_profile_spam" , "risk_score" : 73 , "threats" : ["spam" ]},
1921 ]
2022 result = utils .get_threat_component (threat_components , "threat_profile_malware" )
2123 assert result .get ("risk_score" ) == 31
2224
2325
2426def test_investigate_average_risk_score ():
25- domains = [
26- {"domain_risk" : {"risk_score" : 25 }},
27- {"domain_risk" : {"risk_score" : 27 }}
28- ]
27+ domains = [{"domain_risk" : {"risk_score" : 25 }}, {"domain_risk" : {"risk_score" : 27 }}]
2928 result = utils .get_average_risk_score (domains )
3029 assert result == 26
3130
32- domains = [
33- {"domain_risk" : {"risk_score" : 25 }},
34- {}
35- ]
31+ domains = [{"domain_risk" : {"risk_score" : 25 }}, {}]
3632 result = utils .get_average_risk_score (domains )
3733 assert result == 25
3834
@@ -42,17 +38,11 @@ def test_investigate_average_risk_score():
4238
4339
4440def test_detect_average_risk_score ():
45- domains = [
46- {"risk_score" : 25 },
47- {"risk_score" : 27 }
48- ]
41+ domains = [{"risk_score" : 25 }, {"risk_score" : 27 }]
4942 result = utils .get_average_risk_score (domains )
5043 assert result == 26
5144
52- domains = [
53- {"risk_score" : 25 },
54- {"risk_score" : None }
55- ]
45+ domains = [{"risk_score" : 25 }, {"risk_score" : None }]
5646 result = utils .get_average_risk_score (domains )
5747 assert result == 25
5848
@@ -65,24 +55,15 @@ def test_investigate_average_age():
6555 two_days_ago = (datetime .now () - timedelta (days = 2 )).strftime ("%Y-%m-%d" )
6656 five_days_ago = (datetime .now () - timedelta (days = 5 )).strftime ("%Y-%m-%d" )
6757
68- domains = [
69- {"create_date" : {"value" : two_days_ago }},
70- {"create_date" : {"value" : five_days_ago }}
71- ]
58+ domains = [{"create_date" : {"value" : two_days_ago }}, {"create_date" : {"value" : five_days_ago }}]
7259 result = utils .get_average_age (domains )
7360 assert result == 3
7461
75- domains = [
76- {"create_date" : {"value" : two_days_ago }},
77- {}
78- ]
62+ domains = [{"create_date" : {"value" : two_days_ago }}, {}]
7963 result = utils .get_average_age (domains )
8064 assert result == 2
8165
82- domains = [
83- {"create_date" : {"value" : two_days_ago }},
84- {"create_date" : {"value" : "" }}
85- ]
66+ domains = [{"create_date" : {"value" : two_days_ago }}, {"create_date" : {"value" : "" }}]
8667 result = utils .get_average_age (domains )
8768 assert result == 2
8869
@@ -94,17 +75,11 @@ def test_investigate_average_age():
9475def test_detect_average_age ():
9576 two_days_ago = int ((datetime .now () - timedelta (days = 2 )).strftime ("%Y%m%d" ))
9677 five_days_ago = int ((datetime .now () - timedelta (days = 5 )).strftime ("%Y%m%d" ))
97- domains = [
98- {"create_date" : two_days_ago },
99- {"create_date" : five_days_ago }
100- ]
78+ domains = [{"create_date" : two_days_ago }, {"create_date" : five_days_ago }]
10179 result = utils .get_average_age (domains )
10280 assert result == 3
10381
104- domains = [
105- {"create_date" : two_days_ago },
106- {"create_date" : None }
107- ]
82+ domains = [{"create_date" : two_days_ago }, {"create_date" : None }]
10883 result = utils .get_average_age (domains )
10984 assert result == 2
11085
@@ -121,26 +96,51 @@ def test_data_prune():
12196
12297def test_find_emails ():
12398 emails = utils .find_emails (json .dumps (iris_investigate_data .domaintools ()))
124- 99+ 125100
126101
127102def test_find_ips ():
128103 ips = utils .find_ips (json .dumps (iris_investigate_data .domaintools ()))
129- assert ips == {'142.250.115.26' ,
130- '142.250.141.27' ,
131- '198.51.44.4' ,
132- '198.51.44.68' ,
133- '198.51.45.4' ,
134- '198.51.45.68' ,
135- '199.30.228.112' ,
136- '64.233.171.26' ,
137- '74.125.142.26' }
104+ assert ips == {
105+ "142.250.115.26" ,
106+ "142.250.141.27" ,
107+ "198.51.44.4" ,
108+ "198.51.44.68" ,
109+ "198.51.45.4" ,
110+ "198.51.45.68" ,
111+ "199.30.228.112" ,
112+ "64.233.171.26" ,
113+ "74.125.142.26" ,
114+ }
115+
138116
139117def test_get_pivots ():
140118 pivots = utils .get_pivots (iris_investigate_data .domaintools ().get ("results" ), "" )
141- assert pivots == [
142- ['IP ADDRESS' , ('199.30.228.112' , 4 )],
143- ['IP ASN' , (17318 , 111 )],
144- ['IP ISP' , ('DomainTools LLC' , 222 )]
145- ]
119+ assert pivots == [["IP ADDRESS" , ("199.30.228.112" , 4 )], ["IP ASN" , (17318 , 111 )], ["IP ISP" , ("DomainTools LLC" , 222 )]]
120+
121+
122+ def test_validate_feeds_parameters_should_raise_error_if_download_api_using_header_auth (test_feeds_params ):
123+ test_feeds_params ["output_format" ] = "jsonl"
124+
125+ with pytest .raises (ValueError ) as excinfo :
126+ utils .validate_feeds_parameters (test_feeds_params )
127+
128+ assert str (excinfo .value ) == "download API does not support header authentication. Provide api_key in the parameter"
129+
130+
131+ def test_validate_feeds_parameters_should_raise_error_if_no_required_params (test_feeds_params ):
132+ test_feeds_params .pop ("sessionID" , None )
133+ test_feeds_params .pop ("after" , None )
134+ test_feeds_params .pop ("before" , None )
135+
136+ with pytest .raises (ValueError ) as excinfo :
137+ utils .validate_feeds_parameters (test_feeds_params )
138+
139+ assert str (excinfo .value ) == "sessionID or after or before must be provided"
140+
141+
142+ def test_validate_feeds_parameters_should_raise_error_if_asked_csv_format_for_download_api (test_feeds_params ):
143+ with pytest .raises (ValueError ) as excinfo :
144+ utils .validate_feeds_parameters (test_feeds_params )
146145
146+ assert str (excinfo .value ) == "csv format is not available in download API."
0 commit comments