Exemplo n.º 1
0
 def test_binary_type(self):
     if six.PY2:
         with StdoutStderrBuffer() as buffer:
             print("print str")
             sys.stdout.write("stdout.write str\n")
             sys.stderr.write("stderr.write str")
         assert_equal_dedent(
             buffer.get_output(),
             """
             print str
             stdout.write str
             stderr.write str
         """,
         )
     elif six.PY3:
         # The print function will use repr
         with StdoutStderrBuffer() as buffer:
             print(b"print binary_type")
             sys.stdout.write(b"stdout.write binary_type\n")
             sys.stderr.write(b"stderr.write binary_type")
         assert_equal_dedent(
             buffer.get_output(),
             """
             b'print binary_type'
             stdout.write binary_type
             stderr.write binary_type
         """,
         )
     else:
         self.fail()
Exemplo n.º 2
0
 def test_binary_type(self):
     if six.PY2:
         with StdoutStderrBuffer() as buffer:
             print("print str")
             sys.stdout.write("stdout.write str\n")
             sys.stderr.write("stderr.write str")
         assert_equal_dedent(
             buffer.get_output(),
             """
             print str
             stdout.write str
             stderr.write str
         """,
         )
     elif six.PY3:
         # The print function will use repr
         with StdoutStderrBuffer() as buffer:
             print(b"print binary_type")
             sys.stdout.write(b"stdout.write binary_type\n")
             sys.stderr.write(b"stderr.write binary_type")
         assert_equal_dedent(
             buffer.get_output(),
             """
             b'print binary_type'
             stdout.write binary_type
             stderr.write binary_type
         """,
         )
     else:
         self.fail()
Exemplo n.º 3
0
    def test_SendMail(self):
        assert_pformat_equal(len(mail.outbox), 0)

        ok = SendMail(
            template_base="mail_test.{ext}",
            mail_context={
                "foo": "first",
                "bar": "second"
            },
            subject="Only a test",
            recipient_list="*****@*****.**",
        ).send()

        assert_pformat_equal(ok, True)

        print_mailbox(mail.outbox)

        assert_pformat_equal(len(mail.outbox), 1)
        email = mail.outbox[0]
        assert_pformat_equal(email.subject, "Only a test")

        assert_equal_dedent(
            email.body,
            """
            <!-- START 'mail_test.txt' -->
            This is is a test mail.
            It used the django template: first, second
            
            <!-- END 'mail_test.txt' -->
        """,
        )
        assert_pformat_equal(email.from_email, "webmaster@localhost")
        assert_pformat_equal(email.to, ["*****@*****.**"])

        self.assertIsInstance(email, EmailMultiAlternatives)

        html_email = email.alternatives[0]

        assert_equal_dedent(
            html_email[0].strip(),
            """
            <!-- START 'mail_test.html' -->
            <!DOCTYPE html>
            <html>
                <head></head>
                <body>
                    <p>This is is a test mail.</br>
                    It used the django template: first, second</p>
                </body>
            </html>
            
            
            <!-- END 'mail_test.html' -->
            """,
        )
        assert_pformat_equal(html_email[1], "text/html")
Exemplo n.º 4
0
    def test_SendMail(self):
        assert_pformat_equal(len(mail.outbox), 0)

        ok = SendMail(
            template_base="mail_test.{ext}",
            mail_context={"foo": "first", "bar": "second"},
            subject="Only a test",
            recipient_list="*****@*****.**",
        ).send()

        assert_pformat_equal(ok, True)

        print_mailbox(mail.outbox)

        assert_pformat_equal(len(mail.outbox), 1)
        email = mail.outbox[0]
        assert_pformat_equal(email.subject, "Only a test")

        assert_equal_dedent(
            email.body,
            """
            <!-- START 'mail_test.txt' -->
            This is is a test mail.
            It used the django template: first, second
            
            <!-- END 'mail_test.txt' -->
        """,
        )
        assert_pformat_equal(email.from_email, "webmaster@localhost")
        assert_pformat_equal(email.to, ["*****@*****.**"])

        self.assertIsInstance(email, EmailMultiAlternatives)

        html_email = email.alternatives[0]

        assert_equal_dedent(
            html_email[0].strip(),
            """
            <!-- START 'mail_test.html' -->
            <!DOCTYPE html>
            <html>
                <head></head>
                <body>
                    <p>This is is a test mail.</br>
                    It used the django template: first, second</p>
                </body>
            </html>
            
            
            <!-- END 'mail_test.html' -->
            """,
        )
        assert_pformat_equal(html_email[1], "text/html")
