def test_resource_create(self):
        _, _ctx = self._prepare_master_node()

        mock_isfile = MagicMock(return_value=True)

        _ctx.download_resource = MagicMock(return_value="downloaded_resource")

        with patch('os.path.isfile', mock_isfile):
            with patch(
                    'cloudify_kubernetes.k8s.config.'
                    'KubernetesApiConfiguration.'
                    'get_kube_config_loader_from_file', MagicMock()):
                tasks.resource_create(client=MagicMock(),
                                      api_mapping=MagicMock(),
                                      resource_definition=MagicMock())

        self.assertEqual(
            _ctx.instance.runtime_properties, {
                'kubernetes': {
                    'body': {
                        'payload_param': 'payload_value'
                    },
                    'first': 'second'
                }
            })
    def test_resource_create_RecoverableError(self):
        _, _ctx = self._prepare_master_node()

        with self.assertRaises(RecoverableError) as error:
            tasks.resource_create(ctx=_ctx)

        self.assertEqual(
            str(error.exception),
            "Cannot initialize Kubernetes API - no suitable configuration "
            "variant found for {'blueprint_file_name': 'kubernetes.conf'} "
            "properties")
Пример #3
0
def create_resource(yaml_content_dict):
    ctx.logger.debug("Loading yaml: {}".format(yaml_content_dict))

    if yaml_content_dict.get('kind', '') == 'PersistentVolumeClaim':
        ctx.logger.debug("PersistentVolumeClaim custom handling")
        kubernetes_plugin.custom_resource_create(
            definition=yaml_content_dict,
            api_mapping=_get_persistent_volume_mapping_claim_api())
    else:
        kubernetes_plugin.resource_create(definition=yaml_content_dict)

    deployment_result.save_deployment_result('resource_{0}'.format(
        yaml_content_dict['metadata']['name']))
    def test_resource_create(self):
        _, _ctx = self._prepare_master_node()

        mock_isfile = MagicMock(return_value=True)

        _ctx.download_resource = MagicMock(return_value="downloaded_resource")

        with patch('os.path.isfile', mock_isfile):
            tasks.resource_create(ctx=_ctx)

        self.assertEqual(
            _ctx.instance.runtime_properties, {
                'kubernetes': {
                    'body': {
                        'payload_param': 'payload_value'
                    },
                    'first': 'second'
                }
            })