def test_refreshShowIndex(): latest = ShowScrape.parseShowIndexPage(ShowScrape.fetchPage(ShowScrape.INDEX_URL)) assert len(latest["shows"]) > 0 span = 3 until = int(latest["shows"][0]["number"]) - span num_shows_processed = ShowScrape.refreshShowIndex(until=until) assert num_shows_processed == span
def test_parseIndexPage(): f = open(INDEX_HTML, "r") meta = ShowScrape.parseShowIndexPage(f.read()) assert type(meta) == DictType assert meta.has_key("shows") assert meta.has_key("newest") assert meta.has_key("oldest") ## data integrity assert type(meta["shows"]) == ListType assert len(meta["shows"]) > 0 for s in meta["shows"]: assert int(s["number"]) <= int(meta["newest"]["number"]) for s in meta["shows"]: assert int(s["number"]) >= int(meta["oldest"]["number"]) ## individual show attrs str_attrs = ("name", "href", "number") for show in meta["shows"]: for attr in str_attrs: assert show.has_key(attr) if type(show[attr]) == StringType: assert len(show[attr]) > 0