def test_create(self): gcount = Group.select().count() perms = ['create_query', 'edit_query', 'view_query'] runner = CliRunner() result = runner.invoke( create_group, ['test', '--permissions', ','.join(perms)]) print result.output self.assertFalse(result.exception) self.assertEqual(result.exit_code, 0) self.assertEqual(Group.select().count(), gcount + 1) g = Group.select().order_by(Group.id.desc()).first() self.assertEqual(g.org, self.factory.org) self.assertEqual(g.permissions, perms)
def test_change_permissions(self): g = self.factory.create_group(permissions=['list_dashboards']) g_id = g.id perms = ['create_query', 'edit_query', 'view_query'] runner = CliRunner() result = runner.invoke( change_permissions, [str(g_id), '--permissions', ','.join(perms)]) self.assertFalse(result.exception) self.assertEqual(result.exit_code, 0) g = Group.select().where(Group.id == g_id).first() self.assertEqual(g.permissions, perms)
migrate(migrator.add_column('groups', 'type', Group.type)) for name in ['default', 'admin']: group = Group.get(Group.name == name) group.type = Group.BUILTIN_GROUP group.save() # Create association table between data sources and groups DataSourceGroup.create_table() # add default to existing data source: default_org = Organization.get_by_id(1) default_group = Group.get(Group.name == "default") for ds in DataSource.all(default_org): DataSourceGroup.create(data_source=ds, group=default_group) # change the groups list on a user object to be an ids list migrate(migrator.rename_column('users', 'groups', 'old_groups'), ) migrate(migrator.add_column('users', 'groups', User.groups)) group_map = dict(map(lambda g: (g.name, g.id), Group.select())) user_map = defaultdict(list) for user in User.select(User, peewee.SQL('old_groups')): group_ids = [group_map[group] for group in user.old_groups] user.update_instance(groups=group_ids) migrate(migrator.drop_column('users', 'old_groups')) db.close_db(None)
group = Group.get(Group.name==name) group.type = Group.BUILTIN_GROUP group.save() # Create association table between data sources and groups DataSourceGroup.create_table() # add default to existing data source: default_org = Organization.get_by_id(1) default_group = Group.get(Group.name=="default") for ds in DataSource.all(default_org): DataSourceGroup.create(data_source=ds, group=default_group) # change the groups list on a user object to be an ids list migrate( migrator.rename_column('users', 'groups', 'old_groups'), ) migrate(migrator.add_column('users', 'groups', User.groups)) group_map = dict(map(lambda g: (g.name, g.id), Group.select())) user_map = defaultdict(list) for user in User.select(User, peewee.SQL('old_groups')): group_ids = [group_map[group] for group in user.old_groups] user.update_instance(groups=group_ids) migrate(migrator.drop_column('users', 'old_groups')) db.close_db(None)