root / pykota / trunk / tests / filldb.py @ 2706

Revision 2706, 3.4 kB (checked in by jerome, 18 years ago)

pkusers now mostly works. Removing an user from a group with
LDAP is not yet done though. Also no test was done with
LDAP yet.
filldb now really creates users (it uses pkusers instead
of edpykota)

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
RevLine 
[2682]1#! /usr/bin/env python
2# -*- coding: ISO-8859-15 -*-
3
4# $Id$
5
6
7import sys
8import os
9import time
10
[2702]11def showTiming(number, before) :
12    """Displays timing information."""
13    elapsed = time.time() - before
14    persecond = int(float(number) / elapsed)
15    sys.stdout.write("\nTime elapsed : %.2f seconds (%i entries per second)\n\n" % (elapsed, persecond))
16   
[2682]17def createBillingCodes(number) :
18    """Creates a number of billing codes."""
[2683]19    sys.stdout.write("Adding %i billing codes...\n" % number)
20    billingcodes = [ "test-billingcode-%05i" % i for i in range(number) ]
21    argsfile = open("arguments.list", "w")
22    argsfile.write('--add\n--reset\n--description\n"a billing code"\n')
23    for bname in billingcodes :
24        argsfile.write("%s\n" % bname)
25    argsfile.close()   
26    before = time.time()
27    os.system('pkbcodes --arguments arguments.list') 
[2702]28    showTiming(number, before)
[2682]29
[2702]30def deleteBillingCodes(number) :
[2682]31    """Deletes all test billing codes."""
32    sys.stdout.write("Deleting billing codes...\n")
33    before = time.time()
34    os.system('pkbcodes --delete "test-billingcode-*"') 
[2702]35    showTiming(number, before)
[2682]36   
37def createPrinters(number) :
38    """Creates a number of printers."""
[2683]39    sys.stdout.write("Adding %i printers...\n" % number)
40    printernames = [ "test-printer-%05i" % i for i in range(number) ]
41    argsfile = open("arguments.list", "w")
42    argsfile.write('--add\n--charge\n0.05\n--maxjobsize\n5\n--passthrough\n--description\n"a printer"\n')
43    for pname in printernames :
44        argsfile.write("%s\n" % pname)
45    argsfile.close()   
46    before = time.time()
47    os.system('pkprinters --arguments arguments.list') 
[2702]48    showTiming(number, before)
[2682]49
[2702]50def deletePrinters(number) :
[2682]51    """Deletes all test printers."""
52    sys.stdout.write("Deleting printers...\n")
53    before = time.time()
54    os.system('pkprinters --delete "test-printer-*"') 
[2702]55    showTiming(number, before)
[2682]56   
57def createUsers(number) :
58    """Creates a number of users."""
[2683]59    sys.stdout.write("Adding %i users...\n" % number)
60    usernames = [ "test-user-%05i" % i for i in range(number) ]
61    argsfile = open("arguments.list", "w")
62    argsfile.write('--add\n--limitby\nbalance\n--balance\n50.0\n')
63    for uname in usernames :
64        argsfile.write("%s\n" % uname)
65    argsfile.close()   
66    before = time.time()
[2706]67    os.system('pkusers --arguments arguments.list') 
[2702]68    showTiming(number, before)
[2682]69
[2702]70def deleteUsers(number) :
[2682]71    """Deletes all test users."""
72    sys.stdout.write("Deleting users...\n")
73    before = time.time()
[2706]74    os.system('pkusers --delete "test-user-*"') 
[2702]75    showTiming(number, before)
[2682]76   
77if __name__ == "__main__" :   
78    if len(sys.argv) == 1 :
79        sys.stderr.write("usage :  %s  NbBillingCodes  NbPrinters  NbUsers\n" % sys.argv[0])
80    else :   
[2683]81        nbbillingcodes = int(sys.argv[1])
82        nbprinters = int(sys.argv[2])
83        nbusers = int(sys.argv[3])
84        if nbbillingcodes :
85            createBillingCodes(nbbillingcodes)
86        if nbprinters :
87            createPrinters(nbprinters)
88        if nbusers :   
89            createUsers(nbusers)
90        if nbbillingcodes :   
[2702]91            deleteBillingCodes(nbbillingcodes)
[2683]92        if nbusers :   
[2702]93            deleteUsers(nbusers)           # NB : either this one or the one below
[2683]94        if nbprinters :   
[2702]95            deletePrinters(nbprinters)        # also delete user print quota entries.
[2682]96        os.remove("arguments.list")
97       
Note: See TracBrowser for help on using the browser.