Exemplo n.º 5
0
 def test_text_type(self):
     with StdoutStderrBuffer() as buffer:
         print(six.text_type("print text_type"))
         sys.stdout.write(six.text_type("stdout.write text_type\n"))
         sys.stderr.write(six.text_type("stderr.write text_type"))
     assert_equal_dedent(
         buffer.get_output(),
         """
         print text_type
         stdout.write text_type
         stderr.write text_type
     """,
     )
Exemplo n.º 6
0
 def test_text_type(self):
     with StdoutStderrBuffer() as buffer:
         print("print text_type")
         sys.stdout.write("stdout.write text_type\n")
         sys.stderr.write("stderr.write text_type")
     assert_equal_dedent(
         buffer.get_output(),
         """
         print text_type
         stdout.write text_type
         stderr.write text_type
     """,
     )
Exemplo n.º 7
0
 def test_binary_type(self):
     # The print function will use repr
     with StdoutStderrBuffer() as buffer:
         print(b"print binary_type")
         sys.stdout.write(b"stdout.write binary_type\n")
         sys.stderr.write(b"stderr.write binary_type")
     assert_equal_dedent(
         buffer.get_output(),
         """
         b'print binary_type'
         stdout.write binary_type
         stderr.write binary_type
         """,
     )
Exemplo n.º 8
0
    def test_assertEqual_dedent(self):
        assert_equal_dedent(first="foo bar", second="foo bar")

        with self.assertRaises(AssertionError) as cm:
            assert_equal_dedent(first="foo bar", second="foo X bar")

        err_msg = "\n".join([line.strip() for line in cm.exception.args[0].splitlines()])
        print(f"***\n{err_msg!r}\n***")

        assert "\x1b[0;34mfirst\x1b[m" in err_msg
        assert "foo bar" in err_msg

        assert "\x1b[0;34msecond\x1b[m" in err_msg
        assert "foo \x1b[7;32mX \x1b[mbar" in err_msg
    def test_remove_obsolete_permissions(self):
        superuser = self.UserModel.objects.filter(is_superuser=True, is_active=True)[0]
        encrypted_password = superuser.password

        # Create with more permissions:
        get_or_create_user_and_group(
            username="******",
            groupname="testgroup",
            permissions=get_filtered_permissions(
                exclude_app_labels=("admin",),
                exclude_codenames=("delete_group",),
                exclude_permissions=((ContentType, "delete_contenttype"),),
            ),
            encrypted_password=encrypted_password,
        )

        with StdoutStderrBuffer() as buff:
            get_or_create_user_and_group(
                username="******",
                groupname="testgroup",
                permissions=get_filtered_permissions(
                    exclude_app_labels=("admin", "sites"),
                    exclude_models=(Session,),
                    exclude_codenames=("delete_user", "delete_group"),
                    exclude_permissions=((ContentType, "add_contenttype"), (ContentType, "delete_contenttype")),
                ),
                encrypted_password=encrypted_password,
            )
        output = buff.get_output()
        print(output)
        assert_equal_dedent(
            output,
            """
            Check 'admin'
            Check 'sites'
            remove permission: auth | user | Can delete user
            remove permission: contenttypes | content type | Can add content type
            remove permission: sessions | session | Can add session
            remove permission: sessions | session | Can change session
            remove permission: sessions | session | Can delete session
            remove permission: sessions | session | Can view session
            remove permission: sites | site | Can add site
            remove permission: sites | site | Can change site
            remove permission: sites | site | Can delete site
            remove permission: sites | site | Can view site
            Add 74 permissions to 'testgroup'
            Group testgroup has 74 permissions
            """,
        )
