def test_retries( self, v2_failure_count, v1_failure_count, expected_body, expectation, httpretty, ): v2_responses = [httpretty.Response("", status=404)] * v2_failure_count v2_responses.append(httpretty.Response(OPC_V2_METADATA)) v1_responses = [httpretty.Response("", status=404)] * v1_failure_count v1_responses.append(httpretty.Response(OPC_V1_METADATA)) httpretty.register_uri( httpretty.GET, "http://169.254.169.254/opc/v1/instance/", responses=v1_responses, ) httpretty.register_uri( httpretty.GET, "http://169.254.169.254/opc/v2/instance/", responses=v2_responses, ) with expectation: assert expected_body == oracle.read_opc_metadata().instance_data
def test_metadata_returned(self, version, setup_urls, instance_data, fetch_vnics, vnics_data, httpretty): setup_urls(httpretty) metadata = oracle.read_opc_metadata(fetch_vnics_data=fetch_vnics) assert version == metadata.version assert instance_data == metadata.instance_data assert vnics_data == metadata.vnics_data
def test_retries(self, expectation, failure_count, httpretty): responses = [httpretty.Response("", status=404)] * failure_count responses.append(httpretty.Response(OPC_V1_METADATA)) httpretty.register_uri( httpretty.GET, "http://169.254.169.254/opc/v1/instance/", responses=responses, ) expected = json.loads(OPC_V1_METADATA) with expectation: assert expected == oracle.read_opc_metadata()
def test_fetch_vnics_error(self, caplog): def mocked_fetch(*args, path="instance", **kwargs): if path == "vnics": raise UrlError("cause") with mock.patch(DS_PATH + "._fetch", side_effect=mocked_fetch): opc_metadata = oracle.read_opc_metadata(fetch_vnics_data=True) assert None is opc_metadata.vnics_data assert ( logging.WARNING, "Failed to fetch IMDS network configuration!", ) == caplog.record_tuples[-2][1:]
def test_json_decoded_value_returned(self): # read_opc_metadata should JSON decode the response and return it expected = json.loads(OPC_V1_METADATA) assert expected == oracle.read_opc_metadata()