Skip to content

Commit e44679b

Browse files
Update pytests
1 parent 793e5e7 commit e44679b

7 files changed

Lines changed: 45 additions & 20 deletions

tests/test_data_generator_runtime_dom.py

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,19 @@ def __init__(self):
3131
self.random_references = []
3232

3333

34-
def standard_runtime():
34+
def standard_runtime(snowfakery_version=None):
35+
options = {}
36+
if snowfakery_version is not None:
37+
options[
38+
"snowfakery.standard_plugins.SnowfakeryVersion.snowfakery_version"
39+
] = snowfakery_version
3540
output_stream = DebugOutputStream()
3641
interpreter = Interpreter(
3742
output_stream=output_stream,
3843
parent_application=SnowfakeryApplication(),
3944
parse_result=FakeParseResult(),
4045
globals=Globals(),
46+
options=options,
4147
)
4248
runtime_context = RuntimeContext(interpreter=interpreter)
4349
interpreter.current_context = runtime_context
@@ -150,15 +156,23 @@ def test_old_jinja_syntax(self):
150156
repr(definition)
151157
f = FieldFactory("field", definition, "abc.yml", 10)
152158
repr(f)
153-
x = f.generate_value(standard_runtime())
159+
x = f.generate_value(standard_runtime(snowfakery_version=2))
154160
assert x == 15
155161

156-
def test_mixed_jinja_syntax(self):
162+
def test_mixed_jinja_syntax__version_2(self):
157163
definition = SimpleValue("${{2+3}} <<5*3>>", "abc.yml", 10)
158164
repr(definition)
159165
f = FieldFactory("field", definition, "abc.yml", 10)
160166
repr(f)
161-
x = f.generate_value(standard_runtime())
167+
x = f.generate_value(standard_runtime(snowfakery_version=2))
168+
assert x == "5 <<5*3>>"
169+
170+
def test_mixed_jinja_syntax__version_3(self):
171+
definition = SimpleValue("${{2+3}} <<5*3>>", "abc.yml", 10)
172+
repr(definition)
173+
f = FieldFactory("field", definition, "abc.yml", 10)
174+
repr(f)
175+
x = f.generate_value(standard_runtime(snowfakery_version=3))
162176
assert x == "5 <<5*3>>"
163177

164178
def test_check_type(self):

tests/test_dates.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
class TestDates:
88
def test_old_dates_as_strings(self, generated_rows):
99
yaml = """
10+
- snowfakery_version: 2
1011
- object: OBJ
1112
fields:
1213
basedate: ${{datetime(year=2000, month=1, day=1)}}

tests/test_faker.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ def test_fake_two_params_flat(self, generated_rows):
7676
"""
7777
generate(StringIO(yaml), {}, None)
7878
date = row_values(generated_rows, 0, "date")
79-
assert type(date) == str, generated_rows.mock_calls
79+
assert isinstance(date, str), generated_rows.mock_calls
8080
assert len(date.split("-")) == 3, date
8181

8282
def test_fake_two_params_nested(self, generated_rows):
@@ -530,6 +530,7 @@ def test_context_aware_alernate_names(self, email, first_name, generated_rows):
530530
@mock.patch("faker.providers.internet.en_US.Provider.ascii_safe_email")
531531
def test_disable_matching(self, email, first_name, generated_rows):
532532
yaml = """
533+
- snowfakery_version: 2
533534
- object: X
534535
fields:
535536
FirstName:

tests/test_line_numbers.py

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,17 @@
55
from snowfakery.data_gen_exceptions import DataGenSyntaxError, DataGenValueError
66

77
yaml = """ #1
8-
- object: A #2
9-
count: 10 #3
10-
fields: #4
11-
A: What a wonderful life #5
12-
X: Y #6
13-
- object: B #7
14-
count: ${{expr}} #8
15-
fields: #9
16-
A: What a wonderful life #10
17-
X: Y #11
8+
- snowfakery_version: 2 #2
9+
- object: A #3
10+
count: 10 #4
11+
fields: #5
12+
A: What a wonderful life #6
13+
X: Y #7
14+
- object: B #8
15+
count: ${{expr}} #9
16+
fields: #10
17+
A: What a wonderful life #11
18+
X: Y #12
1819
"""
1920

2021
yaml_with_syntax_error = """ #1
@@ -35,16 +36,16 @@ class TestLineNumbers:
3536
def test_line_numbers(self):
3637
result = parse_recipe(StringIO(yaml))
3738
templates = result.templates
38-
assert templates[0].line_num == 2
39-
assert templates[0].fields[0].definition.line_num == 5
39+
assert templates[0].line_num == 3
40+
assert templates[0].fields[0].definition.line_num == 6
4041
line_num = templates[0].fields[1].definition.line_num
41-
assert 4 <= line_num <= 6 # anywhere in here is okay for small strings
42-
assert templates[1].count_expr.line_num == 8
42+
assert 5 <= line_num <= 7 # anywhere in here is okay for small strings
43+
assert templates[1].count_expr.line_num == 9
4344

