class ComputeClientRoutes(TestCase): def setUp(self): self.server = ServerThread(app) self.server.start() self.oci_config = get_oci_config() self.compute_cli = ComputeClient( config=self.oci_config["config"], service_endpoint="http://localhost:12000") self.compute_cli_composite_op = ComputeClientCompositeOperations( self.compute_cli) self.test_instance = create_instance( self.oci_config["compartment_id"], self.compute_cli_composite_op, "dummy-instance", ) def test_terminate_instance(self): response: Response = self.compute_cli.terminate_instance( self.test_instance.id) self.assertEqual(response.status, 204) sleep(5) with self.assertRaises(ServiceError) as e: self.compute_cli.get_instance(self.test_instance.id) self.assertEqual(e.exception.status, 404) def test_terminate_non_existent_instance(self): with self.assertRaises(ServiceError) as e: self.compute_cli.get_instance("non_existent_instance") self.assertEqual(e.exception.status, 404) def tearDown(self): self.server.shutdown()
def setUp(self): self.server = ServerThread(app) self.server.start() self.oci_config = get_oci_config() self.compute_cli = ComputeClient( config=self.oci_config["config"], service_endpoint="http://localhost:12000") self.compute_cli_composite_op = ComputeClientCompositeOperations( self.compute_cli) self.created_instances = []
class ComputeClientRoutes(TestCase): def setUp(self): self.server = ServerThread(app) self.server.start() self.oci_config = get_oci_config() self.compute_cli = ComputeClient( config=self.oci_config["config"], service_endpoint="http://localhost:12000") self.compute_cli_composite_op = ComputeClientCompositeOperations( self.compute_cli) self.test_instance = create_instance( self.oci_config["compartment_id"], self.compute_cli_composite_op, "dummy-instance", ) def test_list_instances_without_params(self): response: Response = self.compute_cli.list_instances( self.oci_config["compartment_id"]) self.assertEqual(response.status, 200) self.assertIsInstance(response.data, list) self.assertEqual(len(response.data), 1) def test_list_instances_with_params(self): response: Response = self.compute_cli.list_instances( self.oci_config["compartment_id"], display_name="dummy-instance") self.assertEqual(response.status, 200) self.assertIsInstance(response.data, list) self.assertEqual(len(response.data), 1) instances: List[Instance] = response.data test_instance = instances[0] self.assertEqual(test_instance.display_name, self.test_instance.display_name) response: Response = self.compute_cli.list_instances( self.oci_config["compartment_id"], display_name="oopsss") self.assertEqual(response.status, 200) self.assertIsInstance(response.data, list) self.assertEqual(len(response.data), 0) def tearDown(self): terminate_instance(self.test_instance.id, self.compute_cli) self.server.shutdown()
class ComputeClientRoutes(TestCase): def setUp(self): self.server = ServerThread(app) self.server.start() self.oci_config = get_oci_config() self.compute_cli = ComputeClient( config=self.oci_config["config"], service_endpoint="http://localhost:12000") self.compute_cli_composite_op = ComputeClientCompositeOperations( self.compute_cli) self.test_instance = create_instance( self.oci_config["compartment_id"], self.compute_cli_composite_op, "dummy-instance", ) def test_perform_action(self): response: Response = self.compute_cli.list_instances( self.oci_config["compartment_id"], display_name="dummy-instance") instances: List[Instance] = response.data test_instance = instances[0] for action in list(InstanceAction.__members__.keys()): response: Response = self.compute_cli.instance_action( test_instance.id, action=action) assert response.status == 200 assert response.data assert response.data.id == test_instance.id def test_perform_action_on_nonexistent_instance(self): with self.assertRaises(ServiceError) as e: self.compute_cli.instance_action("non_existent_instance", action="RESET") self.assertEqual(e.exception.status, 404) def test_perform_invalid_action(self): with self.assertRaises(ServiceError) as e: self.compute_cli.instance_action("dummy-instance", action="CRAZY_DUDE") self.assertEqual(e.exception.status, 404) def tearDown(self): terminate_instance(self.test_instance.id, self.compute_cli) self.server.shutdown()
class ComputeClientLaunchInstance(TestCase): def setUp(self): self.server = ServerThread(app) self.server.start() self.oci_config = get_oci_config() self.compute_cli = ComputeClient( config=self.oci_config["config"], service_endpoint="http://localhost:12000") self.compute_cli_composite_op = ComputeClientCompositeOperations( self.compute_cli) self.created_instances = [] def test_launch_instance(self): launch_instance_details = LaunchInstanceDetails( availability_domain="utiT:SA-SAOPAULO-1-AD-1", compartment_id=self.oci_config["compartment_id"], shape="VM.Standard.E3.Flex", display_name="dummy-instance", ) response: Response = ( self.compute_cli_composite_op.launch_instance_and_wait_for_state( launch_instance_details, wait_for_states=[Instance.LIFECYCLE_STATE_RUNNING], )) self.assertEqual(response.status, 200) self.assertIsInstance(response.data, Instance) instance: Instance = response.data self.created_instances.append(instance) self.assertEqual(instance.availability_domain, "utiT:SA-SAOPAULO-1-AD-1") self.assertEqual(instance.compartment_id, self.oci_config["compartment_id"]) self.assertEqual(instance.shape, "VM.Standard.E3.Flex") self.assertEqual(instance.display_name, "dummy-instance") def test_launch_instance_bad_requests(self): wrong_launch_instance_details = [ LaunchInstanceDetails( availability_domain="utiT:SA-SAOPAULO-1-AD-1", compartment_id=self.oci_config["compartment_id"], ), LaunchInstanceDetails( availability_domain="utiT:SA-SAOPAULO-1-AD-1", shape="VM.Standard.E3.Flex", ), LaunchInstanceDetails( compartment_id=self.oci_config["compartment_id"], shape="VM.Standard.E3.Flex", ), ] for launch_instance_details in wrong_launch_instance_details: with self.assertRaises(ServiceError) as e: self.compute_cli_composite_op.launch_instance_and_wait_for_state( launch_instance_details, wait_for_states=[Instance.LIFECYCLE_STATE_RUNNING], ) self.assertEqual(e.exception.status == 400) def tearDown(self): for instance in self.created_instances: terminate_instance(instance.id, self.compute_cli) self.server.shutdown()