| 558 | sock.close() |
| 559 | |
| 560 | def test_ssl_connect(self): |
| 561 | dummy_ssl_context = mock.Mock(options=0, verify_flags=0) |
| 562 | with mock.patch( |
| 563 | "pymysql.connections.ssl.create_default_context", |
| 564 | new=mock.Mock(return_value=dummy_ssl_context), |
| 565 | ) as create_default_context: |
| 566 | pymysql.connect( |
| 567 | ssl={ |
| 568 | "ca": "ca", |
| 569 | "cert": "cert", |
| 570 | "key": "key", |
| 571 | "cipher": "cipher", |
| 572 | }, |
| 573 | defer_connect=True, |
| 574 | ) |
| 575 | assert create_default_context.called |
| 576 | assert dummy_ssl_context.check_hostname |
| 577 | assert dummy_ssl_context.verify_mode == ssl.CERT_REQUIRED |
| 578 | dummy_ssl_context.load_cert_chain.assert_called_with( |
| 579 | "cert", |
| 580 | keyfile="key", |
| 581 | password=None, |
| 582 | ) |
| 583 | dummy_ssl_context.set_ciphers.assert_called_with("cipher") |
| 584 | |
| 585 | dummy_ssl_context = mock.Mock(options=0, verify_flags=0) |
| 586 | with mock.patch( |
| 587 | "pymysql.connections.ssl.create_default_context", |
| 588 | new=mock.Mock(return_value=dummy_ssl_context), |
| 589 | ) as create_default_context: |
| 590 | pymysql.connect( |
| 591 | ssl={ |
| 592 | "ca": "ca", |
| 593 | "cert": "cert", |
| 594 | "key": "key", |
| 595 | }, |
| 596 | defer_connect=True, |
| 597 | ) |
| 598 | assert create_default_context.called |
| 599 | assert dummy_ssl_context.check_hostname |
| 600 | assert dummy_ssl_context.verify_mode == ssl.CERT_REQUIRED |
| 601 | dummy_ssl_context.load_cert_chain.assert_called_with( |
| 602 | "cert", |
| 603 | keyfile="key", |
| 604 | password=None, |
| 605 | ) |
| 606 | dummy_ssl_context.set_ciphers.assert_not_called() |
| 607 | |
| 608 | dummy_ssl_context = mock.Mock(options=0, verify_flags=0) |
| 609 | with mock.patch( |
| 610 | "pymysql.connections.ssl.create_default_context", |
| 611 | new=mock.Mock(return_value=dummy_ssl_context), |
| 612 | ) as create_default_context: |
| 613 | pymysql.connect( |
| 614 | ssl={ |
| 615 | "ca": "ca", |
| 616 | "cert": "cert", |
| 617 | "key": "key", |