-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathpsycopg2_test.py
57 lines (46 loc) · 1.54 KB
/
psycopg2_test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
from testcontainers.postgres import PostgresContainer
from typing_extensions import override
from amazon.base.contract_test_base import NETWORK_NAME
from amazon.base.database_contract_test_base import (
DATABASE_HOST,
DATABASE_NAME,
DATABASE_PASSWORD,
DATABASE_USER,
DatabaseContractTestBase,
)
class Psycopg2Test(DatabaseContractTestBase):
@override
@classmethod
def set_up_dependency_container(cls) -> None:
cls.container = (
PostgresContainer(user=DATABASE_USER, password=DATABASE_PASSWORD, dbname=DATABASE_NAME)
.with_kwargs(network=NETWORK_NAME)
.with_name(DATABASE_HOST)
)
cls.container.start()
@override
@classmethod
def tear_down_dependency_container(cls) -> None:
cls.container.stop()
@override
@staticmethod
def get_remote_service() -> str:
return "postgresql"
@override
@staticmethod
def get_database_port() -> int:
return 5432
@override
@staticmethod
def get_application_image_name() -> str:
return "aws-application-signals-tests-psycopg2-app"
def test_select_succeeds(self) -> None:
self.assert_select_succeeds()
def test_drop_table_succeeds(self) -> None:
self.assert_drop_table_succeeds()
def test_create_database_succeeds(self) -> None:
self.assert_create_database_succeeds()
def test_fault(self) -> None:
self.assert_fault()