Example #1
0
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
Example #2
0
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)
Example #5
0
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
Example #6
0
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]