def serialize_json_flavor_collection_test():
    file_json = util.load_json_from_file('flavor_collection_response.json')
    
    flavor_collection = util.create_example_flavor_collection()
    
    flavor_collection_json = flavor_collection.serialize(util.JSON_MIMETYPE)
    assert util.json_are_equal(flavor_collection_json, file_json)
def serialize_xml_flavor_collection_test():
    data = util.load_clean_xml_payload('flavor_collection_response.xml')
    
    flavor_collection = util.create_example_flavor_collection()
    
    flavor_collection_xml = flavor_collection.serialize(util.XML_MIMETYPE).decode('utf-8')
    assert flavor_collection_xml in data
def serialize_wrong_mimetype_flavor_collection_test():
    flavor_collection = util.create_example_flavor_collection()
    
    try:
        flavor_collection.serialize(util.WRONG_MIMETYPE)
        assert False
    except NotImplementedError as e:
        assert 'Unrecognized mimetype or model type' in str(e)
def json_flavor_collection_from_model_parser_test():
    payload = util.load_json_from_file('flavor_collection_response.json')
    
    flavor_collection = util.create_example_flavor_collection()
    
    collection_factory = _create_factory(util.JSON_MIMETYPE, FlavorCollection)
    
    response = collection_factory.from_model(flavor_collection)
    assert util.json_are_equal(response, payload)
def xml_flavor_collection_from_model_parser_test():
    payload = util.load_clean_xml_payload('flavor_collection_response.xml')
    
    flavor_collection = util.create_example_flavor_collection()
    
    collection_factory = _create_factory(util.XML_MIMETYPE, FlavorCollection)
    
    response = collection_factory.from_model(flavor_collection)
    assert response.decode("utf-8") in payload
def from_openstack_flavor_list_test():
    data = util.load_json_from_file('flavor_collection_response.json')
    
    for flavor in data['flavors']:
        del(flavor['nodes'])
    
    openstackflavors = [OpenStackFlavor(None, data['flavors'][0]),
                        OpenStackFlavor(None, data['flavors'][1])]
    
    mordor = util.create_example_infrastructure()
    
    flavor_collection = util.create_example_flavor_collection(mordor)
    for flavor in flavor_collection.flavors:
        flavor.public = False
    
    converted_collection = FlavorCollection.from_openstack_flavor_list(
                                                    openstackflavors, mordor)
    
    assert util.json_are_equal(
                flavor_collection.to_dict(), converted_collection.to_dict())
def flavor_collection_to_dict_test():
    expected_dict = util.load_json_from_file('flavor_collection_response.json')
    
    flavor_collection = util.create_example_flavor_collection()
    
    assert util.json_are_equal(expected_dict, flavor_collection.to_dict())