def publish_flavor_xml_test(app, flavor_id): content_type = XML_MIMETYPE accept = XML_MIMETYPE request_body = util.load_xml_example_as_string("flavor_publication_bad_request.xml") response = app.put( "/v1/flavors/{0}".format(flavor_id), data=request_body, content_type=content_type, headers={"accept": accept}, follow_redirects=True, ) assert response.status_code == 400 request_body = util.load_xml_example_as_string("flavor_publication_request.xml") response = app.put( "/v1/flavors/idontexist".format(flavor_id), data=request_body, content_type=content_type, headers={"accept": accept}, follow_redirects=True, ) assert response.status_code == 404 response = app.put( "/v1/flavors/{0}".format(flavor_id), data=request_body, content_type=content_type, headers={"accept": accept}, follow_redirects=True, ) assert response.status_code == 200 response_body = response.data.decode("utf-8") validator_factory = factory_selector.get_factory(accept) validator = validator_factory.create_flavor_validator() try: validator.validate(response_body) assert True except ValidationError: assert False request_body = util.load_xml_example_as_string("flavor_unpublication_request.xml") response = app.put( "/v1/flavors/{0}".format(flavor_id), data=request_body, content_type=content_type, headers={"accept": accept}, follow_redirects=True, ) assert response.status_code == 409
def install_flavor_xml_test(app): content_type = XML_MIMETYPE accept = XML_MIMETYPE fake_flavor_id = _create_fake_infrastructure_and_flavor() request_body = util.load_xml_example_as_string("flavor_installation_request.xml") response = app.put( "/v1/flavors/{0}".format(fake_flavor_id), data=request_body, content_type=content_type, headers={"accept": accept}, follow_redirects=True, ) assert response.status_code == 200 response_body = response.data.decode("utf-8") validator_factory = factory_selector.get_factory(accept) validator = validator_factory.create_flavor_validator() try: validator.validate(response_body) assert True except ValidationError: assert False return fake_flavor_id
def validate_xml_infrastructure_payload(self): payload = util.load_xml_example_as_string("infrastructure_response.xml") payload = util.remove_xml_header(payload) payload = util.remove_non_usable_characters(payload) factory = factory_selector.get_factory(util.XML_MIMETYPE) validator = factory.create_infrastructure_validator() _validate_payload(payload, validator, XMLSyntaxError)
def validate_xml_flavor_publication_payload(self): payload = util.load_xml_example_as_string("flavor_publication_request.xml") payload = util.remove_xml_header(payload) payload = util.remove_non_usable_characters(payload) factory = factory_selector.get_factory(util.XML_MIMETYPE) validator = factory.create_flavor_modification_request_validator() _validate_payload(payload, validator, XMLSyntaxError)
def register_new_infrastucture_xml_test(app): content_type = XML_MIMETYPE accept = XML_MIMETYPE request_body = util.load_xml_example_as_string("infrastructure_bad_request.xml") response = app.post( "/v1/infrastructures", data=request_body, content_type=content_type, headers={"accept": accept}, follow_redirects=True, ) assert response.status_code == 400 request_body = util.load_xml_example_as_string("infrastructure_request.xml") response = app.post( "/v1/infrastructures", data=request_body, content_type=content_type, headers={"accept": accept}, follow_redirects=True, ) assert response.status_code == 201 response_body = response.data.decode("utf-8") validator_factory = factory_selector.get_factory(accept) validator = validator_factory.create_infrastructure_validator() try: validator.validate(response_body) assert True except ValidationError: assert False response = app.post( "/v1/infrastructures", data=request_body, content_type=content_type, headers={"accept": accept}, follow_redirects=True, ) assert response.status_code == 409
def create_new_flavor_xml_test(app): content_type = XML_MIMETYPE accept = XML_MIMETYPE request_body = util.load_xml_example_as_string("flavor_creation_bad_request.xml") response = app.post( "/v1/flavors", data=request_body, content_type=content_type, headers={"accept": accept}, follow_redirects=True ) assert response.status_code == 400 request_body = util.load_xml_example_as_string("flavor_creation_request.xml") response = app.post( "/v1/flavors", data=request_body, content_type=content_type, headers={"accept": accept}, follow_redirects=True ) assert response.status_code == 201 response_body = response.data.decode("utf-8") validator_factory = factory_selector.get_factory(accept) validator = validator_factory.create_flavor_validator() try: validator.validate(response_body) assert True except ValidationError: assert False response = app.post( "/v1/flavors", data=request_body, content_type=content_type, headers={"accept": accept}, follow_redirects=True ) assert response.status_code == 409 xml = objectify.fromstring(response_body) return xml.values()[0]