123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- 'use strict';
- const chai = require('chai');
- const expect = chai.expect;
- const Support = require('../../support');
- const dialect = Support.getTestDialect();
- const env = process.env;
- const { Sequelize } = require('@sequelize/core');
- describe('[MARIADB Specific] Connection Manager', () => {
- if (dialect !== 'mariadb') {
- return;
- }
- it('has existing init SQL', async () => {
- const sequelize = Support.createSingleTestSequelizeInstance({
- initSql: `SET @myUserVariable='myValue'`,
- });
- const res = await sequelize.query('SELECT @myUserVariable');
- expect(res[0]).to.deep.equal([{ '@myUserVariable': 'myValue' }]);
- sequelize.close();
- });
- it('has existing init SQL array', async () => {
- const sequelize = Support.createSingleTestSequelizeInstance({
- initSql: [`SET @myUserVariable1='myValue'`, `SET @myUserVariable2='myValue'`],
- });
- const res = await sequelize.query('SELECT @myUserVariable1, @myUserVariable2');
- expect(res[0]).to.deep.equal([
- { '@myUserVariable1': 'myValue', '@myUserVariable2': 'myValue' },
- ]);
- sequelize.close();
- });
- describe('Errors', () => {
- const testHost =
- env.MARIADB_PORT_3306_TCP_ADDR || env.SEQ_MARIADB_HOST || env.SEQ_HOST || '127.0.0.1';
- it('Connection timeout', async () => {
- const sequelize = Support.createSingleTestSequelizeInstance({
- host: testHost,
- port: 65_535,
- connectTimeout: 500,
- });
- await expect(sequelize.pool.acquire()).to.have.been.rejectedWith(
- Sequelize.SequelizeConnectionError,
- );
- await sequelize.close();
- });
- it('ECONNREFUSED', async () => {
- const sequelize = Support.createSingleTestSequelizeInstance({ host: testHost, port: 65_535 });
- await expect(sequelize.pool.acquire()).to.have.been.rejectedWith(
- Sequelize.ConnectionRefusedError,
- );
- await sequelize.close();
- });
- it('ENOTFOUND', async () => {
- const sequelize = Support.createSingleTestSequelizeInstance({
- host: 'http://wowow.example.com',
- });
- await expect(sequelize.pool.acquire()).to.have.been.rejectedWith(Sequelize.HostNotFoundError);
- await sequelize.close();
- });
- it('EHOSTUNREACH', async () => {
- const sequelize = Support.createSingleTestSequelizeInstance({ host: '255.255.255.255' });
- await expect(sequelize.pool.acquire()).to.have.been.rejectedWith(
- Sequelize.HostNotReachableError,
- );
- await sequelize.close();
- });
- it('ER_ACCESS_DENIED_ERROR | ELOGIN', async () => {
- const sequelize = Support.createSingleTestSequelizeInstance({
- database: 'db',
- user: 'was',
- password: 'ddsd',
- });
- await expect(sequelize.pool.acquire()).to.have.been.rejectedWith(Sequelize.AccessDeniedError);
- await sequelize.close();
- });
- });
- });
|