示例#1
0
    def test_valid_annotation(self):
        assert self.processor.try_process(
            KubernetesObject({
                'apiVersion': 'v1',
                'kind': 'Service',
                'metadata': {
                    'name': 'test',
                    'namespace': 'default',
                    'annotations': {
                        'getambassador.io/config':
                        """apiVersion: getambassador.io/v1
kind: Mapping
name: test_mapping
prefix: /test/
service: test:9999""",
                    },
                },
            }))
        self.processor.finalize()
        assert len(self.manager.elements) == 1

        expected = {
            'apiVersion': 'getambassador.io/v1',
            'kind': 'Mapping',
            'name': 'test_mapping',
            'prefix': '/test/',
            'service': 'test:9999',
            'namespace': 'default',
            '_force_validation': True,
        }
        for key, value in expected.items():
            assert self.manager.elements[0].get(key) == value
示例#2
0
 def test_no_ambassador_annotation(self):
     assert self.processor.try_process(
         KubernetesObject({
             'apiVersion': 'v1',
             'kind': 'Service',
             'metadata': {
                 'name': 'test',
                 'namespace': 'default',
             },
         }))
     self.processor.finalize()
     assert len(self.manager.elements) == 0
示例#3
0
def k8s_object_from_yaml(yaml: str) -> KubernetesObject:
    return KubernetesObject(parse_yaml(yaml)[0])
示例#4
0
def k8s_object_from_yaml(yaml: str, **kwargs) -> KubernetesObject:
    return KubernetesObject(parse_yaml(yaml)[0], **kwargs)