Skip to content

Commit 8db60ef

Browse files
🗃️ [#4486] Clean up zgw_apis migrations until v2.6.7
Not squashed yet since it causes test failures in tests that are relevant for 2.7
1 parent 87d76fa commit 8db60ef

File tree

3 files changed

+6
-272
lines changed

3 files changed

+6
-272
lines changed

src/openforms/registrations/contrib/zgw_apis/migrations/0007_move_singleton_data.py

+3-54
Original file line numberDiff line numberDiff line change
@@ -3,63 +3,12 @@
33
from django.db import migrations
44

55

6-
def move_singleton_data_to_zgw_api_set_model(apps, _):
7-
ZgwConfig = apps.get_model("zgw_apis", "ZgwConfig")
8-
ZGWApiGroupConfig = apps.get_model("zgw_apis", "ZGWApiGroupConfig")
9-
10-
solo_model = ZgwConfig.objects.first()
11-
if not solo_model:
12-
return
13-
14-
new_config_set = ZGWApiGroupConfig(
15-
name="ZGW API",
16-
zrc_service=solo_model.zrc_service,
17-
drc_service=solo_model.drc_service,
18-
ztc_service=solo_model.ztc_service,
19-
zaaktype=solo_model.zaaktype,
20-
informatieobjecttype=solo_model.informatieobjecttype,
21-
organisatie_rsin=solo_model.organisatie_rsin,
22-
zaak_vertrouwelijkheidaanduiding=solo_model.zaak_vertrouwelijkheidaanduiding,
23-
doc_vertrouwelijkheidaanduiding=solo_model.doc_vertrouwelijkheidaanduiding,
24-
auteur=solo_model.auteur,
25-
)
26-
new_config_set.save()
27-
28-
29-
def reconfigure_zgw_solo_model(apps, _):
30-
ZgwConfig = apps.get_model("zgw_apis", "ZgwConfig")
31-
ZGWApiGroupConfig = apps.get_model("zgw_apis", "ZGWApiGroupConfig")
32-
33-
solo_model = ZgwConfig.objects.first()
34-
zgw_api_group = ZGWApiGroupConfig.objects.all().order_by("pk").first()
35-
36-
if not solo_model or not zgw_api_group:
37-
return
38-
39-
solo_model.zrc_service = zgw_api_group.zrc_service
40-
solo_model.drc_service = zgw_api_group.drc_service
41-
solo_model.ztc_service = zgw_api_group.ztc_service
42-
solo_model.zaaktype = zgw_api_group.zaaktype
43-
solo_model.informatieobjecttype = zgw_api_group.informatieobjecttype
44-
solo_model.organisatie_rsin = zgw_api_group.organisatie_rsin
45-
solo_model.zaak_vertrouwelijkheidaanduiding = (
46-
zgw_api_group.zaak_vertrouwelijkheidaanduiding
47-
)
48-
solo_model.doc_vertrouwelijkheidaanduiding = (
49-
zgw_api_group.doc_vertrouwelijkheidaanduiding
50-
)
51-
solo_model.auteur = zgw_api_group.auteur
52-
solo_model.save()
53-
54-
556
class Migration(migrations.Migration):
567

578
dependencies = [
589
("zgw_apis", "0006_zgwapigroupconfig"),
5910
]
6011

61-
operations = [
62-
migrations.RunPython(
63-
move_singleton_data_to_zgw_api_set_model, reconfigure_zgw_solo_model
64-
),
65-
]
12+
# RunPython operation removed as part of 2.7 release cycle, which requires 2.6.7 to
13+
# be run first.
14+
operations = []

src/openforms/registrations/contrib/zgw_apis/migrations/0009_add_default.py

+3-18
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,12 @@
33
from django.db import migrations
44

55

6-
def attach_default_zgw_group(apps, _):
7-
ZgwConfig = apps.get_model("zgw_apis", "ZgwConfig")
8-
ZGWApiGroupConfig = apps.get_model("zgw_apis", "ZGWApiGroupConfig")
9-
10-
# There should be at most one (since it was created by migration 0007_move_singleton_data). But in case that there
11-
# are multiple, we just pick one.
12-
zgw_api_group = ZGWApiGroupConfig.objects.first()
13-
if not zgw_api_group:
14-
return
15-
16-
solo_config = ZgwConfig.objects.get()
17-
solo_config.default_zgw_api_group = zgw_api_group
18-
solo_config.save()
19-
20-
216
class Migration(migrations.Migration):
227

238
dependencies = [
249
("zgw_apis", "0008_auto_20230608_1443"),
2510
]
2611

27-
operations = [
28-
migrations.RunPython(attach_default_zgw_group, migrations.RunPython.noop),
29-
]
12+
# RunPython operation removed as part of 2.7 release cycle, which requires 2.6.7 to
13+
# be run first.
14+
operations = []

src/openforms/registrations/contrib/zgw_apis/tests/test_migrations.py

-200
Original file line numberDiff line numberDiff line change
@@ -1,210 +1,10 @@
11
from django.db.migrations.state import StateApps
22

3-
from zgw_consumers.api_models.constants import VertrouwelijkheidsAanduidingen
43
from zgw_consumers.constants import APITypes
54

65
from openforms.utils.tests.test_migrations import TestMigrations
76

87

9-
class MoveExistingZGWConfigMigrationTests(TestMigrations):
10-
migrate_from = "0006_zgwapigroupconfig"
11-
migrate_to = "0007_move_singleton_data"
12-
app = "zgw_apis"
13-
14-
def setUpBeforeMigration(self, apps):
15-
ZgwConfig = apps.get_model("zgw_apis", "ZgwConfig")
16-
Service = apps.get_model("zgw_consumers", "Service")
17-
18-
zrc = Service.objects.create(
19-
label="Zaak API",
20-
api_root="http://www.example-zrc.com/api/v1/",
21-
api_type=APITypes.zrc,
22-
)
23-
drc = Service.objects.create(
24-
label="Document API",
25-
api_root="http://www.example-drc.com/api/v1/",
26-
api_type=APITypes.drc,
27-
)
28-
ztc = Service.objects.create(
29-
label="Catalogi API",
30-
api_root="http://www.example-ztc.com/api/v1/",
31-
api_type=APITypes.ztc,
32-
)
33-
34-
ZgwConfig.objects.create(
35-
zrc_service=zrc,
36-
drc_service=drc,
37-
ztc_service=ztc,
38-
zaaktype="http://www.example-ztc.com/api/v1/zaaktype/111-222-333",
39-
informatieobjecttype="http://www.example-ztc.com/api/v1/zaaktype/111-222-333",
40-
organisatie_rsin="100000009",
41-
zaak_vertrouwelijkheidaanduiding=VertrouwelijkheidsAanduidingen.openbaar,
42-
doc_vertrouwelijkheidaanduiding=VertrouwelijkheidsAanduidingen.beperkt_openbaar,
43-
auteur="testeerrr",
44-
)
45-
46-
def test_services_migrated_correctly(self):
47-
ZGWApiGroupConfig = self.apps.get_model("zgw_apis", "ZGWApiGroupConfig")
48-
49-
migrated_services = ZGWApiGroupConfig.objects.all()
50-
51-
self.assertEqual(1, migrated_services.count())
52-
53-
group = migrated_services.get()
54-
55-
self.assertEqual(group.zrc_service.label, "Zaak API")
56-
self.assertEqual(group.drc_service.label, "Document API")
57-
self.assertEqual(group.ztc_service.label, "Catalogi API")
58-
self.assertEqual(
59-
group.zaaktype, "http://www.example-ztc.com/api/v1/zaaktype/111-222-333"
60-
)
61-
self.assertEqual(
62-
group.informatieobjecttype,
63-
"http://www.example-ztc.com/api/v1/zaaktype/111-222-333",
64-
)
65-
self.assertEqual(group.organisatie_rsin, "100000009")
66-
self.assertEqual(
67-
group.zaak_vertrouwelijkheidaanduiding,
68-
VertrouwelijkheidsAanduidingen.openbaar,
69-
)
70-
self.assertEqual(
71-
group.doc_vertrouwelijkheidaanduiding,
72-
VertrouwelijkheidsAanduidingen.beperkt_openbaar,
73-
)
74-
self.assertEqual(group.auteur, "testeerrr")
75-
76-
77-
class ReconfigureSoloModelBackwardsMigrationTests(TestMigrations):
78-
migrate_to = "0006_zgwapigroupconfig"
79-
migrate_from = "0007_move_singleton_data"
80-
app = "zgw_apis"
81-
82-
def setUpBeforeMigration(self, apps):
83-
ZGWApiGroupConfig = apps.get_model("zgw_apis", "ZGWApiGroupConfig")
84-
ZgwConfig = apps.get_model("zgw_apis", "ZgwConfig")
85-
86-
ZgwConfig.objects.create()
87-
self.zgw_group1 = ZGWApiGroupConfig.objects.create(
88-
name="ZGW API 1",
89-
auteur="test 1",
90-
)
91-
self.zgw_group2 = ZGWApiGroupConfig.objects.create(
92-
name="ZGW API 2",
93-
auteur="test 2",
94-
)
95-
self.assertTrue(self.zgw_group1.pk < self.zgw_group2.pk)
96-
97-
def test_solo_reconfigured_correctly(self):
98-
ZgwConfig = self.apps.get_model("zgw_apis", "ZgwConfig")
99-
100-
solo = ZgwConfig.objects.get()
101-
102-
self.assertEqual(solo.auteur, "test 1")
103-
104-
105-
class BackwardsMigrationNoZGWGroupTests(TestMigrations):
106-
migrate_to = "0006_zgwapigroupconfig"
107-
migrate_from = "0007_move_singleton_data"
108-
app = "zgw_apis"
109-
110-
def setUpBeforeMigration(self, apps):
111-
ZgwConfig = apps.get_model("zgw_apis", "ZgwConfig")
112-
113-
ZgwConfig.objects.create()
114-
115-
def test_solo_reconfigured_correctly(self):
116-
ZgwConfig = self.apps.get_model("zgw_apis", "ZgwConfig")
117-
118-
solo = ZgwConfig.objects.get()
119-
120-
self.assertIsNone(solo.zrc_service)
121-
122-
123-
class NoZgwConfigDoesntCreateZGWApiGroupMigrationTest(TestMigrations):
124-
migrate_from = "0006_zgwapigroupconfig"
125-
migrate_to = "0007_move_singleton_data"
126-
app = "zgw_apis"
127-
128-
def setUpBeforeMigration(self, apps):
129-
ZgwConfig = apps.get_model("zgw_apis", "ZgwConfig")
130-
131-
self.assertFalse(ZgwConfig.objects.exists())
132-
133-
def test_no_zgw_api_group_created(self):
134-
ZGWApiGroupConfig = self.apps.get_model("zgw_apis", "ZGWApiGroupConfig")
135-
136-
self.assertFalse(ZGWApiGroupConfig.objects.exists())
137-
138-
139-
class AddDefaultToSoloModelTests(TestMigrations):
140-
migrate_from = "0008_auto_20230608_1443"
141-
migrate_to = "0009_add_default"
142-
app = "zgw_apis"
143-
144-
def setUpBeforeMigration(self, apps):
145-
ZGWApiGroupConfig = apps.get_model("zgw_apis", "ZGWApiGroupConfig")
146-
ZgwConfig = apps.get_model("zgw_apis", "ZgwConfig")
147-
Service = apps.get_model("zgw_consumers", "Service")
148-
149-
zrc = Service.objects.create(
150-
label="Zaak API",
151-
api_root="http://www.example-zrc.com/api/v1/",
152-
api_type=APITypes.zrc,
153-
)
154-
drc = Service.objects.create(
155-
label="Document API",
156-
api_root="http://www.example-drc.com/api/v1/",
157-
api_type=APITypes.drc,
158-
)
159-
ztc = Service.objects.create(
160-
label="Catalogi API",
161-
api_root="http://www.example-ztc.com/api/v1/",
162-
api_type=APITypes.ztc,
163-
)
164-
165-
ZgwConfig.objects.create()
166-
self.zgw_group = ZGWApiGroupConfig.objects.create(
167-
name="ZGW API",
168-
zrc_service=zrc,
169-
drc_service=drc,
170-
ztc_service=ztc,
171-
zaaktype="http://www.example-ztc.com/api/v1/zaaktype/111-222-333",
172-
informatieobjecttype="http://www.example-ztc.com/api/v1/zaaktype/111-222-333",
173-
organisatie_rsin="100000009",
174-
zaak_vertrouwelijkheidaanduiding=VertrouwelijkheidsAanduidingen.openbaar,
175-
doc_vertrouwelijkheidaanduiding=VertrouwelijkheidsAanduidingen.beperkt_openbaar,
176-
auteur="testeerrr",
177-
)
178-
179-
def test_services_migrated_correctly(self):
180-
ZgwConfig = self.apps.get_model("zgw_apis", "ZgwConfig")
181-
182-
solo = ZgwConfig.objects.get()
183-
184-
self.assertEqual(solo.default_zgw_api_group.pk, self.zgw_group.pk)
185-
186-
187-
class NoZgwGroupLeavesConfigEmptyMigrationTest(TestMigrations):
188-
migrate_from = "0008_auto_20230608_1443"
189-
migrate_to = "0009_add_default"
190-
app = "zgw_apis"
191-
192-
def setUpBeforeMigration(self, apps):
193-
ZGWApiGroupConfig = apps.get_model("zgw_apis", "ZGWApiGroupConfig")
194-
ZgwConfig = apps.get_model("zgw_apis", "ZgwConfig")
195-
196-
self.assertFalse(ZGWApiGroupConfig.objects.exists())
197-
198-
ZgwConfig.objects.create()
199-
200-
def test_no_zgw_api_group_created(self):
201-
ZgwConfig = self.apps.get_model("zgw_apis", "ZgwConfig")
202-
203-
solo = ZgwConfig.objects.get()
204-
205-
self.assertIsNone(solo.default_zgw_api_group)
206-
207-
2088
class MoveDefaultsToFormTest(TestMigrations):
2099
app = "zgw_apis"
21010
migrate_from = "0010_zgwapigroupconfig_content_json"

0 commit comments

Comments
 (0)