def test_raises_if_key_not_found(self): storage = InMemoryStorage() girl = Materializer(storage=storage) try: girl.get("test") except ValueError: err = sys.exc_info()[1] expect(err).to_have_an_error_message_of( 'Key test not found in materials. Maybe you forgot to call "add_material" for this key?' ) else: assert False, "Should not have gotten this far" try: girl.is_expired("test") except ValueError: err = sys.exc_info()[1] expect(err).to_have_an_error_message_of( 'Key test not found in materials. Maybe you forgot to call "add_material" for this key?' ) else: assert False, "Should not have gotten this far" try: girl.expire("test") except ValueError: err = sys.exc_info()[1] expect(err).to_have_an_error_message_of( 'Key test not found in materials. Maybe you forgot to call "add_material" for this key?' ) else: assert False, "Should not have gotten this far"
def test_can_expire_materials(self): storage = InMemoryStorage() girl = Materializer(storage=storage) girl.add_material("test", lambda: "woot") girl.run() expect(storage.items).to_length(1) expect(storage.items["test"]).to_equal("woot") girl.expire("test") expect(girl.is_expired("test")).to_be_true() expect(storage.items).to_length(1) expect(storage.items.get("test")).to_be_null() expect(storage.items["_expired_test"]).to_equal("woot")