Exemplo n.º 10
0
    def test_assertEqual_dedent(self):
        assert_equal_dedent(first="foo bar", second="foo bar")

        with self.assertRaises(AssertionError) as cm:
            assert_equal_dedent(first="foo bar", second="foo X bar")

        err_msg = "\n".join([line.strip() for line in cm.exception.args[0].splitlines()])
        if PY2:
            err_msg = err_msg.replace("u'", "'")
        print("***\n%s\n***" % repr(err_msg))

        assert "\x1b[0;34mfirst\x1b[m" in err_msg
        assert "foo bar" in err_msg

        assert "\x1b[0;34msecond\x1b[m" in err_msg
        assert "foo \x1b[7;32mX \x1b[mbar" in err_msg
Exemplo n.º 11
0
    def test_remove_obsolete_permissions(self):
        superuser = self.UserModel.objects.filter(is_superuser=True, is_active=True)[0]
        encrypted_password = superuser.password

        # Create with more permissions:
        get_or_create_user_and_group(
            username="******",
            groupname="testgroup",
            permissions=get_filtered_permissions(
                exclude_app_labels=("admin",),
                exclude_codenames=("delete_group",),
                exclude_permissions=((ContentType, "delete_contenttype"),),
            ),
            encrypted_password=encrypted_password,
        )

        with StdoutStderrBuffer() as buff:
            get_or_create_user_and_group(
                username="******",
                groupname="testgroup",
                permissions=get_filtered_permissions(
                    exclude_app_labels=("admin", "sites"),
                    exclude_models=(Session,),
                    exclude_codenames=("delete_user", "delete_group"),
                    exclude_permissions=((ContentType, "add_contenttype"), (ContentType, "delete_contenttype")),
                ),
                encrypted_password=encrypted_password,
            )
        output = buff.get_output()
        print(output)
        assert_equal_dedent(
            output,
            """
            Check 'admin'
            Check 'sites'
            remove permission: auth | user | Can delete user
            remove permission: contenttypes | content type | Can add content type
            remove permission: sessions | session | Can add session
            remove permission: sessions | session | Can change session
            remove permission: sessions | session | Can delete session
            remove permission: sites | site | Can add site
            remove permission: sites | site | Can change site
            remove permission: sites | site | Can delete site
            Add 55 permissions to 'testgroup'
            Group testgroup has 55 permissions
        """,
        )
Exemplo n.º 12
0
    def test_assertEqual_dedent(self):
        assert_equal_dedent(first="foo bar", second="foo bar")

        with self.assertRaises(AssertionError) as cm:
            assert_equal_dedent(first="foo bar", second="foo X bar")

        err_msg = "\n".join(
            [line.strip() for line in cm.exception.args[0].splitlines()])
        if PY2:
            err_msg = err_msg.replace("u'", "'")
        print("***\n%s\n***" % repr(err_msg))

        assert "\x1b[0;34mfirst\x1b[m" in err_msg
        assert "foo bar" in err_msg

        assert "\x1b[0;34msecond\x1b[m" in err_msg
        assert "foo \x1b[7;32mX \x1b[mbar" in err_msg
Exemplo n.º 13
0
    def test_list_models(self):
        output = self.call_manage_py(
            ["list_models"],
            manage_dir=MANAGE_DIR,  # debug=True
        )
        assert "existing models in app_label.ModelName format:" in output
        output = output.split("existing models in app_label.ModelName format:",
                              1)[1]

        assert_equal_dedent(
            output,
            """
            01 - admin.LogEntry
            02 - auth.Group
            03 - auth.Permission
            04 - auth.User
            05 - contenttypes.ContentType
            06 - django_tools_test_app.LimitToUsergroupsTestModel
            07 - django_tools_test_app.OverwriteFileSystemStorageModel
            08 - django_tools_test_app.PermissionTestModel
            09 - django_tools_test_app.SimpleParlerModel
            10 - django_tools_test_app.SimpleParlerModelTranslation
            11 - django_tools_test_app.UserMediaFiles
            12 - easy_thumbnails.Source
            13 - easy_thumbnails.Thumbnail
            14 - easy_thumbnails.ThumbnailDimensions
            15 - filer.Clipboard
            16 - filer.ClipboardItem
            17 - filer.File
            18 - filer.Folder
            19 - filer.FolderPermission
            20 - filer.Image
            21 - filer.ThumbnailOption
            22 - flatpages.FlatPage
            23 - serve_media_app.UserMediaTokenModel
            24 - sessions.Session
            25 - sites.Site

            INSTALLED_APPS....: 15
            Apps with models..: 15
        """,
        )