4445
def test_value_error_reporting(self):
4546
with pytest.raises(DataGenValueError) as e:
4647
generate(StringIO(yaml), {}, None)
47-
assert str(e.value)[-2:] == ":8"
48+
assert str(e.value)[-2:] == ":9"
4849

4950
def test_syntax_error_number_reporting(self):
5051
with pytest.raises(DataGenSyntaxError) as e:

tests/test_output_streams.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ def do_output(self, yaml):
4444

4545
def test_dates(self):
4646
yaml = """
47+
- snowfakery_version: 2
4748
- object: foo
4849
fields:
4950
y2k: ${{date(year=2000, month=1, day=1)}}

tests/test_references.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -870,6 +870,7 @@ def test_random_reference__properties(self, generated_rows):
870870
def test_random_reference__weird_type_properties(self, generated_rows):
871871
# unusual types are not serialized and won't be returned
872872
yaml = """
873+
- snowfakery_version: 2
873874
- plugin: tests.test_custom_plugins_and_providers.EvalPlugin
874875
- object: Parent
875876
nickname: parent_with_counter
@@ -966,6 +967,7 @@ def test_random_reference_to_objects_with_diverse_types(self, generated_rows):
966967
# There is a risk that some weird types will not be serialized
967968
# correctly.
968969
yaml = """
970+
- snowfakery_version: 2
969971
- object: A
970972
count: 3
971973
nickname: AA

tests/test_template_funcs.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,7 @@ def test_conditional_nested(self, generated_rows):
204204

205205
def test_parse_date_from_datetime_string(self, generated_rows):
206206
yaml = """
207+
- snowfakery_version: 2
207208
- object : A
208209
fields:
209210
a: ${{date("2012-01-01T00:01")}}
@@ -213,6 +214,7 @@ def test_parse_date_from_datetime_string(self, generated_rows):
213214

214215
def test_parse_date_from_date_string(self, generated_rows):
215216
yaml = """
217+
- snowfakery_version: 2
216218
- object : A
217219
fields:
218220
a: ${{date("2012-01-01")}}
@@ -222,6 +224,7 @@ def test_parse_date_from_date_string(self, generated_rows):
222224

223225
def test_date_from_datetime(self, generated_rows):
224226
yaml = """
227+
- snowfakery_version: 2
225228
- object : A
226229
fields:
227230
a: ${{date(datetime(year=2012, month=1, day=1))}}
@@ -231,6 +234,7 @@ def test_date_from_datetime(self, generated_rows):
231234

232235
def test_now_variable(self, generated_rows):
233236
yaml = """
237+
- snowfakery_version: 2
234238
- object : A
235239
fields:
236240
a: ${{now}}
@@ -244,6 +248,7 @@ def test_now_variable(self, generated_rows):
244248
def test_now_calls_datetime_now(self, datetime):
245249
now = datetime.now = mock.Mock()
246250
yaml = """
251+
- snowfakery_version: 2
247252
- object : A
248253
fields:
249254
a: ${{now}}

0 commit comments

Comments
 (0)