(server, db_name, role_name="test_role")
| 500 | |
| 501 | |
| 502 | def create_role(server, db_name, role_name="test_role"): |
| 503 | try: |
| 504 | connection = get_db_connection( |
| 505 | db_name, |
| 506 | server['username'], |
| 507 | server['db_password'], |
| 508 | server['host'], |
| 509 | server['port'], |
| 510 | server['sslmode'] |
| 511 | ) |
| 512 | old_isolation_level = connection.isolation_level |
| 513 | set_isolation_level(connection, 0) |
| 514 | pg_cursor = connection.cursor() |
| 515 | sql_query = ''' |
| 516 | CREATE USER "%s" WITH |
| 517 | LOGIN |
| 518 | NOSUPERUSER |
| 519 | INHERIT |
| 520 | CREATEDB |
| 521 | NOCREATEROLE |
| 522 | ''' % (role_name) |
| 523 | if get_server_version(connection) > 90100: |
| 524 | sql_query += '\nNOREPLICATION' |
| 525 | |
| 526 | pg_cursor.execute( |
| 527 | sql_query |
| 528 | ) |
| 529 | set_isolation_level(connection, old_isolation_level) |
| 530 | connection.commit() |
| 531 | |
| 532 | except Exception: |
| 533 | traceback.print_exc(file=sys.stderr) |
| 534 | |
| 535 | |
| 536 | def drop_role(server, db_name, role_name="test_role"): |
nothing calls this directly
no test coverage detected