Exemplo n.º 14
0
 def test_list_models(self):
     output = self.call_manage_py(["list_models"], manage_dir=MANAGE_DIR)
     print(output)
     assert "existing models in app_label.ModelName format:" in output
     output = output.split("existing models in app_label.ModelName format:", 1)[1]
     assert_equal_dedent(
         output,
         """           
         01 - admin.LogEntry
         02 - auth.Group
         03 - auth.Permission
         04 - auth.User
         05 - contenttypes.ContentType
         06 - django_tools_test_app.LimitToUsergroupsTestModel
         07 - django_tools_test_app.OverwriteFileSystemStorageModel
         08 - django_tools_test_app.PermissionTestModel
         09 - django_tools_test_app.SimpleParlerModel
         10 - django_tools_test_app.SimpleParlerModelTranslation
         11 - easy_thumbnails.Source
         12 - easy_thumbnails.Thumbnail
         13 - easy_thumbnails.ThumbnailDimensions
         14 - filer.Clipboard
         15 - filer.ClipboardItem
         16 - filer.File
         17 - filer.Folder
         18 - filer.FolderPermission
         19 - filer.Image
         20 - filer.ThumbnailOption
         21 - flatpages.FlatPage
         22 - sessions.Session
         23 - sites.Site
         
         INSTALLED_APPS....: 13
         Apps with models..: 13
     """,
     )
