Projet

Général

Profil

0001-check_hobos-store-legacy-urls-61857.patch

Emmanuel Cazenave, 05 mai 2022 16:03

Télécharger (3,07 ko)

Voir les différences:

Subject: [PATCH] check_hobos: store legacy urls (#61857)

 tests/test_hobo.py     | 10 ++++++++++
 wcs/ctl/check_hobos.py |  9 +++++++++
 2 files changed, 19 insertions(+)
tests/test_hobo.py
63 63
            'title': 'Portal',
64 64
            'base_url': 'http://portal.example.net/',
65 65
            'secret_key': 'bbb',
66
            'legacy_urls': [
67
                {
68
                    'base_url': 'http://oldportal.example.net/',
69
                },
70
                {
71
                    'base_url': 'http://veryoldportal.example.net/',
72
                },
73
            ],
66 74
        },
67 75
    ],
68 76
    'profile': {
......
240 248
    assert pub.get_site_option('authentic.example.net', 'wscall-secrets') == key
241 249
    self_domain = urllib.parse.urlsplit(service.get('base_url')).netloc
242 250
    assert pub.get_site_option(self_domain, 'wscall-secrets') != '0'
251
    assert pub.get_site_option('oldportal.example.net', 'legacy-urls') == 'portal.example.net'
252
    assert pub.get_site_option('veryoldportal.example.net', 'legacy-urls') == 'portal.example.net'
243 253

  
244 254
    service['variables']['xxx'] = None
245 255
    hobo_cmd.configure_site_options(service, pub, ignore_timestamp=True)
wcs/ctl/check_hobos.py
443 443

  
444 444
        variables = {}
445 445
        api_secrets = {}
446
        legacy_urls = {}
446 447
        for service in self.all_services.get('services', []):
447 448
            service_url = service.get('base_url')
448 449
            if not service_url.endswith('/'):
......
489 490
                    variables['portal_user_url'] = service_url
490 491
                    variables['portal_user_title'] = service.get('title')
491 492
                    config.set('options', 'theme_skeleton_url', service.get('base_url') + '__skeleton__/')
493
            for legacy_url in service.get('legacy_urls', []):
494
                legacy_domain = urllib.parse.urlparse(legacy_url['base_url']).netloc.split(':')[0]
495
                legacy_urls[legacy_domain] = domain
492 496

  
493 497
        if self.all_services.get('variables'):
494 498
            for key, value in self.all_services.get('variables').items():
......
518 522
            # for now the secrets are the same whatever the direction is.
519 523
            config.set('wscall-secrets', key, value)
520 524

  
525
        if 'legacy-urls' not in config.sections() and legacy_urls:
526
            config.add_section('legacy-urls')
527
        for key, value in legacy_urls.items():
528
            config.set('legacy-urls', key, value)
529

  
521 530
        # add known services
522 531
        for service in self.all_services.get('services', []):
523 532
            if service.get('secondary'):
524
-