def test_create_link_success(self):
     """
         test server create with default value and success in link
     """
     fake_ctx = self.generate_context_for_create()
     fake_client = self.generate_client()
     self.run_with_statuses(
         fake_client, fake_ctx,
         vcloud_plugin_common.TASK_STATUS_SUCCESS,
         vcloud_plugin_common.TASK_STATUS_SUCCESS,
         vcloud_plugin_common.TASK_STATUS_SUCCESS
     )
     with mock.patch(
         'vcloud_plugin_common.VcloudAirClient.get',
         mock.MagicMock(return_value=fake_client)
     ):
         # can't change vapp_name
         with self.assertRaises(cfy_exc.NonRecoverableError):
             server.create(ctx=fake_ctx)
         self.check_create_call(fake_client, fake_ctx)
         fake_client._vapp.modify_vm_name = mock.MagicMock(
             return_value=self.generate_task(
                 vcloud_plugin_common.TASK_STATUS_SUCCESS
             )
         )
         server.create(ctx=fake_ctx)
 def test_create_cant_get_vapp(self):
     """
         test server create with default value and empty vapp
     """
     # with create
     fake_ctx = self.generate_context_for_create()
     fake_client = self.generate_client()
     fake_client.get_vapp = mock.MagicMock(
         return_value=None
     )
     self.run_with_statuses(
         fake_client, fake_ctx,
         vcloud_plugin_common.TASK_STATUS_SUCCESS,
         vcloud_plugin_common.TASK_STATUS_SUCCESS,
         vcloud_plugin_common.TASK_STATUS_SUCCESS
     )
     with mock.patch(
         'vcloud_plugin_common.VcloudAirClient.get',
         mock.MagicMock(return_value=fake_client)
     ):
         with self.assertRaises(cfy_exc.NonRecoverableError):
             server.create(ctx=fake_ctx)
         self.check_create_call(fake_client, fake_ctx)
     # use external resource
     fake_ctx.node.properties['use_external_resource'] = True
     fake_ctx.node.properties['resource_id'] = 'someresource'
     with mock.patch(
         'vcloud_plugin_common.VcloudAirClient.get',
         mock.MagicMock(return_value=fake_client)
     ):
         with self.assertRaises(cfy_exc.NonRecoverableError):
             server.create(ctx=fake_ctx)
 def test_create_default_values(self):
     """
         test server create with default value and error in request
     """
     fake_ctx = self.generate_node_context(properties={
         'management_network': '_management_network',
         'vcloud_config': {
             'vdc': 'vdc_name'
         },
         'server': {
             'template': 'template',
             'catalog': 'catalog'
         }
     })
     fake_client = self.generate_client()
     with mock.patch(
         'vcloud_plugin_common.VcloudAirClient.get',
         mock.MagicMock(return_value=fake_client)
     ):
         self.run_with_statuses(
             fake_client, fake_ctx
         )
         fake_ctx.instance._relationships = None
         with self.assertRaises(cfy_exc.NonRecoverableError):
             server.create(ctx=fake_ctx)
         self.check_create_call(fake_client, fake_ctx)
    def test_create_external_resource(self):
        """
            must run without any errors
        """
        fake_ctx = self.generate_node_context(
            properties={
                'use_external_resource': True,
                'resource_id': 'ServerName',
                'vcloud_config': {
                    'vdc': 'vdc_name'
                },
            }
        )

        with mock.patch(
            'vcloud_plugin_common.VcloudAirClient',
            self.generate_vca()
        ):
            server.create(ctx=fake_ctx)
        self.assertTrue(
            server.VCLOUD_VAPP_NAME in fake_ctx.instance.runtime_properties
        )
        self.assertTrue(
            fake_ctx.instance.runtime_properties[server.VCLOUD_VAPP_NAME],
            'ServerName'
        )
 def test_create_connection_empty_task(self):
     """
         test server create with default value and empty task
         from connection
     """
     fake_ctx = self.generate_context_for_create()
     fake_client = self.generate_client()
     self.run_with_statuses(fake_client, fake_ctx,
                            vcloud_plugin_common.TASK_STATUS_SUCCESS)
     with mock.patch('vcloud_plugin_common.VcloudAirClient.get',
                     mock.MagicMock(return_value=fake_client)):
         with self.assertRaises(cfy_exc.NonRecoverableError):
             server.create(ctx=fake_ctx)
         self.check_create_call(fake_client, fake_ctx)
 def test_create_cpu_mem_values(self):
     """
         check custom cpu/memmory with error in task
     """
     fake_ctx = self.generate_node_context(
         properties={
             'management_network': '_management_network',
             'vcloud_config': {
                 'vdc': 'vdc_name'
             },
             'server': {
                 'template': 'ubuntu',
                 'catalog': 'public',
                 'hardware': {
                     'cpu': 1,
                     'memory': 512
                 }
             }
         },
         relation_node_properties={"not_test": "not_test"})
     fake_client = self.generate_client()
     self.run_with_statuses(fake_client, fake_ctx,
                            vcloud_plugin_common.TASK_STATUS_SUCCESS,
                            vcloud_plugin_common.TASK_STATUS_SUCCESS,
                            vcloud_plugin_common.TASK_STATUS_SUCCESS,
                            vcloud_plugin_common.TASK_STATUS_SUCCESS)
     with mock.patch('vcloud_plugin_common.VcloudAirClient.get',
                     mock.MagicMock(return_value=fake_client)):
         # can't customize memory
         with self.assertRaises(cfy_exc.NonRecoverableError):
             server.configure(ctx=fake_ctx)
         fake_client._vapp.modify_vm_memory.assert_called_with('test', 512)
         fake_client._vapp.modify_vm_memory = mock.MagicMock(
             return_value=self.generate_task(
                 vcloud_plugin_common.TASK_STATUS_SUCCESS))
         # can't customize cpu
         with self.assertRaises(cfy_exc.NonRecoverableError):
             server.configure(ctx=fake_ctx)
         fake_client._vapp.modify_vm_cpu.assert_called_with('test', 1)
         fake_client._vapp.modify_vm_cpu = mock.MagicMock(
             return_value=self.generate_task(
                 vcloud_plugin_common.TASK_STATUS_SUCCESS))
         fake_client._vapp.modify_vm_name = mock.MagicMock(
             return_value=self.generate_task(
                 vcloud_plugin_common.TASK_STATUS_SUCCESS))
         # everything fine
         server.create(ctx=fake_ctx)
         fake_client._vapp.modify_vm_name.assert_called_with(1, 'test')
 def test_create_link_success(self):
     """
         test server create with default value and success in link
     """
     fake_ctx = self.generate_context_for_create()
     fake_client = self.generate_client()
     self.run_with_statuses(fake_client, fake_ctx,
                            vcloud_plugin_common.TASK_STATUS_SUCCESS,
                            vcloud_plugin_common.TASK_STATUS_SUCCESS,
                            vcloud_plugin_common.TASK_STATUS_SUCCESS,
                            vcloud_plugin_common.TASK_STATUS_SUCCESS)
     with mock.patch('vcloud_plugin_common.VcloudAirClient.get',
                     mock.MagicMock(return_value=fake_client)):
         fake_client._vapp.modify_vm_name = mock.MagicMock(
             return_value=self.generate_task(
                 vcloud_plugin_common.TASK_STATUS_SUCCESS))
         server.create(ctx=fake_ctx)
 def test_create_connection_error(self):
     """
         test server create with default value and success in request
     """
     fake_ctx = self.generate_context_for_create()
     fake_client = self.generate_client()
     self.run_with_statuses(
         fake_client, fake_ctx,
         vcloud_plugin_common.TASK_STATUS_SUCCESS,
         vcloud_plugin_common.TASK_STATUS_ERROR
     )
     with mock.patch(
         'vcloud_plugin_common.VcloudAirClient.get',
         mock.MagicMock(return_value=fake_client)
     ):
         with self.assertRaises(cfy_exc.NonRecoverableError):
             server.create(ctx=fake_ctx)
         self.check_create_call(fake_client, fake_ctx)
 def test_create_cant_change_name(self):
     """
         test server create with default value and empty task
         from change name
     """
     fake_ctx = self.generate_context_for_create()
     fake_client = self.generate_client()
     self.run_with_statuses(
         fake_client, fake_ctx,
         vcloud_plugin_common.TASK_STATUS_SUCCESS
     )
     with mock.patch(
         'vcloud_plugin_common.VcloudAirClient.get',
         mock.MagicMock(return_value=fake_client)
     ):
         with self.assertRaises(cfy_exc.NonRecoverableError):
             server.create(ctx=fake_ctx)
         self.check_create_call(fake_client, fake_ctx)
 def test_create_link_success(self):
     """
         test server create with default value and success in link
     """
     fake_ctx = self.generate_context_for_create()
     fake_client = self.generate_client()
     self.run_with_statuses(fake_client, fake_ctx,
                            vcloud_plugin_common.TASK_STATUS_SUCCESS,
                            vcloud_plugin_common.TASK_STATUS_SUCCESS,
                            vcloud_plugin_common.TASK_STATUS_SUCCESS)
     with mock.patch('vcloud_plugin_common.VcloudAirClient.get',
                     mock.MagicMock(return_value=fake_client)):
         # can't change vapp_name
         with self.assertRaises(cfy_exc.NonRecoverableError):
             server.create(ctx=fake_ctx)
         self.check_create_call(fake_client, fake_ctx)
         fake_client._vapp.modify_vm_name = mock.MagicMock(
             return_value=self.generate_task(
                 vcloud_plugin_common.TASK_STATUS_SUCCESS))
         server.create(ctx=fake_ctx)
    def test_create_external_resource(self):
        """
            must run without any errors
        """
        fake_ctx = self.generate_node_context(
            properties={
                'use_external_resource': True,
                'resource_id': 'ServerName',
                'vcloud_config': {
                    'vdc': 'vdc_name'
                },
            })

        with mock.patch('vcloud_plugin_common.VcloudAirClient',
                        self.generate_vca()):
            server.create(ctx=fake_ctx)
        self.assertTrue(
            server.VCLOUD_VAPP_NAME in fake_ctx.instance.runtime_properties)
        self.assertTrue(
            fake_ctx.instance.runtime_properties[server.VCLOUD_VAPP_NAME],
            'ServerName')
 def test_create_default_values(self):
     """
         test server create with default value and error in request
     """
     fake_ctx = self.generate_node_context(
         properties={
             'management_network': '_management_network',
             'vcloud_config': {
                 'vdc': 'vdc_name'
             },
             'server': {
                 'template': 'template',
                 'catalog': 'catalog'
             }
         })
     fake_client = self.generate_client()
     with mock.patch('vcloud_plugin_common.VcloudAirClient.get',
                     mock.MagicMock(return_value=fake_client)):
         self.run_with_statuses(fake_client, fake_ctx)
         fake_ctx.instance._relationships = None
         with self.assertRaises(cfy_exc.NonRecoverableError):
             server.create(ctx=fake_ctx)
         self.check_create_call(fake_client, fake_ctx)
 def test_create_link_success(self):
     """
         test server create with default value and success in link
     """
     fake_ctx = self.generate_context_for_create()
     fake_client = self.generate_client()
     self.run_with_statuses(
         fake_client, fake_ctx,
         vcloud_plugin_common.TASK_STATUS_SUCCESS,
         vcloud_plugin_common.TASK_STATUS_SUCCESS,
         vcloud_plugin_common.TASK_STATUS_SUCCESS,
         vcloud_plugin_common.TASK_STATUS_SUCCESS
     )
     with mock.patch(
         'vcloud_plugin_common.VcloudAirClient.get',
         mock.MagicMock(return_value=fake_client)
     ):
         fake_client._vapp.modify_vm_name = mock.MagicMock(
             return_value=self.generate_task(
                 vcloud_plugin_common.TASK_STATUS_SUCCESS
             )
         )
         server.create(ctx=fake_ctx)
 def test_create_cant_get_vapp(self):
     """
         test server create with default value and empty vapp
     """
     # with create
     fake_ctx = self.generate_context_for_create()
     fake_client = self.generate_client()
     fake_client.get_vapp = mock.MagicMock(return_value=None)
     self.run_with_statuses(fake_client, fake_ctx,
                            vcloud_plugin_common.TASK_STATUS_SUCCESS,
                            vcloud_plugin_common.TASK_STATUS_SUCCESS,
                            vcloud_plugin_common.TASK_STATUS_SUCCESS)
     with mock.patch('vcloud_plugin_common.VcloudAirClient.get',
                     mock.MagicMock(return_value=fake_client)):
         with self.assertRaises(cfy_exc.NonRecoverableError):
             server.create(ctx=fake_ctx)
         self.check_create_call(fake_client, fake_ctx)
     # use external resource
     fake_ctx.node.properties['use_external_resource'] = True
     fake_ctx.node.properties['resource_id'] = 'someresource'
     with mock.patch('vcloud_plugin_common.VcloudAirClient.get',
                     mock.MagicMock(return_value=fake_client)):
         with self.assertRaises(cfy_exc.NonRecoverableError):
             server.create(ctx=fake_ctx)
    def test_create_configure_cpu_mem_values(self):
        """
            check custom cpu/memmory with error in task
        """
        # use existed vm
        fake_ctx = self.generate_node_context(
            properties={
                'management_network': '_management_network',
                'vcloud_config': {
                    'vdc': 'vdc_name'
                },
                'use_external_resource': True,
                'resource_id': 'some_server'
            },
            relation_node_properties={"not_test": "not_test"})
        fake_client = self.generate_client()
        with mock.patch('vcloud_plugin_common.VcloudAirClient.get',
                        mock.MagicMock(return_value=fake_client)):
            server.configure(ctx=fake_ctx)
        # can't get vapp
        fake_ctx = self.generate_node_context(
            properties={
                'management_network': '_management_network',
                'vcloud_config': {
                    'vdc': 'vdc_name'
                },
                'server': {
                    'template': 'ubuntu',
                    'catalog': 'public',
                    'hardware': {
                        'cpu': 1,
                        'memory': 512
                    },
                    'guest_customization': {
                        'pre_script': 'pre_script',
                        'post_script': 'post_script',
                        'admin_password': '******',
                        'computer_name': 'computer'
                    }
                }
            },
            relation_node_properties={"not_test": "not_test"})
        fake_client = self.generate_client()
        fake_client.get_vapp = mock.MagicMock(return_value=None)
        with mock.patch('vcloud_plugin_common.VcloudAirClient.get',
                        mock.MagicMock(return_value=fake_client)):
            with self.assertRaises(cfy_exc.NonRecoverableError):
                server.configure(ctx=fake_ctx)
        # create new vm
        fake_client = self.generate_client()
        self.run_with_statuses(fake_client, fake_ctx,
                               vcloud_plugin_common.TASK_STATUS_SUCCESS,
                               vcloud_plugin_common.TASK_STATUS_SUCCESS,
                               vcloud_plugin_common.TASK_STATUS_SUCCESS,
                               vcloud_plugin_common.TASK_STATUS_SUCCESS,
                               vcloud_plugin_common.TASK_STATUS_SUCCESS,
                               vcloud_plugin_common.TASK_STATUS_SUCCESS)
        with mock.patch('vcloud_plugin_common.VcloudAirClient.get',
                        mock.MagicMock(return_value=fake_client)):
            # can't customize memory
            with self.assertRaises(cfy_exc.NonRecoverableError):
                server.configure(ctx=fake_ctx)
            fake_client._vapp.modify_vm_memory.assert_called_with('test', 512)
            fake_client._vapp.modify_vm_memory = mock.MagicMock(
                return_value=self.generate_task(
                    vcloud_plugin_common.TASK_STATUS_SUCCESS))

            # can't customize cpu
            with self.assertRaises(cfy_exc.NonRecoverableError):
                server.configure(ctx=fake_ctx)
            fake_client._vapp.modify_vm_cpu.assert_called_with('test', 1)
            fake_client._vapp.modify_vm_cpu = mock.MagicMock(
                return_value=self.generate_task(
                    vcloud_plugin_common.TASK_STATUS_SUCCESS))
            fake_client._vapp.modify_vm_name = mock.MagicMock(
                return_value=self.generate_task(
                    vcloud_plugin_common.TASK_STATUS_SUCCESS))

            # need force customization, successfull customization
            fake_client._vapp.customize_on_next_poweron = mock.MagicMock(
                return_value=False)
            server.configure(ctx=fake_ctx)

            # somethin wrong with force_customization
            fake_client._vapp.force_customization = mock.MagicMock(
                return_value=None)
            with self.assertRaises(cfy_exc.NonRecoverableError):
                server.configure(ctx=fake_ctx)

            # everything fine
            fake_client._vapp.customize_on_next_poweron = mock.MagicMock(
                return_value=True)
            server.configure(ctx=fake_ctx)
            server.create(ctx=fake_ctx)
            fake_client._vapp.modify_vm_name.assert_called_with(1, 'test')

            # we dont have connected ip
            fake_client._vapp.get_vms_network_info = mock.MagicMock(
                return_value=[[{
                    'is_connected': False
                }]])
            fake_client._vapp.me.get_status = mock.MagicMock(
                return_value=vcloud_plugin_common.STATUS_POWERED_ON)
            sleep_mock = mock.MagicMock()
            with mock.patch('time.sleep', sleep_mock):
                server.configure(ctx=fake_ctx)
            sleep_mock.assert_called_with(
                vcloud_network_plugin.GATEWAY_TIMEOUT)
            # after first run we have ip
            vapp_with_network = mock.MagicMock()
            vapp_with_network.get_vms_network_info = mock.MagicMock(
                return_value=[[{
                    'is_connected': True,
                    'is_primary': True,
                    'network_name': 'network_name',
                    'ip': '1.1.1.1'
                }]])
            fake_client.get_vapp = mock.MagicMock(
                side_effect=[fake_client._vapp, vapp_with_network])
            with mock.patch('time.sleep', sleep_mock):
                server.configure(ctx=fake_ctx)
 def test_create_cpu_mem_values(self):
     """
         check custom cpu/memmory with error in task
     """
     fake_ctx = self.generate_node_context(
         properties={
             'management_network': '_management_network',
             'vcloud_config': {
                 'vdc': 'vdc_name'
             },
             'server': {
                 'template': 'ubuntu',
                 'catalog': 'public',
                 'hardware': {
                     'cpu': 1,
                     'memory': 512
                 }
             }
         },
         relation_node_properties={
             "not_test": "not_test"
         }
     )
     fake_client = self.generate_client()
     self.run_with_statuses(
         fake_client, fake_ctx,
         vcloud_plugin_common.TASK_STATUS_SUCCESS,
         vcloud_plugin_common.TASK_STATUS_SUCCESS,
         vcloud_plugin_common.TASK_STATUS_SUCCESS,
         vcloud_plugin_common.TASK_STATUS_SUCCESS
     )
     with mock.patch(
         'vcloud_plugin_common.VcloudAirClient.get',
         mock.MagicMock(return_value=fake_client)
     ):
         # can't customize memory
         with self.assertRaises(cfy_exc.NonRecoverableError):
             server.configure(ctx=fake_ctx)
         fake_client._vapp.modify_vm_memory.assert_called_with(
             'test', 512
         )
         fake_client._vapp.modify_vm_memory = mock.MagicMock(
             return_value=self.generate_task(
                 vcloud_plugin_common.TASK_STATUS_SUCCESS
             )
         )
         # can't customize cpu
         with self.assertRaises(cfy_exc.NonRecoverableError):
             server.configure(ctx=fake_ctx)
         fake_client._vapp.modify_vm_cpu.assert_called_with(
             'test', 1
         )
         fake_client._vapp.modify_vm_cpu = mock.MagicMock(
             return_value=self.generate_task(
                 vcloud_plugin_common.TASK_STATUS_SUCCESS
             )
         )
         fake_client._vapp.modify_vm_name = mock.MagicMock(
             return_value=self.generate_task(
                 vcloud_plugin_common.TASK_STATUS_SUCCESS
             )
         )
         # everything fine
         server.create(ctx=fake_ctx)
         fake_client._vapp.modify_vm_name.assert_called_with(
             1, 'test'
         )
    def test_create_configure_cpu_mem_values(self):
        """
            check custom cpu/memmory with error in task
        """
        # use existed vm
        fake_ctx = self.generate_node_context(
            properties={
                'management_network': '_management_network',
                'vcloud_config': {
                    'vdc': 'vdc_name'
                },
                'use_external_resource': True,
                'resource_id': 'some_server'
            },
            relation_node_properties={
                "not_test": "not_test"
            }
        )
        fake_client = self.generate_client()
        with mock.patch(
            'vcloud_plugin_common.VcloudAirClient.get',
            mock.MagicMock(return_value=fake_client)
        ):
            server.configure(ctx=fake_ctx)
        # can't get vapp
        fake_ctx = self.generate_node_context(
            properties={
                'management_network': '_management_network',
                'vcloud_config': {
                    'vdc': 'vdc_name'
                },
                'server': {
                    'template': 'ubuntu',
                    'catalog': 'public',
                    'hardware': {
                        'cpu': 1,
                        'memory': 512
                    },
                    'guest_customization': {
                        'pre_script': 'pre_script',
                        'post_script': 'post_script',
                        'admin_password': '******',
                        'computer_name': 'computer'
                    }
                }
            },
            relation_node_properties={
                "not_test": "not_test"
            }
        )
        fake_client = self.generate_client()
        fake_client.get_vapp = mock.MagicMock(return_value=None)
        with mock.patch(
            'vcloud_plugin_common.VcloudAirClient.get',
            mock.MagicMock(return_value=fake_client)
        ):
            with self.assertRaises(cfy_exc.NonRecoverableError):
                server.configure(ctx=fake_ctx)
        # create new vm
        fake_client = self.generate_client()
        self.run_with_statuses(
            fake_client, fake_ctx,
            vcloud_plugin_common.TASK_STATUS_SUCCESS,
            vcloud_plugin_common.TASK_STATUS_SUCCESS,
            vcloud_plugin_common.TASK_STATUS_SUCCESS,
            vcloud_plugin_common.TASK_STATUS_SUCCESS,
            vcloud_plugin_common.TASK_STATUS_SUCCESS,
            vcloud_plugin_common.TASK_STATUS_SUCCESS
        )
        with mock.patch(
            'vcloud_plugin_common.VcloudAirClient.get',
            mock.MagicMock(return_value=fake_client)
        ):
            # can't customize memory
            with self.assertRaises(cfy_exc.NonRecoverableError):
                server.configure(ctx=fake_ctx)
            fake_client._vapp.modify_vm_memory.assert_called_with(
                'test', 512
            )
            fake_client._vapp.modify_vm_memory = mock.MagicMock(
                return_value=self.generate_task(
                    vcloud_plugin_common.TASK_STATUS_SUCCESS
                )
            )

            # can't customize cpu
            with self.assertRaises(cfy_exc.NonRecoverableError):
                server.configure(ctx=fake_ctx)
            fake_client._vapp.modify_vm_cpu.assert_called_with(
                'test', 1
            )
            fake_client._vapp.modify_vm_cpu = mock.MagicMock(
                return_value=self.generate_task(
                    vcloud_plugin_common.TASK_STATUS_SUCCESS
                )
            )
            fake_client._vapp.modify_vm_name = mock.MagicMock(
                return_value=self.generate_task(
                    vcloud_plugin_common.TASK_STATUS_SUCCESS
                )
            )

            # need force customization, successfull customization
            fake_client._vapp.customize_on_next_poweron = mock.MagicMock(
                return_value=False
            )
            server.configure(ctx=fake_ctx)

            # somethin wrong with force_customization
            fake_client._vapp.force_customization = mock.MagicMock(
                return_value=None
            )
            with self.assertRaises(cfy_exc.NonRecoverableError):
                server.configure(ctx=fake_ctx)

            # everything fine
            fake_client._vapp.customize_on_next_poweron = mock.MagicMock(
                return_value=True
            )
            server.configure(ctx=fake_ctx)
            server.create(ctx=fake_ctx)
            fake_client._vapp.modify_vm_name.assert_called_with(
                1, 'test'
            )

            # we dont have connected ip
            fake_client._vapp.get_vms_network_info = mock.MagicMock(
                return_value=[[{'is_connected': False}]]
            )
            fake_client._vapp.me.get_status = mock.MagicMock(
                return_value=vcloud_plugin_common.STATUS_POWERED_ON
            )
            sleep_mock = mock.MagicMock()
            with mock.patch(
                'time.sleep',
                sleep_mock
            ):
                server.configure(ctx=fake_ctx)
            sleep_mock.assert_called_with(
                vcloud_network_plugin.GATEWAY_TIMEOUT
            )
            # after first run we have ip
            vapp_with_network = mock.MagicMock()
            vapp_with_network.get_vms_network_info = mock.MagicMock(
                return_value=[[{
                    'is_connected': True,
                    'is_primary': True,
                    'network_name': 'network_name',
                    'ip': '1.1.1.1'
                }]]
            )
            fake_client.get_vapp = mock.MagicMock(
                side_effect=[fake_client._vapp, vapp_with_network]
            )
            with mock.patch(
                'time.sleep',
                sleep_mock
            ):
                server.configure(ctx=fake_ctx)