import univention.admin
import univention.admin.modules
import univention.admin.objects
import univention.admin.config
import univention.admin.uldap

co = univention.admin.config.config()
lo, position = univention.admin.uldap.getAdminConnection()
univention.admin.modules.update()
uu = univention.admin.modules.get("users/user")
gg = univention.admin.modules.get("groups/group")
groups = []


for i in range(1, 16):

        filter = "cn=testgroup%s" % i
        dn = filter + "," + position.getDn()
        groups.append(dn)
        if not lo.search(base=position.getDn(), scope='sub', filter=filter):
                object = gg.object(co, lo, position)
                object.open()
                object["name"] = "testgroup%s" % i
                print object.create()

for i in range(1, 501):

        filter = "uid=testuser%s" % i
        if not lo.search(base=position.getDn(), scope='sub', filter=filter):
                object = uu.object(co, lo, position)
                object.open()
                object["username"] = "testuser%s" % i
                object["lastname"] = "user %s" % i
                object["password"] = "univention"
                object["groups"] = groups
                print object.create()
