def execute(self, principal_mapping, mode):
     migrator = DictstorageMigrator(self.portal,
                                    principal_mapping,
                                    mode=mode,
                                    strict=True)
     results = migrator.migrate()
     return results
    def test_raises_if_strict_and_user_doesnt_exist(self):
        entry = DictStorageModel(key='foo-old.user', value='{}')
        self.session.add(entry)
        migrator = DictstorageMigrator(self.portal,
                                       {'old.user': '******'}, 'move')

        with self.assertRaises(UserMigrationException):
            migrator.migrate()
    def test_doesnt_raise_if_not_strict_and_user_doesnt_exist(self):
        entry = DictStorageModel(key='bar-old.user', value='{}')
        self.session.add(entry)
        migrator = DictstorageMigrator(
            self.portal, {'old.user': '******'}, 'move', strict=False)

        migrator.migrate()
        self.assertEquals('bar-doesnt.exist', entry.key)
    def test_raises_if_strict_and_user_doesnt_exist(self):
        entry = DictStorageModel(key='foo-old.user', value='{}')
        self.session.add(entry)
        migrator = DictstorageMigrator(
            self.portal, {'old.user': '******'}, 'move')

        with self.assertRaises(UserMigrationException):
            migrator.migrate()
    def test_returns_proper_results_for_moving_keys(self):
        entry = DictStorageModel(key='baz-old.user', value='{}')
        self.session.add(entry)
        migrator = DictstorageMigrator(self.portal, {'old.user': '******'},
                                       'move',
                                       strict=False)

        results = migrator.migrate()
        self.assertIn(('baz-old.user', 'old.user', 'new.user'),
                      results['keys']['moved'])
    def test_doesnt_raise_if_not_strict_and_user_doesnt_exist(self):
        entry = DictStorageModel(key='bar-old.user', value='{}')
        self.session.add(entry)
        migrator = DictstorageMigrator(self.portal,
                                       {'old.user': '******'},
                                       'move',
                                       strict=False)

        migrator.migrate()
        self.assertEquals('bar-doesnt.exist', entry.key)
    def test_keys_get_migrated_for_users_with_dash_in_username(self):
        entry = DictStorageModel(
            key='ftw.tabbedview-foo-tabbedview_view-bar-old-user', value='{}')
        self.session.add(entry)

        migrator = DictstorageMigrator(self.portal, {'old-user': '******'},
                                       'move')
        migrator.migrate()

        self.assertEquals('ftw.tabbedview-foo-tabbedview_view-bar-new-user',
                          entry.key)
    def test_returns_proper_results_for_moving_keys(self):
        entry = DictStorageModel(key='baz-old.user', value='{}')
        self.session.add(entry)
        migrator = DictstorageMigrator(
            self.portal, {'old.user': '******'}, 'move', strict=False)

        results = migrator.migrate()
        self.assertIn(
            ('baz-old.user', 'old.user', 'new.user'),
            results['keys']['moved']
        )
    def test_keys_get_migrated_for_users_with_dash_in_username(self):
        entry = DictStorageModel(
            key='ftw.tabbedview-foo-tabbedview_view-bar-old-user',
            value='{}')
        self.session.add(entry)

        migrator = DictstorageMigrator(
            self.portal, {'old-user': '******'}, 'move')
        migrator.migrate()

        self.assertEquals('ftw.tabbedview-foo-tabbedview_view-bar-new-user',
                          entry.key)
 def execute(self, principal_mapping, mode):
     migrator = DictstorageMigrator(self.portal, principal_mapping,
                                    mode=mode, strict=True)
     results = migrator.migrate()
     return results