Projet

Général

Profil

0005-Fix-schemas-tests-under-django-3.2-67760.patch

A. Berriot, 13 octobre 2022 15:25

Télécharger (7,63 ko)

Voir les différences:

Subject: [PATCH 5/5] Fix schemas tests under django 3.2 (#67760)

 tests_schemas/test_cook.py                | 12 ++++++------
 tests_schemas/test_rename_hobo_service.py | 10 +++++-----
 tests_schemas/test_rename_service.py      | 16 ++++++++--------
 tox.ini                                   |  4 ++--
 4 files changed, 21 insertions(+), 21 deletions(-)
tests_schemas/test_cook.py
5 5
from django.core.management.base import CommandError
6 6

  
7 7
from hobo.deploy.utils import get_hobo_json
8
from hobo.environment.models import ServiceBase
8
from hobo.environment import models as environment_models
9 9

  
10 10

  
11 11
def test_cook(db, fake_notify, monkeypatch):
12
    monkeypatch.setattr(ServiceBase, 'is_resolvable', lambda x: True)
13
    monkeypatch.setattr(ServiceBase, 'has_valid_certificate', lambda x: True)
12
    monkeypatch.setattr(environment_models, 'is_resolvable', lambda x: True)
13
    monkeypatch.setattr(environment_models, 'has_valid_certificate', lambda x: True)
14 14
    call_command('cook', 'tests_schemas/recipe.json')
15 15
    assert len(fake_notify) == 3
16 16

  
17 17

  
18 18
def test_cook_unresolvable(db, fake_notify, monkeypatch):
19
    monkeypatch.setattr(ServiceBase, 'is_resolvable', lambda x: False)
19
    monkeypatch.setattr(environment_models, 'is_resolvable', lambda x: False)
20 20
    with pytest.raises(CommandError) as e_info:
21 21
        call_command('cook', 'tests_schemas/recipe.json')
22 22
    assert 'is not resolvable' in str(e_info.value)
......
26 26
    """hobo/cook (before rabbitmq) scenario having templates.
27 27
    the resulting JSON may be helpfull to manually invoque hobo-deploy (after rabbitmq)
28 28
    """
29
    monkeypatch.setattr(ServiceBase, 'is_resolvable', lambda x: True)
30
    monkeypatch.setattr(ServiceBase, 'has_valid_certificate', lambda x: True)
29
    monkeypatch.setattr(environment_models, 'is_resolvable', lambda x: True)
30
    monkeypatch.setattr(environment_models, 'has_valid_certificate', lambda x: True)
31 31
    call_command('cook', 'tests_schemas/example_recipe.json')
32 32

  
33 33
    # notify_agents was call
tests_schemas/test_rename_hobo_service.py
5 5
from django.core.management.base import CommandError
6 6
from tenant_schemas.utils import tenant_context
7 7

  
8
from hobo.environment.models import Passerelle, ServiceBase
8
from hobo.environment import models as environment_models
9 9
from hobo.environment.utils import get_installed_services, get_or_create_local_hobo
10 10
from hobo.multitenant.middleware import TenantMiddleware, TenantNotFound
11 11

  
12 12

  
13 13
@pytest.fixture()
14 14
def hobo_tenant(db, fake_notify, monkeypatch, fake_themes):
15
    monkeypatch.setattr(ServiceBase, 'is_resolvable', lambda x: True)
16
    monkeypatch.setattr(ServiceBase, 'has_valid_certificate', lambda x: True)
15
    monkeypatch.setattr(environment_models, 'is_resolvable', lambda x: True)
16
    monkeypatch.setattr(environment_models, 'has_valid_certificate', lambda x: True)
17 17
    yield call_command('cook', 'tests_schemas/example_recipe.json')
18 18
    call_command('delete_tenant', 'hobo-instance-name.dev.signalpublik.com')
19 19

  
......
34 34

  
35 35

  
36 36
def test_rename_hobo_service_succes(db, fake_notify, monkeypatch, fake_themes):
37
    monkeypatch.setattr(ServiceBase, 'is_resolvable', lambda x: True)
38
    monkeypatch.setattr(ServiceBase, 'has_valid_certificate', lambda x: True)
37
    monkeypatch.setattr(environment_models, 'is_resolvable', lambda x: True)
38
    monkeypatch.setattr(environment_models, 'has_valid_certificate', lambda x: True)
39 39
    call_command('cook', 'tests_schemas/example_recipe.json')
40 40
    assert TenantMiddleware.get_tenant_by_hostname('hobo-instance-name.dev.signalpublik.com')
41 41
    call_command(
tests_schemas/test_rename_service.py
5 5
from django.core.management.base import CommandError
6 6
from tenant_schemas.utils import tenant_context
7 7

  
8
from hobo.environment.models import Passerelle, ServiceBase
8
from hobo.environment import models as environment_models
9 9
from hobo.environment.utils import get_installed_services
10 10
from hobo.multitenant.middleware import TenantMiddleware
11 11

  
12 12

  
13 13
@pytest.fixture()
14 14
def hobo_tenant(db, fake_notify, monkeypatch, fake_themes):
15
    monkeypatch.setattr(ServiceBase, 'is_resolvable', lambda x: True)
16
    monkeypatch.setattr(ServiceBase, 'has_valid_certificate', lambda x: True)
15
    monkeypatch.setattr(environment_models, 'is_resolvable', lambda x: True)
16
    monkeypatch.setattr(environment_models, 'has_valid_certificate', lambda x: True)
17 17
    yield call_command('cook', 'tests_schemas/example_recipe.json')
18 18
    call_command('delete_tenant', 'hobo-instance-name.dev.signalpublik.com')
19 19

  
......
35 35
    tenant = TenantMiddleware.get_tenant_by_hostname('hobo-instance-name.dev.signalpublik.com')
36 36
    with tenant_context(tenant):
37 37
        assert get_installed_services()
38
        Passerelle.objects.create(
38
        environment_models.Passerelle.objects.create(
39 39
            title='other passerelle',
40 40
            slug='other-passerelle',
41 41
            base_url='https://other-passerelle-instance-name.dev.signalpublik.com',
......
56 56
def test_rename_service_succes(hobo_tenant, monkeypatch):
57 57
    tenant = TenantMiddleware.get_tenant_by_hostname('hobo-instance-name.dev.signalpublik.com')
58 58
    with tenant_context(tenant):
59
        assert Passerelle.objects.count() == 1
60
        passerelle_service = Passerelle.objects.first()
59
        assert environment_models.Passerelle.objects.count() == 1
60
        passerelle_service = environment_models.Passerelle.objects.first()
61 61
        assert (
62 62
            passerelle_service.get_base_url_path() == 'https://passerelle-instance-name.dev.signalpublik.com/'
63 63
        )
......
69 69
            'https://passerelle-instance-name.dev.signalpublik.com/',
70 70
            'https://new-passerelle-instance-name.dev.signalpublik.com/',
71 71
        )
72
        assert Passerelle.objects.count() == 1
73
        passerelle_service = Passerelle.objects.first()
72
        assert environment_models.Passerelle.objects.count() == 1
73
        passerelle_service = environment_models.Passerelle.objects.first()
74 74
        assert (
75 75
            passerelle_service.get_base_url_path()
76 76
            == 'https://new-passerelle-instance-name.dev.signalpublik.com/'
tox.ini
35 35
	coverage: COVERAGE=--cov-report xml:coverage-{envname}.xml --cov-report html:htmlcov-{envname} --cov=hobo/ --cov-config .coveragerc 
36 36
	fast: NOMIGRATIONS=--nomigrations
37 37
deps:
38
	django22: djangorestframework>=3.9.2,<3.10
39 38
	django22: django>=2.2,<2.3
40
	django32: djangorestframework>=3.12,<3.13
41 39
	django32: django>=3.2,<3.3
40
	django22: djangorestframework>=3.9.2,<3.10
41
	django32: djangorestframework>=3.12,<3.13
42 42
	pytest!=6.0.0
43 43
	pytest-cov
44 44
	pytest-django
45
-