Exemplo n.º 15
0
    def test_pprint_filtered_permissions(self):
        permissions = get_filtered_permissions(
            exclude_app_labels=("easy_thumbnails", "filer"),
            exclude_actions=("delete", ),
            exclude_models=(LimitToUsergroupsTestModel, PermissionTestModel),
            exclude_codenames=("change_group", "change_user"),
            exclude_permissions=((ContentType, "add_contenttype"),
                                 (ContentType, "delete_contenttype")),
        )
        with StdoutStderrBuffer() as buffer:
            pprint_filtered_permissions(permissions)

        output = buffer.get_output()
        assert_equal_dedent(
            output,
            """
                [*] admin.add_logentry
                [*] admin.change_logentry
                [ ] admin.delete_logentry
                [*] admin.view_logentry
                [*] auth.add_group
                [ ] auth.change_group
                [ ] auth.delete_group
                [*] auth.view_group
                [*] auth.add_permission
                [*] auth.change_permission
                [ ] auth.delete_permission
                [*] auth.view_permission
                [*] auth.add_user
                [ ] auth.change_user
                [ ] auth.delete_user
                [*] auth.view_user
                [ ] contenttypes.add_contenttype
                [*] contenttypes.change_contenttype
                [ ] contenttypes.delete_contenttype
                [*] contenttypes.view_contenttype
                [ ] django_tools_test_app.add_limittousergroupstestmodel
                [ ] django_tools_test_app.change_limittousergroupstestmodel
                [ ] django_tools_test_app.delete_limittousergroupstestmodel
                [ ] django_tools_test_app.view_limittousergroupstestmodel
                [*] django_tools_test_app.add_overwritefilesystemstoragemodel
                [*] django_tools_test_app.change_overwritefilesystemstoragemodel
                [ ] django_tools_test_app.delete_overwritefilesystemstoragemodel
                [*] django_tools_test_app.view_overwritefilesystemstoragemodel
                [ ] django_tools_test_app.add_permissiontestmodel
                [ ] django_tools_test_app.change_permissiontestmodel
                [ ] django_tools_test_app.delete_permissiontestmodel
                [ ] django_tools_test_app.extra_permission
                [ ] django_tools_test_app.view_permissiontestmodel
                [*] django_tools_test_app.add_simpleparlermodel
                [*] django_tools_test_app.change_simpleparlermodel
                [ ] django_tools_test_app.delete_simpleparlermodel
                [*] django_tools_test_app.view_simpleparlermodel
                [*] django_tools_test_app.add_usermediafiles
                [*] django_tools_test_app.change_usermediafiles
                [ ] django_tools_test_app.delete_usermediafiles
                [*] django_tools_test_app.view_usermediafiles
                [ ] easy_thumbnails.add_source
                [ ] easy_thumbnails.change_source
                [ ] easy_thumbnails.delete_source
                [ ] easy_thumbnails.view_source
                [ ] easy_thumbnails.add_thumbnail
                [ ] easy_thumbnails.change_thumbnail
                [ ] easy_thumbnails.delete_thumbnail
                [ ] easy_thumbnails.view_thumbnail
                [ ] easy_thumbnails.add_thumbnaildimensions
                [ ] easy_thumbnails.change_thumbnaildimensions
                [ ] easy_thumbnails.delete_thumbnaildimensions
                [ ] easy_thumbnails.view_thumbnaildimensions
                [ ] filer.add_clipboard
                [ ] filer.change_clipboard
                [ ] filer.delete_clipboard
                [ ] filer.view_clipboard
                [ ] filer.add_clipboarditem
                [ ] filer.change_clipboarditem
                [ ] filer.delete_clipboarditem
                [ ] filer.view_clipboarditem
                [ ] filer.add_file
                [ ] filer.change_file
                [ ] filer.delete_file
                [ ] filer.view_file
                [ ] filer.add_folder
                [ ] filer.can_use_directory_listing
                [ ] filer.change_folder
                [ ] filer.delete_folder
                [ ] filer.view_folder
                [ ] filer.add_folderpermission
                [ ] filer.change_folderpermission
                [ ] filer.delete_folderpermission
                [ ] filer.view_folderpermission
                [ ] filer.add_image
                [ ] filer.change_image
                [ ] filer.delete_image
                [ ] filer.view_image
                [ ] filer.add_thumbnailoption
                [ ] filer.change_thumbnailoption
                [ ] filer.delete_thumbnailoption
                [ ] filer.view_thumbnailoption
                [*] flatpages.add_flatpage
                [*] flatpages.change_flatpage
                [ ] flatpages.delete_flatpage
                [*] flatpages.view_flatpage
                [*] serve_media_app.add_usermediatokenmodel
                [*] serve_media_app.change_usermediatokenmodel
                [ ] serve_media_app.delete_usermediatokenmodel
                [*] serve_media_app.view_usermediatokenmodel
                [*] sessions.add_session
                [*] sessions.change_session
                [ ] sessions.delete_session
                [*] sessions.view_session
                [*] sites.add_site
                [*] sites.change_site
                [ ] sites.delete_site
                [*] sites.view_site
            """,
        )
Exemplo n.º 16
0
 def assertEqual_dedent(self, first, second, msg=""):
     warnings.warn(
         "Use django_tools.unittest_utils.assertments.assert_equal_dedent!",
         DeprecationWarning)
     assert_equal_dedent(first, second, msg=msg)
