Example #1
0
def publish_flavor_json_test(app, flavor_id):
    content_type = JSON_MIMETYPE
    accept = JSON_MIMETYPE

    request_body = util.load_json_example_as_string("flavor_publication_bad_request.json")
    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_json_example_as_string("flavor_publication_request.json")
    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_json_example_as_string("flavor_unpublication_request.json")
    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 json_flavor_installation_to_dict_parser_test():
    payload = util.load_json_example_as_string('flavor_installation_request.json')
    flavor_factory = _create_factory(util.JSON_MIMETYPE, Flavor)
    
    flavor = flavor_factory.to_dict(payload)
    assert len(flavor['nodes']) == 1
    assert 'Mordor' in flavor['nodes'][0]
Example #3
0
def install_flavor_json_test(app):
    content_type = JSON_MIMETYPE
    accept = JSON_MIMETYPE

    fake_flavor_id = _create_fake_infrastructure_and_flavor()

    request_body = util.load_json_example_as_string("flavor_installation_request.json")
    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
Example #4
0
def register_new_infrastucture_json_test(app):
    content_type = JSON_MIMETYPE
    accept = JSON_MIMETYPE

    request_body = util.load_json_example_as_string("infrastructure_bad_request.json")
    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_json_example_as_string("infrastructure_request.json")
    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 json_exception_to_dict_parser_test():
    payload = util.load_json_example_as_string('exception_response.json')
    type_factory = _create_factory(util.JSON_MIMETYPE, FlavorSyncError)
    
    try:
        type_factory.to_dict(payload)
        assert False
    except NotImplementedError as e:
        assert 'Unrecognized mimetype or model type' in str(e)
Example #6
0
def create_new_flavor_json_test(app):
    content_type = JSON_MIMETYPE
    accept = JSON_MIMETYPE

    request_body = util.load_json_example_as_string("flavor_creation_bad_request.json")
    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_json_example_as_string("flavor_creation_request.json")
    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

    flavor = json.loads(response_body)
    return flavor["flavor"]["id"]
def validate_json_infrastructure_payload(self):
    payload = util.load_json_example_as_string("infrastructure_response.json")
    factory = factory_selector.get_factory(util.JSON_MIMETYPE)
    validator = factory.create_infrastructure_validator()

    _validate_payload(payload, validator, ValidationError)
def validate_json_flavor_publication_payload(self):
    payload = util.load_json_example_as_string("flavor_publication_request.json")
    factory = factory_selector.get_factory(util.JSON_MIMETYPE)
    validator = factory.create_flavor_modification_request_validator()

    _validate_payload(payload, validator, ValidationError)
def validate_json_flavor_collection_payload(self):
    payload = util.load_json_example_as_string("flavor_collection_response.json")
    factory = factory_selector.get_factory(util.JSON_MIMETYPE)
    validator = factory.create_flavor_collection_validator()

    _validate_payload(payload, validator, ValidationError)
def json_flavor_promotion_to_dict_parser_test():
    payload = util.load_json_example_as_string('flavor_promotion_request.json')
    flavor_factory = _create_factory(util.JSON_MIMETYPE, Flavor)
    
    flavor = flavor_factory.to_dict(payload)
    assert flavor['promoted']
def json_flavor_to_dict_parser_test():
    payload = util.load_json_example_as_string('flavor_creation_request.json')
    flavor_factory = _create_factory(util.JSON_MIMETYPE, Flavor)
    
    flavor = flavor_factory.to_dict(payload)
    _check_flavor_dict_contents(flavor)
def json_infrastructure_to_dict_parser_test():
    payload = util.load_json_example_as_string('infrastructure_request.json')
    infrastructure_factory = _create_factory(util.JSON_MIMETYPE, Infrastructure)
    
    infrastructure = infrastructure_factory.to_dict(payload)
    _check_infrastructure_dict_contents(infrastructure)