def test_migrate(self):
        migrator = DirectoryWorkflowMigrator(destination_directory=self.dst_dir, source_directory=self.src_dir)
        directory = migrator.migrate()

        self.assertEqual(directory.account_creation_policy.verification_email_status, self.src_dir.account_creation_policy.verification_email_status)
        self.assertEqual(directory.account_creation_policy.verification_success_email_status, self.src_dir.account_creation_policy.verification_success_email_status)
        self.assertEqual(directory.account_creation_policy.welcome_email_status, self.src_dir.account_creation_policy.welcome_email_status)

        self.assertEqual(directory.password_policy.reset_email_status, self.src_dir.password_policy.reset_email_status)
        self.assertEqual(directory.password_policy.reset_success_email_status, self.src_dir.password_policy.reset_success_email_status)
        self.assertEqual(directory.password_policy.reset_token_ttl, self.src_dir.password_policy.reset_token_ttl)

        self.assertEqual(directory.account_creation_policy.verification_email_templates[0].description, self.src_verification_email_template.description)
        self.assertEqual(directory.account_creation_policy.verification_email_templates[0].from_email_address, self.src_verification_email_template.from_email_address)
        self.assertEqual(directory.account_creation_policy.verification_email_templates[0].from_name, self.src_verification_email_template.from_name)
        self.assertEqual(directory.account_creation_policy.verification_email_templates[0].html_body, self.src_verification_email_template.html_body)
        self.assertEqual(directory.account_creation_policy.verification_email_templates[0].mime_type, self.src_verification_email_template.mime_type)
        self.assertEqual(directory.account_creation_policy.verification_email_templates[0].name, self.src_verification_email_template.name)
        self.assertEqual(directory.account_creation_policy.verification_email_templates[0].subject, self.src_verification_email_template.subject)
        self.assertEqual(directory.account_creation_policy.verification_email_templates[0].text_body, self.src_verification_email_template.text_body)

        self.assertEqual(directory.account_creation_policy.verification_success_email_templates[0].description, self.src_verification_success_email_template.description)
        self.assertEqual(directory.account_creation_policy.verification_success_email_templates[0].from_email_address, self.src_verification_success_email_template.from_email_address)
        self.assertEqual(directory.account_creation_policy.verification_success_email_templates[0].from_name, self.src_verification_success_email_template.from_name)
        self.assertEqual(directory.account_creation_policy.verification_success_email_templates[0].html_body, self.src_verification_success_email_template.html_body)
        self.assertEqual(directory.account_creation_policy.verification_success_email_templates[0].mime_type, self.src_verification_success_email_template.mime_type)
        self.assertEqual(directory.account_creation_policy.verification_success_email_templates[0].name, self.src_verification_success_email_template.name)
        self.assertEqual(directory.account_creation_policy.verification_success_email_templates[0].subject, self.src_verification_success_email_template.subject)
        self.assertEqual(directory.account_creation_policy.verification_success_email_templates[0].text_body, self.src_verification_success_email_template.text_body)

        self.assertEqual(directory.account_creation_policy.welcome_email_templates[0].description, self.src_welcome_email_template.description)
        self.assertEqual(directory.account_creation_policy.welcome_email_templates[0].from_email_address, self.src_welcome_email_template.from_email_address)
        self.assertEqual(directory.account_creation_policy.welcome_email_templates[0].from_name, self.src_welcome_email_template.from_name)
        self.assertEqual(directory.account_creation_policy.welcome_email_templates[0].html_body, self.src_welcome_email_template.html_body)
        self.assertEqual(directory.account_creation_policy.welcome_email_templates[0].mime_type, self.src_welcome_email_template.mime_type)
        self.assertEqual(directory.account_creation_policy.welcome_email_templates[0].name, self.src_welcome_email_template.name)
        self.assertEqual(directory.account_creation_policy.welcome_email_templates[0].subject, self.src_welcome_email_template.subject)
        self.assertEqual(directory.account_creation_policy.welcome_email_templates[0].text_body, self.src_welcome_email_template.text_body)

        self.assertEqual(directory.password_policy.reset_email_templates[0].description, self.src_reset_email_template.description)
        self.assertEqual(directory.password_policy.reset_email_templates[0].from_email_address, self.src_reset_email_template.from_email_address)
        self.assertEqual(directory.password_policy.reset_email_templates[0].from_name, self.src_reset_email_template.from_name)
        self.assertEqual(directory.password_policy.reset_email_templates[0].html_body, self.src_reset_email_template.html_body)
        self.assertEqual(directory.password_policy.reset_email_templates[0].mime_type, self.src_reset_email_template.mime_type)
        self.assertEqual(directory.password_policy.reset_email_templates[0].name, self.src_reset_email_template.name)
        self.assertEqual(directory.password_policy.reset_email_templates[0].subject, self.src_reset_email_template.subject)
        self.assertEqual(directory.password_policy.reset_email_templates[0].text_body, self.src_reset_email_template.text_body)

        self.assertEqual(directory.password_policy.reset_success_email_templates[0].description, self.src_reset_success_email_template.description)
        self.assertEqual(directory.password_policy.reset_success_email_templates[0].from_email_address, self.src_reset_success_email_template.from_email_address)
        self.assertEqual(directory.password_policy.reset_success_email_templates[0].from_name, self.src_reset_success_email_template.from_name)
        self.assertEqual(directory.password_policy.reset_success_email_templates[0].html_body, self.src_reset_success_email_template.html_body)
        self.assertEqual(directory.password_policy.reset_success_email_templates[0].mime_type, self.src_reset_success_email_template.mime_type)
        self.assertEqual(directory.password_policy.reset_success_email_templates[0].name, self.src_reset_success_email_template.name)
        self.assertEqual(directory.password_policy.reset_success_email_templates[0].subject, self.src_reset_success_email_template.subject)
        self.assertEqual(directory.password_policy.reset_success_email_templates[0].text_body, self.src_reset_success_email_template.text_body)
    def test_get_reset_success_email_template(self):
        migrator = DirectoryWorkflowMigrator(destination_directory=self.dst_dir, source_directory=self.src_dir)
        template = migrator.get_reset_success_email_template()

        self.assertEqual(template.description, self.src_reset_success_email_template.description)
        self.assertEqual(template.from_email_address, self.src_reset_success_email_template.from_email_address)
        self.assertEqual(template.from_name, self.src_reset_success_email_template.from_name)
        self.assertEqual(template.html_body, self.src_reset_success_email_template.html_body)
        self.assertEqual(template.mime_type, self.src_reset_success_email_template.mime_type)
        self.assertEqual(template.name, self.src_reset_success_email_template.name)
        self.assertEqual(template.subject, self.src_reset_success_email_template.subject)
        self.assertEqual(template.text_body, self.src_reset_success_email_template.text_body)