Exemple #1
0
def test_setup_all_custom_resources():
    with mock.patch(
            'paasta_tools.setup_kubernetes_cr.ensure_namespace',
            autospec=True,
    ), mock.patch(
            'paasta_tools.setup_kubernetes_cr.load_all_configs',
            autospec=True,
    ), mock.patch(
            'paasta_tools.setup_kubernetes_cr.setup_custom_resources',
            autospec=True,
    ) as mock_setup, mock.patch(
            'paasta_tools.setup_kubernetes_cr.load_custom_resources',
            autospec=True,
    ) as mock_load_custom_resources:
        mock_system_config = mock.Mock(get_cluster=mock.Mock(
            return_value='westeros-prod'))
        mock_load_custom_resources.return_value = [
            mock.Mock(kube_kind=mock.Mock(plural='flinkclusters',
                                          singular='FlinkCluster')),
            mock.Mock(kube_kind=mock.Mock(plural='cassandraclusters',
                                          singular='CassandraCluster')),
        ]
        mock_setup.side_effect = [True, False]

        mock_client = mock.Mock()
        flink_mock = mock.Mock()
        flink_mock.spec.names.kind = 'FlinkCluster'
        cassandra_mock = mock.Mock()
        cassandra_mock.spec.names.kind = 'CassandraCluster'
        mock_client.apiextensions.list_custom_resource_definition.return_value.items = [
            flink_mock,
            cassandra_mock,
        ]

        assert not setup_kubernetes_cr.setup_all_custom_resources(
            mock_client,
            '/nail/soa',
            mock_system_config,
        )

        mock_load_custom_resources.return_value = [
            mock.Mock(plural='flinkclusters'),
            mock.Mock(plural='cassandraclusters'),
        ]
        mock_setup.side_effect = [True, True]
        mock_system_config = mock.Mock(get_cluster=mock.Mock(
            return_value='westeros-prod'))
        assert setup_kubernetes_cr.setup_all_custom_resources(
            mock_client, '/nail/soa', mock_system_config)

        mock_load_custom_resources.return_value = []
        mock_system_config = mock.Mock(get_cluster=mock.Mock(
            return_value='westeros-prod'))
        assert setup_kubernetes_cr.setup_all_custom_resources(
            mock_client, '/nail/soa', mock_system_config)
Exemple #2
0
def test_setup_all_custom_resources():
    with mock.patch(
        "paasta_tools.setup_kubernetes_cr.ensure_namespace", autospec=True
    ), mock.patch(
        "paasta_tools.setup_kubernetes_cr.load_all_configs", autospec=True
    ), mock.patch(
        "paasta_tools.setup_kubernetes_cr.setup_custom_resources", autospec=True
    ) as mock_setup, mock.patch(
        "paasta_tools.setup_kubernetes_cr.load_custom_resource_definitions",
        autospec=True,
    ) as mock_load_custom_resources:
        mock_system_config = mock.Mock(
            get_cluster=mock.Mock(return_value="westeros-prod")
        )
        mock_setup.side_effect = [True, False]

        mock_client = mock.Mock()
        flink_crd = mock.Mock()
        flink_crd.spec.names = mock.Mock(plural="flinkclusters", kind="FlinkCluster")
        cassandra_crd = mock.Mock()
        cassandra_crd.spec.names = mock.Mock(
            plural="cassandraclusters", kind="CassandraCluster"
        )
        mock_client.apiextensions.list_custom_resource_definition.return_value = mock.Mock(
            items=[flink_crd, cassandra_crd]
        )

        custom_resource_definitions = [
            mock.Mock(
                kube_kind=mock.Mock(plural="flinkclusters", singular="FlinkCluster")
            ),
            mock.Mock(
                kube_kind=mock.Mock(
                    plural="cassandraclusters", singular="CassandraCluster"
                )
            ),
        ]

        assert not setup_kubernetes_cr.setup_all_custom_resources(
            mock_client,
            "/nail/soa",
            mock_system_config,
            custom_resource_definitions=custom_resource_definitions,
        )

        mock_load_custom_resources.return_value = [
            mock.Mock(plural="flinks"),
            mock.Mock(plural="cassandraclusters"),
        ]
        mock_setup.side_effect = [True, True]
        mock_system_config = mock.Mock(
            get_cluster=mock.Mock(return_value="westeros-prod")
        )
        assert setup_kubernetes_cr.setup_all_custom_resources(
            mock_client,
            "/nail/soa",
            mock_system_config,
            custom_resource_definitions=custom_resource_definitions,
        )

        mock_load_custom_resources.return_value = []
        mock_system_config = mock.Mock(
            get_cluster=mock.Mock(return_value="westeros-prod")
        )
        assert setup_kubernetes_cr.setup_all_custom_resources(
            mock_client, "/nail/soa", mock_system_config, custom_resource_definitions=[]
        )