def test_cloudfront_entry2(cloudfront_entry2, cookie_zip_code): entry = parse_entry(cloudfront_entry2, LogType.CloudFront) assert entry == CloudFrontWebDistributionLogEntry( date=DateField(raw_value='2014-05-23'), time=TimeField(raw_value='01:13:12'), edge_location=StringField(raw_value='LAX1'), sent_bytes=IntegerField(raw_value='2390282'), client_ip=IpAddressField(raw_value='192.0.2.202'), http_method=StringField(raw_value='GET'), host=StringField(raw_value='d111111abcdef8.cloudfront.net'), uri=StringField(raw_value='/soundtrack/happy.mp3'), status_code=IntegerField(raw_value='304'), referrer=StringField(raw_value='www.unknownsingers.com'), user_agent=UserAgentField( raw_value= 'Mozilla/4.0%20(compatible;%20MSIE%207.0;%20Windows%20NT%205.1)'), uri_query=UrlQueryField(raw_value='a=b&c=d'), cookie=CookieField(raw_value='zip=98101'), edge_result_type=StringField(raw_value='Hit'), edge_request_id=StringField( raw_value='xGN7KWpVEmB9Dp7ctcVFQC4E-nrcOcEKS3QyAez--06dV7TEXAMPLE==' ), host_header=StringField(raw_value='d111111abcdef8.cloudfront.net'), protocol=StringField(raw_value='http'), received_bytes=None, time_taken=FloatField(raw_value='0.002'), forwarded_for=None, ssl_protocol=None, ssl_cipher=None, edge_response_result_type=StringField(raw_value='Hit'), protocol_version=StringField(raw_value='HTTP/1.1'), fle_encrypted_fields='', )
def test_cloudfront_entry2(cloudfront_entry2, cookie_zip_code): entry = parse_entry(cloudfront_entry2, LogType.CloudFront) assert entry == CloudFrontWebDistributionLogEntry( date=datetime.date(2014, 5, 23), time=datetime.time(1, 13, 12), edge_location='LAX1', sent_bytes=2390282, client_ip='192.0.2.202', http_method='GET', host='d111111abcdef8.cloudfront.net', uri_stream='/soundtrack/happy.mp3', status_code=304, referrer='www.unknownsingers.com', user_agent='Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)', uri_query={ 'a': ['b'], 'c': ['d'], }, cookie=cookie_zip_code, edge_result_type='Hit', edge_request_id='xGN7KWpVEmB9Dp7ctcVFQC4E-nrcOcEKS3QyAez--06dV7TEXAMPLE==', host_header='d111111abcdef8.cloudfront.net', protocol='http', received_bytes=None, time_taken=0.002, forwarded_for=None, ssl_protocol=None, ssl_chipher=None, edge_response_result_type='Hit', protocol_version='HTTP/1.1', )
def test_cloudfront_entry_broken_cookie(cloudfront_entry_broken_cookie, cookie_empty): entry = parse_entry(cloudfront_entry_broken_cookie, LogType.CloudFront) assert entry == CloudFrontWebDistributionLogEntry( date=datetime.date(2014, 5, 23), time=datetime.time(1, 13, 11), edge_location='FRA2', sent_bytes=182, client_ip='192.0.2.10', http_method='GET', host='d111111abcdef8.cloudfront.net', uri_stream='/view/my/file.html', status_code=200, referrer='www.displaymyfiles.com', user_agent='Mozilla/4.0 (compatible; MSIE 5.0b1; Mac_PowerPC)', uri_query=None, cookie=cookie_empty, edge_result_type='RefreshHit', edge_request_id='MRVMF7KydIvxMWfJIglgwHQwZsbG2IhRJ07sn9AkKUFSHS9EXAMPLE==', host_header='d111111abcdef8.cloudfront.net', protocol='http', received_bytes=None, time_taken=0.001, forwarded_for=None, ssl_protocol=None, ssl_chipher=None, edge_response_result_type='RefreshHit', protocol_version='HTTP/1.1', ) assert isinstance(entry.timestamp, datetime.datetime) is True assert entry.timestamp == datetime.datetime(2014, 5, 23, 1, 13, 11, tzinfo=datetime.timezone.utc)
def base_cloudfront_log_entry(): return CloudFrontWebDistributionLogEntry( date=datetime.date(2014, 5, 23), time=datetime.time(1, 13, 11), edge_location="FRA2", sent_bytes=182, client_ip="192.0.2.10", http_method="GET", host="d111111abcdef8.cloudfront.net", uri_stream="/view/my/file.html", status_code=200, referrer="www.displaymyfiles.com", user_agent="Mozilla/4.0 (compatible; MSIE 5.0b1; Mac_PowerPC)", uri_query=None, cookie=None, edge_result_type="RefreshHit", edge_request_id= "MRVMF7KydIvxMWfJIglgwHQwZsbG2IhRJ07sn9AkKUFSHS9EXAMPLE==", host_header="d111111abcdef8.cloudfront.net", protocol="http", received_bytes=None, time_taken=0.001, forwarded_for=None, ssl_protocol=None, ssl_chipher=None, edge_response_result_type="RefreshHit", protocol_version="HTTP/1.1", )
def test_cloudfront_entry(base_cloudfront_log_entry, cloudfront_entry, cookie_zip_code): base_cloudfront_log_entry.cookie = cookie_zip_code entry = CloudFrontWebDistributionLogEntry(**dataclasses.asdict( parse_entry(cloudfront_entry, LogType.CloudFront))) assert entry == base_cloudfront_log_entry assert isinstance(entry.timestamp, datetime.datetime) is True assert entry.timestamp == datetime.datetime(2014, 5, 23, 1, 13, 11, tzinfo=datetime.timezone.utc)
def test_cloudfront_entry_broken_cookie(cloudfront_entry_broken_cookie, cookie_empty): entry = parse_entry(cloudfront_entry_broken_cookie, LogType.CloudFront) assert entry == CloudFrontWebDistributionLogEntry( date=DateField(raw_value='2014-05-23'), time=TimeField(raw_value='01:13:11'), edge_location=StringField(raw_value='FRA2'), sent_bytes=IntegerField(raw_value='182'), client_ip=IpAddressField(raw_value='192.0.2.10'), http_method=StringField(raw_value='GET'), host=StringField(raw_value='d111111abcdef8.cloudfront.net'), uri=StringField(raw_value='/view/my/file.html'), status_code=IntegerField(raw_value='200'), referrer=StringField(raw_value='www.displaymyfiles.com'), user_agent=UserAgentField( raw_value= 'Mozilla/4.0%20(compatible;%20MSIE%205.0b1;%20Mac_PowerPC)'), uri_query=None, cookie=CookieField(raw_value='zip 98101'), edge_result_type=StringField(raw_value='RefreshHit'), edge_request_id=StringField( raw_value='MRVMF7KydIvxMWfJIglgwHQwZsbG2IhRJ07sn9AkKUFSHS9EXAMPLE==' ), host_header=StringField(raw_value='d111111abcdef8.cloudfront.net'), protocol=StringField(raw_value='http'), received_bytes=None, time_taken=FloatField(raw_value='0.001'), forwarded_for=None, ssl_protocol=None, ssl_cipher=None, edge_response_result_type=StringField(raw_value='RefreshHit'), protocol_version=StringField(raw_value='HTTP/1.1'), fle_encrypted_fields='', ) assert isinstance(entry.timestamp, datetime.datetime) is True assert entry.timestamp == datetime.datetime(2014, 5, 23, 1, 13, 11, tzinfo=datetime.timezone.utc)