Skip to content

Commit bb71627

Browse files
committed
Test dumping with API version 0.1
1 parent 52a5b4e commit bb71627

31 files changed

Lines changed: 411 additions & 27 deletions

test_naucse/conftest.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,13 @@ def assert_yaml_dump(data, filename):
8282
assert data == expected
8383

8484

85-
def assert_model_dump(model, filename):
86-
assert_yaml_dump(models.dump(model, version=[0, 0]), filename)
85+
@pytest.fixture(params=((0, 0), (0, 1)))
86+
def assert_model_dump(request):
87+
version = request.param
88+
def _assert(model, filename):
89+
filename += '.v{}.{}.yaml'.format(*version)
90+
assert_yaml_dump(models.dump(model, version=version), filename)
91+
return _assert
8792

8893

8994
def add_test_course(model, slug, data):

test_naucse/fixtures/expected-dumps/complex-course.yml renamed to test_naucse/fixtures/expected-dumps/complex-course.v0.0.yaml

File renamed without changes.
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
$schema: http://dummy.test/schema/Course
2+
api_version:
3+
- 0
4+
- 1
5+
course:
6+
default_time:
7+
end: '22:00'
8+
start: 08:00
9+
description: blah
10+
end_date: '2010-10-20'
11+
lessons:
12+
test/lesson1:
13+
pages:
14+
index:
15+
attribution:
16+
- me
17+
license: cc0
18+
modules: {}
19+
solutions: []
20+
title: A page
21+
url: http://dummy.test/model/web/Page/?course_slug=courses/complex&lesson_slug=test/lesson1&page_slug=index
22+
static_files: {}
23+
url: http://dummy.test/model/web/Lesson/?course_slug=courses/complex&lesson_slug=test/lesson1
24+
test/lesson2:
25+
pages:
26+
index:
27+
attribution:
28+
- me
29+
license: cc0
30+
modules: {}
31+
solutions: []
32+
title: Another page
33+
url: http://dummy.test/model/web/Page/?course_slug=courses/complex&lesson_slug=test/lesson2&page_slug=index
34+
static_files: {}
35+
url: http://dummy.test/model/web/Lesson/?course_slug=courses/complex&lesson_slug=test/lesson2
36+
long_description: A <em>fun course!</em>
37+
place: Nivnice
38+
sessions:
39+
- materials: []
40+
pages:
41+
back:
42+
content: ''
43+
url: http://dummy.test/model/web/SessionPage/?course_slug=courses/complex&page_slug=back&session_slug=empty
44+
front:
45+
content: ''
46+
url: http://dummy.test/model/web/SessionPage/?course_slug=courses/complex&page_slug=front&session_slug=empty
47+
serial: '1'
48+
slug: empty
49+
title: Empty session
50+
url: http://dummy.test/model/web/Session/?course_slug=courses/complex&session_slug=empty
51+
- date: '2010-10-20'
52+
description: A <em>full session!</em>
53+
materials:
54+
- type: special
55+
- external_url: https://somewhere.test/
56+
type: link
57+
url: https://somewhere.test/
58+
- lesson_slug: test/lesson1
59+
type: lesson
60+
url: http://dummy.test/model/web/Lesson/?course_slug=courses/complex&lesson_slug=test/lesson1
61+
pages:
62+
back:
63+
content: ''
64+
url: http://dummy.test/model/web/SessionPage/?course_slug=courses/complex&page_slug=back&session_slug=full
65+
front:
66+
content: ''
67+
url: http://dummy.test/model/web/SessionPage/?course_slug=courses/complex&page_slug=front&session_slug=full
68+
serial: '2'
69+
slug: full
70+
time:
71+
end: '2010-10-20 10:00:00'
72+
start: '2010-10-20 09:00:00'
73+
title: Full session
74+
url: http://dummy.test/model/web/Session/?course_slug=courses/complex&session_slug=full
75+
source_file: courses/complex/info.yml
76+
start_date: '2010-10-20'
77+
subtitle: Suitable for testing only.
78+
time_description: fortnightly yesteryear
79+
title: A complex course
80+
url: http://dummy.test/model/web/Course/?course_slug=courses/complex
81+
vars:
82+
test_var: 123
File renamed without changes.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
$schema: http://dummy.test/schema/Root
2+
api_version:
3+
- 0
4+
- 1
5+
root:
6+
licenses: {}
7+
run_years: {}
8+
self_study_courses: {}

test_naucse/fixtures/expected-dumps/minimal-course.yml renamed to test_naucse/fixtures/expected-dumps/minimal-course.v0.0.yaml

File renamed without changes.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
$schema: http://dummy.test/schema/Course
2+
api_version:
3+
- 0
4+
- 1
5+
course:
6+
lessons: {}
7+
long_description: ''
8+
sessions: []
9+
source_file: courses/minimal/info.yml
10+
title: A minimal course
11+
url: http://dummy.test/model/web/Course/?course_slug=courses/minimal
12+
vars: {}

test_naucse/fixtures/expected-dumps/minimal-root.yml renamed to test_naucse/fixtures/expected-dumps/minimal-root.v0.0.yaml

File renamed without changes.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
$schema: http://dummy.test/schema/Root
2+
api_version:
3+
- 0
4+
- 1
5+
root:
6+
licenses:
7+
cc-by-sa-40:
8+
title: Creative Commons Attribution-ShareAlike 4.0 International
9+
url: https://creativecommons.org/licenses/by-sa/4.0/
10+
cc0:
11+
title: CC0 1.0 Universal Public Domain Dedication
12+
url: https://creativecommons.org/publicdomain/zero/1.0/
13+
run_years: {}
14+
self_study_courses:
15+
courses/minimal:
16+
$ref: http://dummy.test/model/api/Course/?course_slug=courses/minimal
17+
url: http://dummy.test/model/web/Root/?

test_naucse/fixtures/expected-dumps/normal-course.yaml renamed to test_naucse/fixtures/expected-dumps/normal-course.v0.0.yaml

File renamed without changes.

0 commit comments

Comments
 (0)