def test_register_skip(mocker):
    skip_mock = mock.MagicMock()
    mocker.patch('dj_anonymizer.anonymizer.Anonymizer.skip_models', skip_mock)
    register_models.register_skip([User, Permission, Group])
    skip_mock.method_calls[0][1] == 'django.contrib.auth.models.User'
    skip_mock.method_calls[1][1] == 'django.contrib.auth.models.Permission'
    skip_mock.method_calls[2][1] == 'django.contrib.auth.models.Group'
Ejemplo n.º 2
0
def test_register_skip_only():
    register_models.register_skip([User, Permission, Group])

    Anonymizer(only='django.contrib.auth.models.Group')

    with pytest.raises(LookupError):
        Anonymizer(only='django.contrib.auth.models.WrongGroup')
Ejemplo n.º 3
0
def test_register_skip():
    register_models.register_skip([User, Permission, Group])

    assert len(Anonymizer.clean_models) == 0
    assert len(Anonymizer.skip_models) == 3
    assert len(Anonymizer.anonym_models) == 0

    assert 'django.contrib.auth.models.User' in Anonymizer.skip_models
    assert 'django.contrib.auth.models.Permission' in Anonymizer.skip_models
    assert 'django.contrib.auth.models.Group' in Anonymizer.skip_models
Ejemplo n.º 4
0
from dj_anonymizer.register_models import register_skip, AnonymBase, register_anonym
from dj_anonymizer import anonym_field

from django.contrib.sites.models import Site
from django.contrib.admin.models import LogEntry
from django.contrib.auth.models import Permission, Group
from django.contrib.sessions.models import Session
from django.contrib.contenttypes.models import ContentType

register_skip([Site, Permission, Group, Session, ContentType])


class LogEntryAnonym(AnonymBase):
    object_repr = anonym_field.string("Object Name")

    class Meta:
        exclude_fields = [
            "action_flag",
            "object_id",
            "action_time",
            "change_message",
        ]


register_anonym([(LogEntry, LogEntryAnonym)])
Ejemplo n.º 5
0
from __future__ import absolute_import

from django.contrib.admin.models import LogEntry
from django.contrib.auth.models import Group, Permission
from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType
from django.contrib.sessions.models import Session

from dj_anonymizer.register_models import (register_skip)

from exo_auth import models

User = get_user_model()

register_skip([
    User,
    ContentType,
    Group,
    Permission,
    LogEntry,
    Session,
    models.UserSubscription,
    models.EmailAddress,
])
Ejemplo n.º 6
0
from __future__ import absolute_import

from django.contrib.admin.models import LogEntry
from django.contrib.auth.models import Group, Permission
from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType
from django.contrib.sessions.models import Session

from dj_anonymizer.register_models import (register_skip)

User = get_user_model()

register_skip([
    User,
    ContentType,
    Group,
    Permission,
    LogEntry,
    Session,
])
Ejemplo n.º 7
0
from dj_anonymizer.register_models import register_skip

from tasks.models import Task, TaskDate, TaskChapter

register_skip([Task, TaskDate, TaskChapter])
Ejemplo n.º 8
0
from dj_anonymizer.register_models import register_skip

from events.models import Event, Picture

register_skip([Event, Picture])
Ejemplo n.º 9
0
from dj_anonymizer.register_models import register_skip

from material.frontend.models import Module

register_skip([Module])
Ejemplo n.º 10
0
from dj_anonymizer.register_models import register_skip

from django_plotly_dash.models import DashApp, StatelessApp

register_skip([DashApp, StatelessApp])
Ejemplo n.º 11
0
from dj_anonymizer.register_models import register_skip

from announcements.models import Announcement

register_skip([Announcement])
Ejemplo n.º 12
0
        exclude_fields = [
            'user',
            'opportunity',
            'status',
            'budget',
            'created',
            'modified',
        ]


class AnswerAnonym(AnonymBase):

    class Meta:
        exclude_fields = [
            'applicant',
            'question',
            'response',
            'created',
            'modified',
        ]


register_anonym([
    (models.Opportunity, OpportunityAnonym),
    (models.Applicant, ApplicantAnonym),
    (models.Question, QuestionAnonym),
    (models.Answer, AnswerAnonym)
])

register_skip([models.OpportunityStatus])
Ejemplo n.º 13
0
from dj_anonymizer.register_models import register_skip

from report_builder.models import DisplayField, FilterField, Format, Report

register_skip([DisplayField, FilterField, Format, Report])
Ejemplo n.º 14
0
from dj_anonymizer.register_models import register_skip

from django_otp.plugins.otp_static.models import StaticToken, StaticDevice
from django_otp.plugins.otp_totp.models import TOTPDevice

register_skip([StaticToken, StaticDevice, TOTPDevice])
Ejemplo n.º 15
0
from dj_anonymizer.register_models import register_skip

from chapters.models import Chapter, ChapterCurricula

register_skip([Chapter, ChapterCurricula])
Ejemplo n.º 16
0
    UserDemographic,
    UserAlter,
    UserStatusChange,
    UserRoleChange,
    UserSemesterServiceHours,
    UserOrgParticipate,
    UserSemesterGPA,
)

fake = Factory.create()

register_skip(
    [
        UserAlter,
        UserStatusChange,
        UserSemesterServiceHours,
        UserDemographic,
        UserSemesterGPA,
    ]
)

register_clean([UserRoleChange, UserOrgParticipate])