Exemplo n.º 17
0
    def test_get_or_create_user_and_group(self):
        superuser = self.UserModel.objects.filter(is_superuser=True, is_active=True)[0]
        encrypted_password = superuser.password

        test_user = get_or_create_user_and_group(
            username="******",
            groupname="testgroup",
            permissions=get_filtered_permissions(
                exclude_app_labels=("admin", "sites"),
                exclude_models=(Session,),
                exclude_codenames=("delete_user", "delete_group"),
                exclude_permissions=((ContentType, "add_contenttype"), (ContentType, "delete_contenttype")),
            ),
            encrypted_password=encrypted_password,
        )

        with StdoutStderrBuffer() as buff:
            call_command("permission_info", "testuser")
        output = buff.get_output()

        output = [line.strip(" \t_") for line in output.splitlines()]
        output = "\n".join([line for line in output if line])
        print(output)

        assert_equal_dedent(
            output,
            """
                Display effective user permissions in the same format as user.has_perm() argument: <appname>.<codename>
                All permissions for user 'testuser':
                is_active    : yes
                is_staff     : yes
                is_superuser : no
                [ ] admin.add_logentry
                [ ] admin.change_logentry
                [ ] admin.delete_logentry
                [ ] admin.view_logentry
                [*] auth.add_group
                [*] auth.change_group
                [ ] auth.delete_group
                [*] auth.view_group
                [*] auth.add_permission
                [*] auth.change_permission
                [*] auth.delete_permission
                [*] auth.view_permission
                [*] auth.add_user
                [*] auth.change_user
                [ ] auth.delete_user
                [*] auth.view_user
                [ ] contenttypes.add_contenttype
                [*] contenttypes.change_contenttype
                [ ] contenttypes.delete_contenttype
                [*] contenttypes.view_contenttype
                [*] django_tools_test_app.add_limittousergroupstestmodel
                [*] django_tools_test_app.change_limittousergroupstestmodel
                [*] django_tools_test_app.delete_limittousergroupstestmodel
                [*] django_tools_test_app.view_limittousergroupstestmodel
                [*] django_tools_test_app.add_overwritefilesystemstoragemodel
                [*] django_tools_test_app.change_overwritefilesystemstoragemodel
                [*] django_tools_test_app.delete_overwritefilesystemstoragemodel
                [*] django_tools_test_app.view_overwritefilesystemstoragemodel
                [*] django_tools_test_app.add_permissiontestmodel
                [*] django_tools_test_app.change_permissiontestmodel
                [*] django_tools_test_app.delete_permissiontestmodel
                [*] django_tools_test_app.extra_permission
                [*] django_tools_test_app.view_permissiontestmodel
                [*] django_tools_test_app.add_simpleparlermodel
                [*] django_tools_test_app.change_simpleparlermodel
                [*] django_tools_test_app.delete_simpleparlermodel
                [*] django_tools_test_app.view_simpleparlermodel
                [*] easy_thumbnails.add_source
                [*] easy_thumbnails.change_source
                [*] easy_thumbnails.delete_source
                [*] easy_thumbnails.view_source
                [*] easy_thumbnails.add_thumbnail
                [*] easy_thumbnails.change_thumbnail
                [*] easy_thumbnails.delete_thumbnail
                [*] easy_thumbnails.view_thumbnail
                [*] easy_thumbnails.add_thumbnaildimensions
                [*] easy_thumbnails.change_thumbnaildimensions
                [*] easy_thumbnails.delete_thumbnaildimensions
                [*] easy_thumbnails.view_thumbnaildimensions
                [*] filer.add_clipboard
                [*] filer.change_clipboard
                [*] filer.delete_clipboard
                [*] filer.view_clipboard
                [*] filer.add_clipboarditem
                [*] filer.change_clipboarditem
                [*] filer.delete_clipboarditem
                [*] filer.view_clipboarditem
                [*] filer.add_file
                [*] filer.change_file
                [*] filer.delete_file
                [*] filer.view_file
                [*] filer.add_folder
                [*] filer.can_use_directory_listing
                [*] filer.change_folder
                [*] filer.delete_folder
                [*] filer.view_folder
                [*] filer.add_folderpermission
                [*] filer.change_folderpermission
                [*] filer.delete_folderpermission
                [*] filer.view_folderpermission
                [*] filer.add_image
                [*] filer.change_image
                [*] filer.delete_image
                [*] filer.view_image
                [*] filer.add_thumbnailoption
                [*] filer.change_thumbnailoption
                [*] filer.delete_thumbnailoption
                [*] filer.view_thumbnailoption
                [*] flatpages.add_flatpage
                [*] flatpages.change_flatpage
                [*] flatpages.delete_flatpage
                [*] flatpages.view_flatpage
                [ ] sessions.add_session
                [ ] sessions.change_session
                [ ] sessions.delete_session
                [ ] sessions.view_session
                [ ] sites.add_site
                [ ] sites.change_site
                [ ] sites.delete_site
                [ ] sites.view_site
        """,
        )

        assert_pformat_equal(test_user.password, encrypted_password)
