added tests for cdx_snapshot.py at tests/test_cdx_snapshot.py
This commit is contained in:
		
							
								
								
									
										41
									
								
								tests/test_cdx_snapshot.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								tests/test_cdx_snapshot.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,41 @@
 | 
				
			|||||||
 | 
					import pytest
 | 
				
			||||||
 | 
					from datetime import datetime
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from waybackpy.cdx_snapshot import CDXSnapshot
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def test_CDXSnapshot():
 | 
				
			||||||
 | 
					    sample_input = "org,archive)/ 20080126045828 http://github.com text/html 200 Q4YULN754FHV2U6Q5JUT6Q2P57WEWNNY 1415"
 | 
				
			||||||
 | 
					    prop_values = sample_input.split(" ")
 | 
				
			||||||
 | 
					    properties = {}
 | 
				
			||||||
 | 
					    (
 | 
				
			||||||
 | 
					        properties["urlkey"],
 | 
				
			||||||
 | 
					        properties["timestamp"],
 | 
				
			||||||
 | 
					        properties["original"],
 | 
				
			||||||
 | 
					        properties["mimetype"],
 | 
				
			||||||
 | 
					        properties["statuscode"],
 | 
				
			||||||
 | 
					        properties["digest"],
 | 
				
			||||||
 | 
					        properties["length"],
 | 
				
			||||||
 | 
					    ) = prop_values
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    snapshot = CDXSnapshot(properties)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    assert properties["urlkey"] == snapshot.urlkey
 | 
				
			||||||
 | 
					    assert properties["timestamp"] == snapshot.timestamp
 | 
				
			||||||
 | 
					    assert properties["original"] == snapshot.original
 | 
				
			||||||
 | 
					    assert properties["mimetype"] == snapshot.mimetype
 | 
				
			||||||
 | 
					    assert properties["statuscode"] == snapshot.statuscode
 | 
				
			||||||
 | 
					    assert properties["digest"] == snapshot.digest
 | 
				
			||||||
 | 
					    assert properties["length"] == snapshot.length
 | 
				
			||||||
 | 
					    assert (
 | 
				
			||||||
 | 
					        datetime.strptime(properties["timestamp"], "%Y%m%d%H%M%S")
 | 
				
			||||||
 | 
					        == snapshot.datetime_timestamp
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					    archive_url = (
 | 
				
			||||||
 | 
					        "https://web.archive.org/web/"
 | 
				
			||||||
 | 
					        + properties["timestamp"]
 | 
				
			||||||
 | 
					        + "/"
 | 
				
			||||||
 | 
					        + properties["original"]
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					    assert archive_url == snapshot.archive_url
 | 
				
			||||||
 | 
					    assert sample_input == str(snapshot)
 | 
				
			||||||
@@ -2,6 +2,14 @@ from datetime import datetime
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class CDXSnapshot:
 | 
					class CDXSnapshot:
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    Class for the CDX snapshot lines returned by the CDX API,
 | 
				
			||||||
 | 
					    Each valid line of the CDX API is casted to an CDXSnapshot object
 | 
				
			||||||
 | 
					    by the CDX API interface.
 | 
				
			||||||
 | 
					    This provides the end-user the ease of using the data as attributes
 | 
				
			||||||
 | 
					    of the CDXSnapshot.
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def __init__(self, properties):
 | 
					    def __init__(self, properties):
 | 
				
			||||||
        self.urlkey = properties["urlkey"]
 | 
					        self.urlkey = properties["urlkey"]
 | 
				
			||||||
        self.timestamp = properties["timestamp"]
 | 
					        self.timestamp = properties["timestamp"]
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user