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]
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
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)
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)