Exemplo n.º 18
0
    def test_get_or_create_user_and_group(self):
        superuser = self.UserModel.objects.filter(is_superuser=True, is_active=True)[0]
        encrypted_password = superuser.password

        test_user = get_or_create_user_and_group(
            username="******",
            groupname="testgroup",
            permissions=get_filtered_permissions(
                exclude_app_labels=("admin", "sites"),
                exclude_models=(Session,),
                exclude_codenames=("delete_user", "delete_group"),
                exclude_permissions=((ContentType, "add_contenttype"), (ContentType, "delete_contenttype")),
            ),
            encrypted_password=encrypted_password,
        )

        with StdoutStderrBuffer() as buff:
            call_command("permission_info", "testuser")
        output = buff.get_output()

        output = [line.strip(" \t_") for line in output.splitlines()]
        output = "\n".join([line for line in output if line])
        print(output)

        assert_equal_dedent(
            output,
            """
            Display effective user permissions in the same format as user.has_perm() argument: <appname>.<codename>
            All permissions for user 'testuser':
            is_active    : yes
            is_staff     : yes
            is_superuser : no
            [ ] admin.add_logentry
            [ ] admin.change_logentry
            [ ] admin.delete_logentry
            [*] auth.add_group
            [*] auth.change_group
            [ ] auth.delete_group
            [*] auth.add_permission
            [*] auth.change_permission
            [*] auth.delete_permission
            [*] auth.add_user
            [*] auth.change_user
            [ ] auth.delete_user
            [ ] contenttypes.add_contenttype
            [*] contenttypes.change_contenttype
            [ ] contenttypes.delete_contenttype
            [*] django_tools_test_app.add_limittousergroupstestmodel
            [*] django_tools_test_app.change_limittousergroupstestmodel
            [*] django_tools_test_app.delete_limittousergroupstestmodel
            [*] django_tools_test_app.add_overwritefilesystemstoragemodel
            [*] django_tools_test_app.change_overwritefilesystemstoragemodel
            [*] django_tools_test_app.delete_overwritefilesystemstoragemodel
            [*] django_tools_test_app.add_permissiontestmodel
            [*] django_tools_test_app.change_permissiontestmodel
            [*] django_tools_test_app.delete_permissiontestmodel
            [*] django_tools_test_app.extra_permission
            [*] django_tools_test_app.add_simpleparlermodel
            [*] django_tools_test_app.change_simpleparlermodel
            [*] django_tools_test_app.delete_simpleparlermodel
            [*] easy_thumbnails.add_source
            [*] easy_thumbnails.change_source
            [*] easy_thumbnails.delete_source
            [*] easy_thumbnails.add_thumbnail
            [*] easy_thumbnails.change_thumbnail
            [*] easy_thumbnails.delete_thumbnail
            [*] easy_thumbnails.add_thumbnaildimensions
            [*] easy_thumbnails.change_thumbnaildimensions
            [*] easy_thumbnails.delete_thumbnaildimensions
            [*] filer.add_clipboard
            [*] filer.change_clipboard
            [*] filer.delete_clipboard
            [*] filer.add_clipboarditem
            [*] filer.change_clipboarditem
            [*] filer.delete_clipboarditem
            [*] filer.add_file
            [*] filer.change_file
            [*] filer.delete_file
            [*] filer.add_folder
            [*] filer.can_use_directory_listing
            [*] filer.change_folder
            [*] filer.delete_folder
            [*] filer.add_folderpermission
            [*] filer.change_folderpermission
            [*] filer.delete_folderpermission
            [*] filer.add_image
            [*] filer.change_image
            [*] filer.delete_image
            [*] filer.add_thumbnailoption
            [*] filer.change_thumbnailoption
            [*] filer.delete_thumbnailoption
            [*] flatpages.add_flatpage
            [*] flatpages.change_flatpage
            [*] flatpages.delete_flatpage
            [ ] sessions.add_session
            [ ] sessions.change_session
            [ ] sessions.delete_session
            [ ] sites.add_site
            [ ] sites.change_site
            [ ] sites.delete_site
        """,
        )

        assert_pformat_equal(test_user.password, encrypted_password)