misc: do not alter base_url in stored hobo.json (#21605) #832

Merged
fpeters merged 1 commits from wip/21605-keep-hobo-json-as-is into main 2023-11-24 16:15:23 +01:00
2 changed files with 6 additions and 6 deletions

View File

@ -253,8 +253,9 @@ def deploy_setup(alt_tempdir):
CompatWcsPublisher.APP_DIR = alt_tempdir
with open(os.path.join(alt_tempdir, 'hobo.json'), 'w') as fd:
hobo_json = copy.deepcopy(HOBO_JSON)
hobo_json['services'][2]['base_url'] = 'http://wcs.example.net/' # reset
del hobo_json['services'][1] # authentic
fd.write(json.dumps(HOBO_JSON))
fd.write(json.dumps(hobo_json))
Review

Il y a des tests qui modifient le HOBO_JSON global, je modifie ici pour être sûr d'avoir toujours le bon base_url.

Il y a des tests qui modifient le HOBO_JSON global, je modifie ici pour être sûr d'avoir toujours le bon base_url.
skeleton_dir = os.path.join(CompatWcsPublisher.APP_DIR, 'skeletons')
if not os.path.exists(skeleton_dir):
os.mkdir(skeleton_dir)
@ -621,6 +622,6 @@ def test_redeploy(setuptest, alt_tempdir, deploy_setup, settings):
call_command('hobo_deploy', '--redeploy')
assert deploy.call_count == 2
assert {x[1]['base_url'] for x in deploy.call_args_list} == {
'http://wcs.example.net',
'http://wcs2.example.net',
'http://wcs.example.net/',
'http://wcs2.example.net/',
Review

La conséquence du patch est qu'on a les / finaux dans les hobo.json stockés, qui sont utilisés pour le --redeploy.

La conséquence du patch est qu'on a les / finaux dans les hobo.json stockés, qui sont utilisés pour le --redeploy.
}

View File

@ -105,6 +105,7 @@ class Command(TenantCommand):
return
service['this'] = True
stored_hobo_json_content = json.dumps(self.all_services, indent=2)
Review

L'ajout de l'attribut this est conservé, pour faire comme les autres modules.

L'ajout de l'attribut this est conservé, pour faire comme les autres modules.
if base_url.endswith('/'): # wcs doesn't expect a trailing slash
service['base_url'] = base_url[:-1]
@ -172,9 +173,7 @@ class Command(TenantCommand):
self.update_profile(self.all_services.get('profile', {}), pub)
# Store hobo.json
atomic_write(
os.path.join(pub.tenant.directory, 'hobo.json'), force_bytes(json.dumps(self.all_services))
)
atomic_write(os.path.join(pub.tenant.directory, 'hobo.json'), force_bytes(stored_hobo_json_content))
Review

C'est la version sérialisée plus haut qu'on enregistre, sans avoir à se préoccuper des modifications au contenu qui peuvent avoir eu lieu.

C'est la version sérialisée plus haut qu'on enregistre, sans avoir à se préoccuper des modifications au contenu qui peuvent avoir eu lieu.
def update_configuration(self, service, pub):
if not pub.cfg.get('misc'):