def test_get_kubernetes_options_when_not_ok(self):
     module = MagicMock()
     k = DOKubernetes(module)
     k.rest = MagicMock()
     k.rest.get = MagicMock()
     k.rest.get.return_value.json = {"foo": "bar"}
     k.rest.get.return_value.status_code = 400
     self.assertIsNone(k.get_kubernetes_options())
    def test_create_not_ok(self):
        module = MagicMock()
        module.exit_json = MagicMock()
        module.fail_json = MagicMock()

        k = DOKubernetes(module)
        k.module = MagicMock()
        k.module.params = MagicMock()

        k.module.params.return_value = {"region": "nyc1"}

        k.get_kubernetes_options = MagicMock()

        kubernetes_options = {
            "options": {
                "regions": [{
                    "name": "New York 1",
                    "slug": "nyc1"
                }],
                "versions": [{
                    "kubernetes_version": "1.18.8",
                    "slug": "1.18.8-do.0"
                }],
                "sizes": [{
                    "name": "s-1vcpu-2gb",
                    "slug": "s-1vcpu-2gb"
                }],
            }
        }

        k.get_kubernetes_options.return_value = kubernetes_options

        k.get_kubernetes = MagicMock()
        k.get_kubernetes.return_value = {"foo": "bar"}
        k.cluster_id = MagicMock()
        k.cluster_id.return_value = 42

        k.rest = MagicMock()
        k.rest.post = MagicMock()
        k.rest.post.return_value.json = {"kubernetes_cluster": {"id": 42}}
        k.rest.post.return_value.status_code = 400
        k.ensure_running = MagicMock()
        k.cluster_id = MagicMock()
        k.module = MagicMock()

        k.create()
        k.module.exit_json.assert_called()