* chore: update to ruby 3.1.3
* chore: ping docker version to alpine3.16 for nodev16.x
Starting with Node 17, nodejs switched to OpenSSL3. The docker builds
are installing node18.xx with alpine-3.1.3.
From Node.js 17's announcement post:
If you hit an ERR_OSSL_EVP_UNSUPPORTED error in your application
with Node.js 17, it’s likely that your application or a module you’re
using is attempting to use an algorithm or key size which is no longer
allowed by default with OpenSSL 3.0. A new command-line option,
--openssl-legacy-provider, has been added to revert to the legacy
provider as a temporary workaround for these tightened restrictions.
Looks like a webpack issue. This is fixed in webpacl 5+ and we are on
webpack4 at the moment.
Solutions
Upgrade webpack.
Pin nodejs version to be 16.x.x
Use --openssl-legacy-provider as a workaround.
Pin docker version to alpine3.16 branch to have node16.x by default
ref:
https://github.com/chatwoot/chatwoot/pull/5555#issuecomment-1379778532
* chore: update webmock
* chore: fix ruby gem path in dockerfile
* chore: switch to node16 in circleci
* chore: update ruby version in linux installer script
* chore: update ruby version in linux installer script
* chore: fix circleci
* chore: fix circleci
* feat: upgrade node version to 16.x in linux installer
* chore: update systemd files
Co-authored-by: Sojan Jose <sojan@chatwoot.com>
37 lines
1.3 KiB
Ruby
37 lines
1.3 KiB
Ruby
require 'rails_helper'
|
|
|
|
RSpec.describe Webhooks::TelegramEventsJob, type: :job do
|
|
subject(:job) { described_class.perform_later(params) }
|
|
|
|
let!(:telegram_channel) { create(:channel_telegram) }
|
|
let!(:params) { { :bot_token => telegram_channel.bot_token, 'telegram' => { test: 'test' } } }
|
|
|
|
it 'enqueues the job' do
|
|
expect { job }.to have_enqueued_job(described_class)
|
|
.with(params)
|
|
.on_queue('default')
|
|
end
|
|
|
|
context 'when invalid params' do
|
|
it 'returns nil when no bot_token' do
|
|
expect(described_class.perform_now({})).to be_nil
|
|
end
|
|
|
|
it 'returns nil when invalid bot_token' do
|
|
expect(described_class.perform_now({ bot_token: 'invalid' })).to be_nil
|
|
end
|
|
end
|
|
|
|
context 'when valid params' do
|
|
it 'calls Telegram::IncomingMessageService' do
|
|
process_service = double
|
|
allow(Telegram::IncomingMessageService).to receive(:new).and_return(process_service)
|
|
allow(process_service).to receive(:perform)
|
|
expect(Telegram::IncomingMessageService).to receive(:new).with(inbox: telegram_channel.inbox,
|
|
params: params['telegram'].with_indifferent_access)
|
|
expect(process_service).to receive(:perform)
|
|
described_class.perform_now(params)
|
|
end
|
|
end
|
|
end
|