Skip to content

Commit 4984776

Browse files
authored
Merge pull request #4429 from mashrikt/pytest_describe_remove
Remove pytest _describe
2 parents c6ee38c + 2be0d28 commit 4984776

File tree

3 files changed

+72
-73
lines changed

3 files changed

+72
-73
lines changed

readthedocs/config/tests/test_config.py

+42-42
Original file line numberDiff line numberDiff line change
@@ -295,15 +295,15 @@ def test_python_pip_install_default():
295295
assert build.python.install_with_pip is False
296296

297297

298-
def describe_validate_python_extra_requirements():
298+
class TestValidatePythonExtraRequirements(object):
299299

300-
def it_defaults_to_list():
300+
def test_it_defaults_to_list(self):
301301
build = get_build_config({'python': {}}, get_env_config())
302302
build.validate()
303303
# Default is an empty list.
304304
assert build.python.extra_requirements == []
305305

306-
def it_validates_is_a_list():
306+
def test_it_validates_is_a_list(self):
307307
build = get_build_config(
308308
{'python': {'extra_requirements': 'invalid'}},
309309
get_env_config(),
@@ -314,7 +314,7 @@ def it_validates_is_a_list():
314314
assert excinfo.value.code == PYTHON_INVALID
315315

316316
@patch('readthedocs.config.config.validate_string')
317-
def it_uses_validate_string(validate_string):
317+
def test_it_uses_validate_string(self, validate_string):
318318
validate_string.return_value = True
319319
build = get_build_config(
320320
{
@@ -329,14 +329,14 @@ def it_uses_validate_string(validate_string):
329329
validate_string.assert_any_call('tests')
330330

331331

332-
def describe_validate_use_system_site_packages():
332+
class TestValidateUseSystemSitePackages(object):
333333

334-
def it_defaults_to_false():
334+
def test_it_defaults_to_false(self):
335335
build = get_build_config({'python': {}}, get_env_config())
336336
build.validate()
337337
assert build.python.use_system_site_packages is False
338338

339-
def it_validates_value():
339+
def test_it_validates_value(self):
340340
build = get_build_config(
341341
{'python': {'use_system_site_packages': 'invalid'}},
342342
get_env_config(),
@@ -347,7 +347,7 @@ def it_validates_value():
347347
excinfo.value.code = INVALID_BOOL
348348

349349
@patch('readthedocs.config.config.validate_bool')
350-
def it_uses_validate_bool(validate_bool):
350+
def test_it_uses_validate_bool(self, validate_bool):
351351
validate_bool.return_value = True
352352
build = get_build_config(
353353
{'python': {'use_system_site_packages': 'to-validate'}},
@@ -357,14 +357,14 @@ def it_uses_validate_bool(validate_bool):
357357
validate_bool.assert_any_call('to-validate')
358358

359359

360-
def describe_validate_setup_py_install():
360+
class TestValidateSetupPyInstall(object):
361361

362-
def it_defaults_to_false():
362+
def test_it_defaults_to_false(self):
363363
build = get_build_config({'python': {}}, get_env_config())
364364
build.validate()
365365
assert build.python.install_with_setup is False
366366

367-
def it_validates_value():
367+
def test_it_validates_value(self):
368368
build = get_build_config(
369369
{'python': {'setup_py_install': 'this-is-string'}},
370370
get_env_config(),
@@ -375,7 +375,7 @@ def it_validates_value():
375375
assert excinfo.value.code == INVALID_BOOL
376376

377377
@patch('readthedocs.config.config.validate_bool')
378-
def it_uses_validate_bool(validate_bool):
378+
def test_it_uses_validate_bool(self, validate_bool):
379379
validate_bool.return_value = True
380380
build = get_build_config(
381381
{'python': {'setup_py_install': 'to-validate'}},
@@ -385,16 +385,16 @@ def it_uses_validate_bool(validate_bool):
385385
validate_bool.assert_any_call('to-validate')
386386

387387

388-
def describe_validate_python_version():
388+
class TestValidatePythonVersion(object):
389389

390-
def it_defaults_to_a_valid_version():
390+
def test_it_defaults_to_a_valid_version(self):
391391
build = get_build_config({'python': {}}, get_env_config())
392392
build.validate()
393393
assert build.python.version == 2
394394
assert build.python_interpreter == 'python2.7'
395395
assert build.python_full_version == 2.7
396396

397-
def it_supports_other_versions():
397+
def test_it_supports_other_versions(self):
398398
build = get_build_config(
399399
{'python': {'version': 3.5}},
400400
get_env_config(),
@@ -404,7 +404,7 @@ def it_supports_other_versions():
404404
assert build.python_interpreter == 'python3.5'
405405
assert build.python_full_version == 3.5
406406

407-
def it_validates_versions_out_of_range():
407+
def test_it_validates_versions_out_of_range(self):
408408
build = get_build_config(
409409
{'python': {'version': 1.0}},
410410
get_env_config(),
@@ -414,7 +414,7 @@ def it_validates_versions_out_of_range():
414414
assert excinfo.value.key == 'python.version'
415415
assert excinfo.value.code == INVALID_CHOICE
416416

417-
def it_validates_wrong_type():
417+
def test_it_validates_wrong_type(self):
418418
build = get_build_config(
419419
{'python': {'version': 'this-is-string'}},
420420
get_env_config(),
@@ -424,7 +424,7 @@ def it_validates_wrong_type():
424424
assert excinfo.value.key == 'python.version'
425425
assert excinfo.value.code == INVALID_CHOICE
426426

427-
def it_validates_wrong_type_right_value():
427+
def test_it_validates_wrong_type_right_value(self):
428428
build = get_build_config(
429429
{'python': {'version': '3.5'}},
430430
get_env_config(),
@@ -443,7 +443,7 @@ def it_validates_wrong_type_right_value():
443443
assert build.python_interpreter == 'python3.5'
444444
assert build.python_full_version == 3.5
445445

446-
def it_validates_env_supported_versions():
446+
def test_it_validates_env_supported_versions(self):
447447
build = get_build_config(
448448
{'python': {'version': 3.6}},
449449
env_config=get_env_config(
@@ -473,7 +473,7 @@ def it_validates_env_supported_versions():
473473
assert build.python_full_version == 3.6
474474

475475
@pytest.mark.parametrize('value', [2, 3])
476-
def it_respects_default_value(value):
476+
def test_it_respects_default_value(self, value):
477477
defaults = {
478478
'python_version': value,
479479
}
@@ -485,42 +485,42 @@ def it_respects_default_value(value):
485485
assert build.python.version == value
486486

487487

488-
def describe_validate_formats():
488+
class TestValidateFormats(object):
489489

490-
def it_defaults_to_empty():
490+
def test_it_defaults_to_empty(self):
491491
build = get_build_config({}, get_env_config())
492492
build.validate()
493493
assert build.formats == []
494494

495-
def it_gets_set_correctly():
495+
def test_it_gets_set_correctly(self):
496496
build = get_build_config({'formats': ['pdf']}, get_env_config())
497497
build.validate()
498498
assert build.formats == ['pdf']
499499

500-
def formats_can_be_null():
500+
def test_formats_can_be_null(self):
501501
build = get_build_config({'formats': None}, get_env_config())
502502
build.validate()
503503
assert build.formats == []
504504

505-
def formats_with_previous_none():
505+
def test_formats_with_previous_none(self):
506506
build = get_build_config({'formats': ['none']}, get_env_config())
507507
build.validate()
508508
assert build.formats == []
509509

510-
def formats_can_be_empty():
510+
def test_formats_can_be_empty(self):
511511
build = get_build_config({'formats': []}, get_env_config())
512512
build.validate()
513513
assert build.formats == []
514514

515-
def all_valid_formats():
515+
def test_all_valid_formats(self):
516516
build = get_build_config(
517517
{'formats': ['pdf', 'htmlzip', 'epub']},
518518
get_env_config()
519519
)
520520
build.validate()
521521
assert build.formats == ['pdf', 'htmlzip', 'epub']
522522

523-
def cant_have_none_as_format():
523+
def test_cant_have_none_as_format(self):
524524
build = get_build_config(
525525
{'formats': ['htmlzip', None]},
526526
get_env_config()
@@ -530,7 +530,7 @@ def cant_have_none_as_format():
530530
assert excinfo.value.key == 'format'
531531
assert excinfo.value.code == INVALID_CHOICE
532532

533-
def formats_have_only_allowed_values():
533+
def test_formats_have_only_allowed_values(self):
534534
build = get_build_config(
535535
{'formats': ['htmlzip', 'csv']},
536536
get_env_config()
@@ -540,7 +540,7 @@ def formats_have_only_allowed_values():
540540
assert excinfo.value.key == 'format'
541541
assert excinfo.value.code == INVALID_CHOICE
542542

543-
def only_list_type():
543+
def test_only_list_type(self):
544544
build = get_build_config({'formats': 'no-list'}, get_env_config())
545545
with raises(InvalidConfig) as excinfo:
546546
build.validate()
@@ -565,9 +565,9 @@ def test_valid_build_config():
565565
assert build.output_base
566566

567567

568-
def describe_validate_base():
568+
class TestValidateBase(object):
569569

570-
def it_validates_to_abspath(tmpdir):
570+
def test_it_validates_to_abspath(self, tmpdir):
571571
apply_fs(tmpdir, {'configs': minimal_config, 'docs': {}})
572572
with tmpdir.as_cwd():
573573
source_file = str(tmpdir.join('configs', 'readthedocs.yml'))
@@ -581,15 +581,15 @@ def it_validates_to_abspath(tmpdir):
581581
assert build.base == str(tmpdir.join('docs'))
582582

583583
@patch('readthedocs.config.config.validate_directory')
584-
def it_uses_validate_directory(validate_directory):
584+
def test_it_uses_validate_directory(self, validate_directory):
585585
validate_directory.return_value = 'path'
586586
build = get_build_config({'base': '../my-path'}, get_env_config())
587587
build.validate()
588588
# Test for first argument to validate_directory
589589
args, kwargs = validate_directory.call_args
590590
assert args[0] == '../my-path'
591591

592-
def it_fails_if_base_is_not_a_string(tmpdir):
592+
def test_it_fails_if_base_is_not_a_string(self, tmpdir):
593593
apply_fs(tmpdir, minimal_config)
594594
with tmpdir.as_cwd():
595595
build = BuildConfigV1(
@@ -603,7 +603,7 @@ def it_fails_if_base_is_not_a_string(tmpdir):
603603
assert excinfo.value.key == 'base'
604604
assert excinfo.value.code == INVALID_STRING
605605

606-
def it_fails_if_base_does_not_exist(tmpdir):
606+
def test_it_fails_if_base_does_not_exist(self, tmpdir):
607607
apply_fs(tmpdir, minimal_config)
608608
build = BuildConfigV1(
609609
get_env_config(),
@@ -617,9 +617,9 @@ def it_fails_if_base_does_not_exist(tmpdir):
617617
assert excinfo.value.code == INVALID_PATH
618618

619619

620-
def describe_validate_build():
620+
class TestValidateBuild(object):
621621

622-
def it_fails_if_build_is_invalid_option(tmpdir):
622+
def test_it_fails_if_build_is_invalid_option(self, tmpdir):
623623
apply_fs(tmpdir, minimal_config)
624624
build = BuildConfigV1(
625625
get_env_config(),
@@ -632,7 +632,7 @@ def it_fails_if_build_is_invalid_option(tmpdir):
632632
assert excinfo.value.key == 'build'
633633
assert excinfo.value.code == INVALID_CHOICE
634634

635-
def it_fails_on_python_validation(tmpdir):
635+
def test_it_fails_on_python_validation(self, tmpdir):
636636
apply_fs(tmpdir, minimal_config)
637637
build = BuildConfigV1(
638638
{},
@@ -649,7 +649,7 @@ def it_fails_on_python_validation(tmpdir):
649649
assert excinfo.value.key == 'python.version'
650650
assert excinfo.value.code == INVALID_CHOICE
651651

652-
def it_works_on_python_validation(tmpdir):
652+
def test_it_works_on_python_validation(self, tmpdir):
653653
apply_fs(tmpdir, minimal_config)
654654
build = BuildConfigV1(
655655
{},
@@ -663,7 +663,7 @@ def it_works_on_python_validation(tmpdir):
663663
build.validate_build()
664664
build.validate_python()
665665

666-
def it_works(tmpdir):
666+
def test_it_works(self, tmpdir):
667667
apply_fs(tmpdir, minimal_config)
668668
build = BuildConfigV1(
669669
get_env_config(),
@@ -674,7 +674,7 @@ def it_works(tmpdir):
674674
build.validate()
675675
assert build.build.image == 'readthedocs/build:latest'
676676

677-
def default(tmpdir):
677+
def test_default(self, tmpdir):
678678
apply_fs(tmpdir, minimal_config)
679679
build = BuildConfigV1(
680680
get_env_config(),
@@ -687,7 +687,7 @@ def default(tmpdir):
687687

688688
@pytest.mark.parametrize(
689689
'image', ['latest', 'readthedocs/build:3.0', 'rtd/build:latest'])
690-
def it_priorities_image_from_env_config(tmpdir, image):
690+
def test_it_priorities_image_from_env_config(self, tmpdir, image):
691691
apply_fs(tmpdir, minimal_config)
692692
defaults = {
693693
'build_image': image,

0 commit comments

Comments
 (0)