def test_package_to_api2(self): CreateTestData.create() context = {"model": model, "session": model.Session} pkg = model.Package.get("annakarenina") as_dict = pkg.as_dict(ref_package_by="id", ref_group_by="id") dictize = package_to_api2(pkg, context) as_dict_string = pformat(as_dict) dictize_string = pformat(dictize) assert package_to_api2(pkg, context) == dictize, "\n".join( unified_diff(as_dict_string.split("\n"), dictize_string.split("\n")))
def test_06_package_to_api2_with_relationship(self): context = {"model": model, "session": model.Session} pkg = model.Session.query(model.Package).filter_by(name='homer').one() as_dict = pkg.as_dict(ref_package_by='id', ref_group_by='id') as_dict['license_title'] = None as_dict['num_tags'] = 0 as_dict['num_resources'] = 0 dictize = package_to_api2(pkg, context) as_dict["relationships"].sort(key=lambda x: x.items()) dictize["relationships"].sort(key=lambda x: x.items()) # the is_dict method doesn't care about organizations del dictize['organization'] as_dict_string = pformat(as_dict) dictize_string = pformat(dictize) print as_dict_string print dictize_string assert as_dict == dictize, "\n".join( unified_diff(as_dict_string.split("\n"), dictize_string.split("\n")))
def package_update_rest(context, data_dict): model = context['model'] id = data_dict.get("id") request_id = context['id'] api = context.get('api_version') or '1' pkg = model.Package.get(request_id) if not pkg: raise NotFound if id and id != pkg.id: pkg_from_data = model.Package.get(id) if pkg_from_data != pkg: error_dict = {id:('Cannot change value of key from %s to %s. ' 'This key is read-only') % (pkg.id, id)} raise ValidationError(error_dict) context["package"] = pkg context["allow_partial_update"] = True dictized_package = model_save.package_api_to_dict(data_dict, context) check_access('package_update_rest', context, dictized_package) dictized_after = get_action('package_update')(context, dictized_package) pkg = context['package'] if api == '1': package_dict = model_dictize.package_to_api1(pkg, context) else: package_dict = model_dictize.package_to_api2(pkg, context) return package_dict
def test_05_package_to_api2(self): context = {"model": model, "session": model.Session} pkg = model.Session.query(model.Package).filter_by(name='annakarenina').first() as_dict = pkg.as_dict(ref_package_by='id', ref_group_by='id') dictize = package_to_api2(pkg, context) as_dict_string = pformat(as_dict) dictize_string = pformat(dictize) print(as_dict_string) print(dictize_string) assert package_to_api2(pkg, context) == dictize, "\n".join(unified_diff(as_dict_string.split("\n"), dictize_string.split("\n")))
def test_package_to_api2_with_relationship(self): context = {"model": model, "session": model.Session} CreateTestData.create_family_test_data() pkg = model.Package.get("homer") as_dict = pkg.as_dict(ref_package_by="id", ref_group_by="id") as_dict["license_title"] = None as_dict["num_tags"] = 0 as_dict["num_resources"] = 0 dictize = package_to_api2(pkg, context) as_dict["relationships"].sort(key=lambda x: list(x.items())) dictize["relationships"].sort(key=lambda x: list(x.items())) # the is_dict method doesn't care about organizations del dictize["organization"] as_dict_string = pformat(as_dict) dictize_string = pformat(dictize) assert as_dict == dictize, "\n".join( unified_diff( as_dict_string.split("\n"), dictize_string.split("\n") ) )
def package_update_rest(context, data_dict): model = context['model'] id = data_dict.get("id") request_id = context['id'] api = context.get('api_version') or '1' pkg = model.Package.get(request_id) if not pkg: raise NotFound if id and id != pkg.id: pkg_from_data = model.Package.get(id) if pkg_from_data != pkg: error_dict = { id: ('Cannot change value of key from %s to %s. ' 'This key is read-only') % (pkg.id, id) } raise ValidationError(error_dict) context["package"] = pkg context["allow_partial_update"] = True dictized_package = package_api_to_dict(data_dict, context) dictized_after = package_update(context, dictized_package) pkg = context['package'] if api == '1': package_dict = package_to_api1(pkg, context) else: package_dict = package_to_api2(pkg, context) return package_dict
def package_update_rest(context, data_dict): model = context["model"] id = data_dict.get("id") request_id = context["id"] api = context.get("api_version") or "1" pkg = model.Package.get(request_id) if not pkg: raise NotFound if id and id != pkg.id: pkg_from_data = model.Package.get(id) if pkg_from_data != pkg: error_dict = {id: ("Cannot change value of key from %s to %s. " "This key is read-only") % (pkg.id, id)} raise ValidationError(error_dict) context["package"] = pkg context["allow_partial_update"] = True dictized_package = package_api_to_dict(data_dict, context) check_access("package_update_rest", context, dictized_package) dictized_after = package_update(context, dictized_package) pkg = context["package"] if api == "1": package_dict = package_to_api1(pkg, context) else: package_dict = package_to_api2(pkg, context) return package_dict
def package_show_rest(context, data_dict): package_show(context, data_dict) api = context.get('api_version') or '1' pkg = context['package'] if api == '1': package_dict = package_to_api1(pkg, context) else: package_dict = package_to_api2(pkg, context) return package_dict
def package_show_rest(context, data_dict): check_access('package_show_rest', context, data_dict) logic.get_action('package_show')(context, data_dict) api = context.get('api_version') or '1' pkg = context['package'] if api == '1': package_dict = model_dictize.package_to_api1(pkg, context) else: package_dict = model_dictize.package_to_api2(pkg, context) return package_dict
def package_show_rest(context, data_dict): check_access("package_show_rest", context, data_dict) package_show(context, data_dict) api = context.get("api_version") or "1" pkg = context["package"] if api == "1": package_dict = package_to_api1(pkg, context) else: package_dict = package_to_api2(pkg, context) return package_dict
def package_show_rest(context, data_dict): check_access('package_show_rest',context, data_dict) logic.get_action('package_show')(context, data_dict) api = context.get('api_version') or '1' pkg = context['package'] if api == '1': package_dict = model_dictize.package_to_api1(pkg, context) else: package_dict = model_dictize.package_to_api2(pkg, context) return package_dict
def package_create_rest(context, data_dict): api = context.get('api_version') or '1' dictized_package = package_api_to_dict(data_dict, context) dictized_after = package_create(context, dictized_package) pkg = context['package'] if api == '1': package_dict = package_to_api1(pkg, context) else: package_dict = package_to_api2(pkg, context) data_dict['id'] = pkg.id return package_dict
def test_06_package_to_api2_with_relationship(self): context = {"model": model, "session": model.Session} pkg = model.Session.query(model.Package).filter_by(name="homer").one() as_dict = pkg.as_dict(ref_package_by="id", ref_group_by="id") dictize = package_to_api2(pkg, context) as_dict["relationships"].sort(key=lambda x: x.items()) dictize["relationships"].sort(key=lambda x: x.items()) as_dict_string = pformat(as_dict) dictize_string = pformat(dictize) print as_dict_string print dictize_string assert as_dict == dictize, "\n".join(unified_diff(as_dict_string.split("\n"), dictize_string.split("\n")))
def package_create_rest(context, data_dict): api = context.get('api_version') or '1' check_access('package_create_rest', context, data_dict) dictized_package = model_save.package_api_to_dict(data_dict, context) dictized_after = get_action('package_create')(context, dictized_package) pkg = context['package'] if api == '1': package_dict = model_dictize.package_to_api1(pkg, context) else: package_dict = model_dictize.package_to_api2(pkg, context) data_dict['id'] = pkg.id return package_dict
def test_06_package_to_api2_with_relationship(self): context = {"model": model, "session": model.Session} pkg = model.Session.query(model.Package).filter_by(name='homer').one() as_dict = pkg.as_dict(ref_package_by='id', ref_group_by='id') dictize = package_to_api2(pkg, context) as_dict["relationships"].sort(key=lambda x: x.items()) dictize["relationships"].sort(key=lambda x: x.items()) as_dict_string = pformat(as_dict) dictize_string = pformat(dictize) print as_dict_string print dictize_string assert as_dict == dictize, "\n".join( unified_diff(as_dict_string.split("\n"), dictize_string.split("\n")))
def test_06_package_to_api2_with_relationship(self): context = {"model": model, "session": model.Session} pkg = model.Session.query(model.Package).filter_by(name='homer').one() as_dict = pkg.as_dict(ref_package_by='id', ref_group_by='id') as_dict['license_title'] = None dictize = package_to_api2(pkg, context) as_dict["relationships"].sort(key=lambda x:x.items()) dictize["relationships"].sort(key=lambda x:x.items()) # the is_dict method doesn't care about organizations del dictize['organization'] as_dict_string = pformat(as_dict) dictize_string = pformat(dictize) print as_dict_string print dictize_string assert as_dict == dictize, "\n".join(unified_diff(as_dict_string.split("\n"), dictize_string.split("\n")))