Example #1
0
def create_fixtures(do_schemas=True, load_attr_types=False):
    objres = {}
    schres = {}

    if do_schemas or load_attr_types:
        loadattrtypes.run()
    if do_schemas:
        schres.update(create_schema_fixtures(DEFAULT_SCHEMATA))

    for iorg in range(1, 4):
        org = OrganizationFactory.create(name="Organization #{}".format(iorg))
        objres["org{}".format(iorg)] = org

        for iprj in range(1, 4):
            proj = ProjectFactory.create(name="Project #{}.{}".format(iorg, iprj), organization=org)
            objres["proj{}{}".format(iorg, iprj)] = proj

    if do_schemas:
        schres.update(create_schema_fixtures(SPECIFIC_SCHEMATA))

    for iorg in range(1, 4):
        org = Organization.objects.get(name="Organization #{}".format(iorg))

        for iprj in range(1, 4):
            proj = Project.objects.get(name="Project #{}.{}".format(iorg, iprj))

            for ient in range(1, 6):
                parcel = ParcelFactory.create(address="Parcel #{}.{}.{}".format(iorg, iprj, ient), project=proj)
                objres["parcel{}{}{}".format(iorg, iprj, ient)] = parcel

                attrs = {}
                if iorg == 1 and iprj == 1 and do_schemas:
                    attrs = {"dob": "1975-11-06"}
                party = Party.objects.create(name="Party #{}.{}.{}".format(iorg, iprj, ient), project=proj, attrs=attrs)
                objres["party{}{}{}".format(iorg, iprj, ient)] = party

    for m in ["organization", "project", "party", "parcel"]:
        objres[m + "_t"] = ContentType.objects.get(app_label="tests", model=m)

    if do_schemas:
        return objres, schres
    else:
        return objres
Example #2
0
def create_labelled_schemata():
    loadattrtypes.run()

    # Initial schema:
    #  f1: non-required string field
    #  f2: required string field
    #  f3: non-required integer field
    #  f4: choices field ('abc', 'def', 'ghi', 'jkl')
    create_labelled_schema("initial")

    # Remove non-required field schema:
    #  f2: required string field
    #  f3: non-required integer field
    #  f4: choices field ('abc', 'def', 'ghi', 'jkl')
    create_labelled_schema("remove_non_required", "-f1")

    # Remove required field schema:
    #  f1: non-required string field
    #  f3: non-required integer field
    #  f4: choices field ('abc', 'def', 'ghi', 'jkl')
    create_labelled_schema("remove_required", "-f2")

    # Add new non-required field schema:
    #  f1: non-required string field
    #  f2: required string field
    #  f3: non-required integer field
    #  f4: choices field ('abc', 'def', 'ghi', 'jkl')
    #  f5: non-required integer field
    create_labelled_schema("new_non_required", "+f5-nonreq")

    # Add new required field (no default) schema:
    #  f1: non-required string field
    #  f2: required string field
    #  f3: non-required integer field
    #  f4: choices field ('abc', 'def', 'ghi', 'jkl')
    #  f5: required integer field (no default)
    create_labelled_schema("new_required_no_default", "+f5-req-no-default")

    # Add new required field (default) schema:
    #  f1: non-required string field
    #  f2: required string field
    #  f3: non-required integer field
    #  f4: choices field ('abc', 'def', 'ghi', 'jkl')
    #  f5: required integer field (default)
    create_labelled_schema("new_required_default", "+f5-req-default")

    # Change field type (compatible) schema:
    #  f1: non-required string field
    #  f2: required string field
    #  f3: non-required string field
    #  f4: choices field ('abc', 'def', 'ghi', 'jkl')
    create_labelled_schema("type_compatible", "f3-text")

    # Change field type (incompatible) schema:
    #  f1: non-required string field
    #  f2: required integer field
    #  f3: non-required integer field
    #  f4: choices field ('abc', 'def', 'ghi', 'jkl')
    create_labelled_schema("type_incompatible", "f2-int")

    # Remove choices list schema:
    #  f1: non-required string field
    #  f2: required integer field
    #  f3: non-required integer field
    #  f4: non-required string field
    create_labelled_schema("remove_choices", "f4-remove-choices")

    # Add choices list schema:
    #  f1: choices field ('ABC', 'DEF', 'GHI', 'JKL')
    #  f2: required integer field
    #  f3: non-required integer field
    #  f4: choices field ('abc', 'def', 'ghi', 'jkl')
    create_labelled_schema("add_choices", "f1-add-choices")

    # Change choices list schema:
    #  f1: non-required string field
    #  f2: required integer field
    #  f3: non-required integer field
    #  f4: choices field ('ghi', 'jkl', 'mno', 'pqr')
    create_labelled_schema("change_choices", "f4-change-choices")