(pgconn, dsn, role)
| 689 | |
| 690 | @pytest.mark.libpq(">= 17") |
| 691 | def test_change_password(pgconn, dsn, role): |
| 692 | user, passwd = role |
| 693 | conninfo = {e.keyword: e.val for e in pq.Conninfo.parse(dsn.encode()) if e.val} |
| 694 | conninfo.update({b"dbname": b"postgres", b"user": user, b"password": passwd}) |
| 695 | # Avoid peer authentication |
| 696 | if b"host" not in conninfo: |
| 697 | conninfo[b"host"] = b"localhost" |
| 698 | conn = pq.PGconn.connect(b" ".join(b"%s='%s'" % item for item in conninfo.items())) |
| 699 | assert conn.status == pq.ConnStatus.OK, conn.error_message |
| 700 | |
| 701 | pgconn.change_password(user, b"psycopg") |
| 702 | conninfo[b"password"] = b"psycopg" |
| 703 | conn = pq.PGconn.connect(b" ".join(b"%s='%s'" % item for item in conninfo.items())) |
| 704 | assert conn.status == pq.ConnStatus.OK, conn.error_message |
| 705 | |
| 706 | |
| 707 | @pytest.mark.libpq(">= 10") |
nothing calls this directly
no test coverage detected