我正在尝试使python testcontainer与棉花糖一起运行以运行测试,但是我似乎无法使其工作。运行测试时,总是会得到连接被拒绝。我已经创建了一个sqlalchemy引擎并对其进行了测试,它可以正常工作,但是当将testcontainer连接字符串作为棉花糖配置传递时,它根本不起作用。以下是我的基础测试课程。
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
当我使用sqlite作为连接字符串时,我可以使它工作。
channel.update(new_channel_data_object_to_be_merged, optional_update_message)
任何帮助将不胜感激。
保罗
答案 0 :(得分:0)
我决定使用testcontainers.compose,连接字符串似乎可以正常工作。
class BaseTestCase(TestCase):
base_url = '/api/v1'
def create_app(self):
self.compose = testcontainers.compose.DockerCompose(".")
self.compose.start()
time.sleep(10)
class Config:
PORT = 3306
SQLALCHEMY_TRACK_MODIFICATIONS = False
FLASK_ENV = 'local'
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:password@0.0.0.0:3306/test-db'
LOG_LEVEL = 'DEBUG'
logging.getLogger('connexion.operation').setLevel('ERROR')
connex_app = connexion.App(__name__, specification_dir='../../api/')
connex_app.app.json_encoder = JSONEncoder
connex_app.add_api('static/openapi.yaml')
app = connex_app.app
app.config.from_object(Config)
bcrypt.init_app(app)
db.init_app(app)
ma.init_app(app)
print("Finished setting up test")
return app