Browse Source

Merge "Prepare for using standard python tests"

Jenkins 2 years ago
parent
commit
fa98f76e50
1 changed files with 57 additions and 0 deletions
  1. 57
    0
      tools/test-setup.sh

+ 57
- 0
tools/test-setup.sh View File

@@ -0,0 +1,57 @@
1
+#!/bin/bash -xe
2
+
3
+# This script will be run by OpenStack CI before unit tests are run,
4
+# it sets up the test system as needed.
5
+# Developers should setup their test systems in a similar way.
6
+
7
+# This setup needs to be run as a user that can run sudo.
8
+
9
+# The root password for the MySQL database; pass it in via
10
+# MYSQL_ROOT_PW.
11
+DB_ROOT_PW=${MYSQL_ROOT_PW:-insecure_slave}
12
+
13
+# This user and its password are used by the tests, if you change it,
14
+# your tests might fail.
15
+DB_USER=openstack_citest
16
+DB_PW=openstack_citest
17
+
18
+sudo -H mysqladmin -u root password $DB_ROOT_PW
19
+
20
+# It's best practice to remove anonymous users from the database.  If
21
+# a anonymous user exists, then it matches first for connections and
22
+# other connections from that host will not work.
23
+sudo -H mysql -u root -p$DB_ROOT_PW -h localhost -e "
24
+    DELETE FROM mysql.user WHERE User='';
25
+    FLUSH PRIVILEGES;
26
+    GRANT ALL PRIVILEGES ON *.*
27
+        TO '$DB_USER'@'%' identified by '$DB_PW' WITH GRANT OPTION;"
28
+
29
+# Now create our database.
30
+mysql -u $DB_USER -p$DB_PW -h 127.0.0.1 -e "
31
+    SET default_storage_engine=MYISAM;
32
+    DROP DATABASE IF EXISTS openstack_citest;
33
+    CREATE DATABASE openstack_citest CHARACTER SET utf8;"
34
+
35
+# Same for PostgreSQL
36
+# The root password for the PostgreSQL database; pass it in via
37
+# POSTGRES_ROOT_PW.
38
+DB_ROOT_PW=${POSTGRES_ROOT_PW:-insecure_slave}
39
+
40
+# Setup user
41
+root_roles=$(sudo -H -u postgres psql -t -c "
42
+   SELECT 'HERE' from pg_roles where rolname='$DB_USER'")
43
+if [[ ${root_roles} == *HERE ]];then
44
+    sudo -H -u postgres psql -c "ALTER ROLE $DB_USER WITH SUPERUSER LOGIN PASSWORD '$DB_PW'"
45
+else
46
+    sudo -H -u postgres psql -c "CREATE ROLE $DB_USER WITH SUPERUSER LOGIN PASSWORD '$DB_PW'"
47
+fi
48
+
49
+# Store password for tests
50
+cat << EOF > $HOME/.pgpass
51
+*:*:*:$DB_USER:$DB_PW
52
+EOF
53
+chmod 0600 $HOME/.pgpass
54
+
55
+# Now create our database
56
+psql -h 127.0.0.1 -U $DB_USER -d template1 -c "DROP DATABASE IF EXISTS openstack_citest"
57
+createdb -h 127.0.0.1 -U $DB_USER -l C -T template0 -E utf8 openstack_citest

Loading…
Cancel
Save