added tests for cdx_snapshot.py at tests/test_cdx_snapshot.py
This commit is contained in:
parent
57512c65ff
commit
cd8a32ed1f
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"]
|
||||||
|
Loading…
Reference in New Issue
Block a user