feature/metafeeds: Support for canteen meta feeds and index feed (#2)
* feature/metafeeds: Restructured API, splitted menu and meta feed * feature/metafeeds: add field 'key' to Canteen * feature/metafeeds: added helper function for reverse urls * feature/metafeeds: added menu feed url to meta feed * feature/metafeeds: added missing test (added: testing meta feed rendering in retrievaltest) * feature/metafeeds: added feed index page * whitespace fix * feature/metafeeds: added alias urls * feature/metafeeds: moved meta feed default url * feature/metafeeds: moved index generation to views * feature/metafeeds: inlined builder instance creation * feature/metafeeds: removed unused 'menu' parameter * feature/metafeeds: replaced 'reverse' module with Flask's url_for * feature/metafeeds: removed unused import * feature/metafeeds: removed unused function parameters * feature/metafeeds: moved menu feed url generation to views.py * feature/metafeeds: cleanup debug prints removing debug prints that should never have been committed.
This commit is contained in:
@@ -1,9 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<openmensa version="2.1" xmlns="http://openmensa.org/open-mensa-v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://openmensa.org/open-mensa-v2 http://openmensa.org/open-mensa-v2.xsd">
|
||||
<canteen>
|
||||
<name>Mensa Griebnitzsee</name>
|
||||
<address>August-Bebel-Straße 69, Haus 6</address>
|
||||
<city>14482 Potsdam</city>
|
||||
<day date="2018-09-19">
|
||||
<category name="Angebot 1">
|
||||
<meal>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<openmensa version="2.1" xmlns="http://openmensa.org/open-mensa-v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://openmensa.org/open-mensa-v2 http://openmensa.org/open-mensa-v2.xsd">
|
||||
<canteen>
|
||||
<name>Mensa Griebnitzsee</name>
|
||||
<address>August-Bebel-Straße 69, Haus 6</address>
|
||||
<city>14482 Potsdam</city>
|
||||
<feed name="full" priority="0">
|
||||
<schedule dayOfMonth="*" dayOfWeek="*" hour="8-18" minute="0" retry="30 1"/>
|
||||
<url>canteens/griebnitzsee/menu</url>
|
||||
</feed>
|
||||
</canteen>
|
||||
</openmensa>
|
||||
@@ -21,16 +21,32 @@ def _menu():
|
||||
return json.load(f)
|
||||
|
||||
|
||||
def _expected_feed():
|
||||
with io.open(_resource_path('output.xml'), encoding='utf-8') as f:
|
||||
def _expected_meta_feed():
|
||||
with io.open(_resource_path('meta_output.xml'), encoding='utf-8') as f:
|
||||
return f.read()
|
||||
|
||||
|
||||
def test_consistency():
|
||||
def _expected_menu_feed():
|
||||
with io.open(_resource_path('menu_output.xml'), encoding='utf-8') as f:
|
||||
return f.read()
|
||||
|
||||
|
||||
def test_meta_consistency():
|
||||
canteen = _canteen()
|
||||
menu = _menu()
|
||||
menu_feed_url = "canteens/{}/menu".format(canteen.key)
|
||||
|
||||
actual = feed.render_meta(canteen, menu_feed_url)
|
||||
|
||||
expected = _expected_meta_feed()
|
||||
assert expected == actual
|
||||
|
||||
|
||||
def test_menu_consistency():
|
||||
canteen = _canteen()
|
||||
menu = _menu()
|
||||
|
||||
actual = feed.render(canteen, menu)
|
||||
actual = feed.render_menu(menu)
|
||||
|
||||
expected = _expected_feed()
|
||||
expected = _expected_menu_feed()
|
||||
assert expected == actual
|
||||
|
||||
@@ -27,4 +27,5 @@ requires_online_api = pytest.mark.skipif(
|
||||
@requires_online_api
|
||||
def test_retrieval(canteen):
|
||||
menu = download_menu(MenuParams(canteen_id=canteen.id, chash=canteen.chash))
|
||||
feed.render(canteen, menu)
|
||||
feed.render_meta(canteen, menu)
|
||||
feed.render_menu(canteen, menu)
|
||||
|
||||
Reference in New Issue
Block a user