class UserAnonym(AnonymBase):
    password = anonym_field.password("test")
    user_id = anonym_field.string("FAKE{seq}")
    email_school = anonym_field.string("{seq}[email protected]")
    email = anonym_field.string("{seq}@thetatau.org")
    username = anonym_field.string("{seq}@thetatau.org")
    middle_name = anonym_field.function(fake.first_name)
Ejemplo n.º 17
0
from dj_anonymizer.register_models import (AnonymBase, register_anonym,
                                           register_skip)
from dj_anonymizer import anonym_field

from utils.faker_factory import faker

from landing import models


class SectionAnonym(AnonymBase):
    name = anonym_field.function(faker.sentence)
    description = anonym_field.function(faker.text)
    content = anonym_field.function(faker.text)

    class Meta:
        exclude_fields = ['modified', 'created', 'page', 'index']


register_anonym([
    (models.Section, SectionAnonym),
])

register_skip([
    models.Page,
])
Ejemplo n.º 18
0
from __future__ import absolute_import

import datetime

from dj_anonymizer import fields
from dj_anonymizer.register_models import (AnonymBase, register_anonym,
                                           register_skip)
from polls.models import Choice, Question


class QuestionAnonym(AnonymBase):
    question_text = fields.string("John Doe {seq}")
    pub_date = fields.function(datetime.datetime.now)


register_anonym([
    (Question, QuestionAnonym),
])

register_skip([Choice])
Ejemplo n.º 19
0
from dj_anonymizer.register_models import register_skip

from scores.models import ScoreType, ScoreChapter

register_skip([ScoreType, ScoreChapter])
Ejemplo n.º 20
0
    RiskManagement,
    StatusChange,
    PledgeProgramProcess,
)

fake = Factory.create()

register_clean([DisciplinaryAttachment])

register_skip([
    Audit,
    Badge,
    ChapterReport,
    Depledge,
    Guard,
    InitiationProcess,
    OSM,
    PledgeProcess,
    PledgeProgram,
    ReturnStudent,
    PledgeProgramProcess,
])


class StatusChangeAnonym(AnonymBase):
    email_work = anonym_field.string("{seq}@work.com")
    employer = anonym_field.function(fake.company)

    class Meta:
        exclude_fields = [
            "date_end",
Ejemplo n.º 21
0
from dj_anonymizer.register_models import (
    register_skip,
)

from resource import models


register_skip([
    models.Category,
    models.Resource,
    models.Tag,
])
Ejemplo n.º 22
0
from dj_anonymizer.register_models import register_skip

from regions.models import Region

register_skip([Region])
Ejemplo n.º 23
0
from dj_anonymizer.register_models import register_skip, AnonymBase, register_anonym
from dj_anonymizer import anonym_field
from faker import Factory

from termsandconditions.models import UserTermsAndConditions, TermsAndConditions

fake = Factory.create()

register_skip([TermsAndConditions])


class UserTermsAndConditionsAnonym(AnonymBase):
    ip_address = anonym_field.function(fake.ipv4_public)

    class Meta:
        exclude_fields = ["date_accepted"]


register_anonym([
    (UserTermsAndConditions, UserTermsAndConditionsAnonym),
])
Ejemplo n.º 24
0
from dj_anonymizer.register_models import register_skip, register_clean

from herald.models import SentNotification, UserNotification, Notification

register_skip([UserNotification, Notification])

# This stores a complete message sent to users
register_clean([SentNotification])
Ejemplo n.º 25
0
def test_register_skip_duplicate():
    with pytest.raises(ValueError):
        register_models.register_skip([User, Permission, Group, Group])
Ejemplo n.º 26
0
from dj_anonymizer.register_models import AnonymBase, register_anonym, register_skip
from dj_anonymizer import anonym_field
from faker import Factory

from address.models import Locality, State, Country, Address

fake = Factory.create()
register_skip([Locality, State, Country])


class AddressAnonym(AnonymBase):
    street_number = anonym_field.function(fake.building_number)
    route = anonym_field.function(fake.street_name)
    raw = anonym_field.function(fake.address)
    formatted = anonym_field.function(fake.address)
    latitude = anonym_field.function(fake.latitude)
    longitude = anonym_field.function(fake.longitude)

    class Meta:
        pass


register_anonym([
    (Address, AddressAnonym),
])
Ejemplo n.º 27
0
from dj_anonymizer.register_models import register_skip

from viewflow.models import Process, Task

register_skip([Process, Task])
Ejemplo n.º 28
0
    is_staff = fields.function(lambda: False)

    class Meta:
        exclude_fields = ['is_active', 'is_superuser',
                          'last_login', 'date_joined']


class GroupAnonym(AnonymBase):
    name = fields.string('group_{seq}')

    class Meta:
        pass


register_anonym([
    (User, UserAnonym),
    (Group, GroupAnonym),
])


register_clean([
    (Session, AnonymBase),
    (LogEntry, AnonymBase(truncate=True)),
])

register_skip([
    ContentType,
    Permission,
    Session,
])
Ejemplo n.º 29
0
from dj_anonymizer.register_models import (
    register_skip,
    AnonymBase,
    register_anonym,
    register_clean,
)
from dj_anonymizer import anonym_field
from faker import Factory

from allauth.socialaccount.models import SocialToken, SocialAccount, SocialApp
from allauth.account.models import EmailConfirmation, EmailAddress

register_skip([EmailConfirmation, SocialToken, SocialApp])
register_clean([SocialAccount])

fake = Factory.create()


class EmailAddressAnonym(AnonymBase):
    email = anonym_field.string("{seq}@thetatau.org")
    verified = anonym_field.function(lambda: True)

    class Meta:
        exclude_fields = ["primary"]


register_anonym([
    (EmailAddress, EmailAddressAnonym),
])