Test data generation¶
Create users¶
To create a CSV file for the HTTP-API import of 10 students in two classes in OU $OU
with email addresses run:
$ ROLE=student
$ OU=SchuleEins
$ /usr/share/ucs-school-import/scripts/ucs-school-testuser-import \
--httpapi \
--$ROLE 10 \
--classes 2 \
--create-email-addresses \
--csvfile test-http-import.csv \
$OU
Omit the --csvfile
argument to get a file with a timestamp.
To create CSV files for other roles or with different parameters run, check the help page:
$ /usr/share/ucs-school-import/scripts/ucs-school-testuser-import --help
The contents of the file should look similar to this:
$ cat test-http-import.csv
"Schule","Vorname","Nachname","Klassen","Beschreibung","Telefon","EMail"
"SchuleEins","Cia","Rothenbühler","1a","A student.","+46-728-963204","ciam.rothenbuehlerm@uni.dtr"
"SchuleEins","Sergia","Groppel","1b","A student.","+80-043-223750","sergiam.groppelm@uni.dtr"
[..]
A CSV file created by ucs-school-user-import
with the --httpapi
argument is designed to work with the configuration file ucs-school-testuser-http-import.json
.
As such, the CSV file can be imported on the command line with:
$ /usr/share/ucs-school-import/scripts/ucs-school-user-import \
--conffile /usr/share/ucs-school-import/configs/ucs-school-testuser-http-import.json \
--user_role $ROLE \
--school $OU \
--infile test-http-import.csv \
--sourceUID "$OU-$ROLE" \
--verbose
The $OU
in --sourceUID "$OU-$ROLE"
should be lowercase, to make the import job as similar as possible to how it would be started by the UMC module (there will still be minor differences).
The ucs-school-testuser-import
script will print a help message at the end, with the above instructions that can be copied and pasted to immediately start an import from the command line.
Delete users¶
To delete the users imported with the previous command, create a CSV file with just the header line, but without user lines:
$ head -1 test-http-import.csv > delete-all-users.csv
When running the import, make sure to specify the sourceUID
correctly. The following will delete all students of SchuleEins
that were imported using the HTTP-API configuration file:
$ OU=SchuleEins
$ ROLE=student
$ /usr/share/ucs-school-import/scripts/ucs-school-user-import \
--conffile /usr/share/ucs-school-import/configs/user_import_http-api.json \
--user_role $ROLE \
--school $OU \
--infile delete-all-users.csv \
--sourceUID "$OU-$ROLE" \
--verbose
Now that you have a CSV file and a matching configuration file (in /var/lib/ucs-school-import/configs/user_import.json
or/and /var/lib/ucs-school-import/configs/$OU.json
) that can be used with it, you can start an import using the HTTP-API.